/* cookies.css — banner de consentimiento RGPD (autocontenido, tema oscuro de marca). */

.vl-cookie{
  position:fixed;
  left:1rem; right:1rem; bottom:1rem;
  z-index:9999;
  display:flex; justify-content:flex-start;
  pointer-events:none;             /* el wrapper no captura; solo los banners */
}
.vl-cookie[hidden]{ display:none; }

.vl-cookie__banner{
  pointer-events:auto;
  width:100%;
  max-width:30rem;
  margin:0;
  padding:1.25rem 1.35rem;
  color:#e8eef7;
  background:rgba(8,13,26,.96);
  border:1px solid rgba(37,246,183,.22);
  border-radius:16px;
  box-shadow:0 18px 50px -12px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.02);
  backdrop-filter:blur(10px);
  animation:vl-ck-in .45s cubic-bezier(.16,1,.3,1) both;
}
.vl-cookie__banner[hidden]{ display:none; }
/* el panel de preferencias ocupa algo más */
.vl-cookie__banner[data-layer="prefs"]{ max-width:32rem; }

@keyframes vl-ck-in{ from{ opacity:0; transform:translateY(14px) scale(.98); } to{ opacity:1; transform:none; } }

.vl-cookie__title{
  margin:0 0 .4rem;
  font-family:var(--brand-font-title, "Sansation", sans-serif);
  font-size:1.05rem;
  font-weight:600;
  color:#fff;
  letter-spacing:.01em;
}
.vl-cookie__body{
  margin:0;
  font-size:.86rem;
  line-height:1.55;
  color:#aebdd4;
}
.vl-cookie__link{
  color:#25F6B7;
  text-decoration:none;
  font-weight:600;
  white-space:nowrap;
}
.vl-cookie__link:hover{ text-decoration:underline; text-underline-offset:2px; }

.vl-cookie__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1.05rem;
}
.vl-cookie__btn{
  flex:1 1 auto;
  padding:.6rem 1rem;
  border-radius:10px;
  font-family:inherit;
  font-size:.85rem;
  font-weight:600;
  cursor:pointer;
  transition:transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
  white-space:nowrap;
}
.vl-cookie__btn--ghost{
  border:1px solid rgba(174,189,212,.28);
  background:transparent;
  color:#e8eef7;
}
.vl-cookie__btn--ghost:hover{ border-color:rgba(174,189,212,.5); background:rgba(255,255,255,.04); }
.vl-cookie__btn--solid{
  border:1px solid transparent;
  background:linear-gradient(100deg,#19c9cd,#25F6B7);
  color:#02122e;
}
.vl-cookie__btn--solid:hover{ transform:translateY(-1px); box-shadow:0 8px 20px -6px rgba(37,246,183,.5); }
.vl-cookie__btn:focus-visible{ outline:2px solid #25F6B7; outline-offset:2px; }

/* --- Panel de preferencias --- */
.vl-cookie__prefs-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
  margin-bottom:.9rem;
}
.vl-cookie__x{
  flex-shrink:0;
  display:inline-flex; padding:.35rem;
  border:0; border-radius:8px;
  background:transparent; color:#aebdd4; cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.vl-cookie__x:hover{ background:rgba(255,255,255,.06); color:#fff; }
.vl-cookie__x:focus-visible{ outline:2px solid #25F6B7; outline-offset:2px; }

.vl-cookie__cats{ display:flex; flex-direction:column; gap:.85rem; }
.vl-cookie__cat{
  padding:.9rem 1rem;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.vl-cookie__cat-head{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  margin-bottom:.35rem;
}
.vl-cookie__cat-name{ font-weight:600; font-size:.92rem; color:#fff; }
.vl-cookie__cat-desc{ margin:0; font-size:.8rem; line-height:1.5; color:#9fb0c9; }
.vl-cookie__tag{
  font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:#25F6B7;
  padding:.2rem .5rem;
  border-radius:999px;
  background:rgba(37,246,183,.12);
}

/* Interruptor (toggle) accesible */
.vl-cookie__switch{ position:relative; flex-shrink:0; width:42px; height:24px; cursor:pointer; }
.vl-cookie__switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.vl-cookie__slider{
  position:absolute; inset:0;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  transition:background .2s ease;
}
.vl-cookie__slider::before{
  content:""; position:absolute; top:3px; left:3px;
  width:18px; height:18px; border-radius:50%;
  background:#fff;
  transition:transform .2s ease;
}
.vl-cookie__switch input:checked + .vl-cookie__slider{ background:linear-gradient(100deg,#19c9cd,#25F6B7); }
.vl-cookie__switch input:checked + .vl-cookie__slider::before{ transform:translateX(18px); }
.vl-cookie__switch input:focus-visible + .vl-cookie__slider{ outline:2px solid #25F6B7; outline-offset:2px; }

@media (max-width:560px){
  .vl-cookie{ left:.6rem; right:.6rem; bottom:.6rem; }
  .vl-cookie__banner{ max-width:none; padding:1.1rem; }
  .vl-cookie__btn{ flex:1 1 100%; }
}

@media (prefers-reduced-motion:reduce){
  .vl-cookie__banner{ animation:none; }
  .vl-cookie__btn--solid:hover{ transform:none; }
}

/* --- Tabla de cookies (página Política de cookies) --- */
.ck-table-wrap{ overflow-x:auto; margin:1rem 0; -webkit-overflow-scrolling:touch; }
.ck-table{
  width:100%;
  border-collapse:collapse;
  font-size:.88rem;
  line-height:1.5;
  min-width:34rem;
}
.ck-table th,
.ck-table td{
  padding:.7rem .85rem;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.ck-table thead th{
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#25F6B7;
  border-bottom-color:rgba(37,246,183,.3);
  white-space:nowrap;
}
.ck-table tbody tr:last-child td{ border-bottom:0; }
.ck-table code{
  font-size:.82em;
  padding:.1rem .35rem;
  border-radius:5px;
  background:rgba(255,255,255,.06);
  color:#cfeede;
  white-space:nowrap;
}
.ck-table td:first-child{ white-space:nowrap; }
