/* ============================================================
   Banner de cookies + páginas legales — Dra. Carmen Álvarez
   Paleta compartida con el resto del sitio.
   ============================================================ */
.ck-vars{
  --ck-cream:#FDF9F6; --ck-blush:#EFCEC8; --ck-rose:#C67F76;
  --ck-petrol:#0E2E3B; --ck-ink:#14333F; --ck-inksoft:#47616D;
  --ck-line:rgba(20,51,63,.14);
}

/* ---------- banner ---------- */
.ck{
  position:fixed; left:0; right:0; bottom:0; z-index:400;
  display:none; padding:1.1rem clamp(1rem,4vw,2.5rem);
  background:rgba(253,249,246,.97);
  backdrop-filter:blur(16px);
  border-top:1px solid rgba(20,51,63,.14);
  box-shadow:0 -18px 50px -30px rgba(14,46,59,.4);
  font-family:"Jost","Avenir Next","Helvetica Neue",sans-serif;
  font-weight:300; color:#14333F;
  transform:translateY(100%);
  transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.ck.show{ display:block; }
.ck.in{ transform:translateY(0); }
.ck-row{
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; gap:clamp(1rem,3vw,2.5rem); flex-wrap:wrap;
}
.ck-txt{ flex:1 1 320px; font-size:.88rem; line-height:1.6; color:#47616D; }
.ck-txt b{
  display:block; font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:400; font-size:1.25rem; color:#0E2E3B; margin-bottom:.25rem;
  letter-spacing:.01em;
}
.ck-txt a{ color:#C67F76; text-decoration:none; border-bottom:1px solid rgba(198,127,118,.35); }
.ck-txt a:hover{ border-color:#C67F76; }
.ck-btns{ display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; }
.ck-b{
  font-family:inherit; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  font-weight:400; cursor:pointer; white-space:nowrap;
  padding:.75rem 1.5rem; border-radius:99px;
  border:1px solid rgba(20,51,63,.2); background:none; color:#14333F;
  transition:border-color .3s, color .3s, background .3s;
}
.ck-b:hover{ border-color:#C67F76; color:#C67F76; }
.ck-b.primary{ background:#0E2E3B; border-color:#0E2E3B; color:#FDF9F6; }
.ck-b.primary:hover{ background:#C67F76; border-color:#C67F76; color:#FDF9F6; }
.ck-b.link{
  border:none; padding:.75rem .4rem; color:#47616D;
  text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:rgba(20,51,63,.25);
}
.ck-b.link:hover{ color:#C67F76; }

/* ---------- panel de configuración ---------- */
.ck-panel{
  display:none; max-width:1280px; margin:1.3rem auto 0;
  padding-top:1.3rem; border-top:1px solid rgba(20,51,63,.14);
}
.ck-panel.open{ display:block; }
.ck-cat{
  display:flex; align-items:flex-start; gap:1rem; padding:.85rem 0;
  border-bottom:1px solid rgba(20,51,63,.08);
}
.ck-cat:last-child{ border-bottom:none; }
.ck-cat-txt{ flex:1; font-size:.82rem; line-height:1.55; color:#47616D; }
.ck-cat-txt strong{
  display:block; font-weight:400; color:#0E2E3B; font-size:.9rem;
  letter-spacing:.04em; margin-bottom:.15rem;
}
.ck-sw{
  flex-shrink:0; width:44px; height:24px; border-radius:99px;
  border:1px solid rgba(20,51,63,.2); background:rgba(20,51,63,.06);
  position:relative; cursor:pointer; transition:background .3s, border-color .3s;
  margin-top:.15rem;
}
.ck-sw::after{
  content:""; position:absolute; top:2px; left:2px; width:18px; height:18px;
  border-radius:50%; background:#FDF9F6; box-shadow:0 1px 4px rgba(14,46,59,.3);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.ck-sw[aria-checked="true"]{ background:#C67F76; border-color:#C67F76; }
.ck-sw[aria-checked="true"]::after{ transform:translateX(20px); }
.ck-sw[aria-disabled="true"]{ opacity:.5; cursor:not-allowed; background:#0E2E3B; border-color:#0E2E3B; }
.ck-sw[aria-disabled="true"]::after{ transform:translateX(20px); }

@media (max-width:720px){
  .ck{ padding:1rem 1.15rem calc(1rem + env(safe-area-inset-bottom,0px)); max-height:80svh; overflow-y:auto; }
  .ck-row{ flex-direction:column; align-items:stretch; gap:1.1rem; }
  /* en columna, flex:1 haría crecer el texto y dejaría un hueco enorme */
  .ck-txt{ flex:0 0 auto; font-size:.84rem; }
  .ck-txt b{ font-size:1.15rem; }
  /* una columna: aceptar y rechazar con el mismo peso visual, como exige la AEPD */
  .ck-btns{ display:grid; grid-template-columns:1fr; gap:.55rem; }
  .ck-b{ padding:.85rem 1rem; text-align:center; }
  .ck-b.primary{ order:1; }
  .ck-b:not(.primary):not(.link){ order:2; }
  .ck-b.link{ order:3; padding:.45rem; }
}

/* ---------- enlace para reabrir ajustes ---------- */
.ck-reopen{
  background:none; border:none; cursor:pointer; padding:0; font:inherit;
  color:inherit; text-decoration:none;
  border-bottom:1px solid rgba(239,206,200,.25);
  transition:color .3s, border-color .3s;
}
.ck-reopen:hover{ color:#EFCEC8; border-color:#EFCEC8; }
