/* Aviso de cookies · tokens del manual de marca v4.0 */
.gs-ck {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
  display: flex; flex-direction: column; gap: var(--gs-space-4);
  padding: var(--gs-space-5);
  background: var(--gs-bosque-800); color: var(--gs-neutro-50);
  font-family: var(--gs-font-body); font-size: 0.9375rem; line-height: 1.55;
  box-shadow: 0 -12px 32px -12px rgba(12, 40, 28, .45);
  animation: gs-ck-in 200ms ease-out both;
}
.gs-ck[hidden] { display: none; }
.gs-ck-txt { margin: 0; }
.gs-ck-txt a { color: var(--gs-lima-300); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; white-space: nowrap; }
.gs-ck-btns { display: flex; gap: var(--gs-space-3); }
.gs-ck-btn {
  flex: 1 1 0; min-width: 0; min-height: 44px; padding: 0 var(--gs-space-5);
  border-radius: var(--gs-radius-md); border: 2px solid transparent;
  font-family: var(--gs-font-body); font-weight: 600; font-size: 15px; line-height: 1.2; cursor: pointer;
}
.gs-ck-ok { background: var(--gs-lima-400); color: var(--gs-bosque-900); border-color: var(--gs-lima-400); }
.gs-ck-no { background: transparent; color: var(--gs-neutro-50); border-color: var(--gs-neutro-50); }
@media (hover: hover) and (pointer: fine) {
  .gs-ck-ok:hover { background: var(--gs-lima-300); border-color: var(--gs-lima-300); }
  .gs-ck-no:hover { background: rgba(250, 248, 243, .12); }
}
.gs-ck a:focus-visible, .gs-ck-btn:focus-visible { outline: 2px solid var(--gs-lima-400); outline-offset: 2px; }
/* El botón flotante de WhatsApp sube mientras el aviso está visible */
html.gs-ck-on .wa-float { bottom: calc(var(--gs-ck-alto, 0px) + 12px); }

@media (min-width: 761px) {
  .gs-ck {
    left: 0; right: 0; bottom: 16px; margin-inline: auto; width: min(960px, calc(100% - 32px));
    flex-direction: row; align-items: center; gap: var(--gs-space-5);
    border-radius: var(--gs-radius-lg);
    box-shadow: 0 18px 40px -16px rgba(12, 40, 28, .55);
  }
  .gs-ck-txt { flex: 1 1 auto; }
  .gs-ck-btns { flex: 0 0 auto; }
  .gs-ck-btn { flex: 0 0 auto; width: 132px; }
}
@keyframes gs-ck-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .gs-ck { animation: none; } }

/* Enlace «Preferencias de cookies» del pie: igual que los demás enlaces */
.foot-links button[data-cookies-abrir] {
  display: inline-flex; align-items: center; min-height: var(--gs-space-touch);
  padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; font-weight: 600; white-space: nowrap; color: var(--pine);
  text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px;
  transition: color var(--gs-duration-fast) var(--gs-easing-standard), text-decoration-color var(--gs-duration-fast) var(--gs-easing-standard);
}
@media (hover: hover) and (pointer: fine) { .foot-links button[data-cookies-abrir]:hover { color: var(--pine-soft); text-decoration-color: currentColor; } }
.foot-links button[data-cookies-abrir]:focus-visible { outline: 2px solid var(--gs-bosque-600); outline-offset: 2px; }

/* Página de política */
.cookies-page main { padding-top: 80px; }
.pol { padding-block: clamp(36px, 5vw, var(--gs-space-8)) clamp(var(--gs-space-7), 6vw, 80px); }
.pol .wrap { max-width: 46rem; }
.pol h1 { margin: 0 0 var(--gs-space-3); font-family: var(--gs-font-heading); font-weight: 700; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: var(--gs-tracking-display); color: var(--gs-color-text-heading); }
.pol h1::after { content: ""; display: block; width: 56px; height: 3px; margin: var(--gs-space-3) 0 0; border-radius: var(--gs-radius-pill); background: var(--gs-bosque-600); }
.pol h2 { margin: var(--gs-space-6) 0 var(--gs-space-2); font-family: var(--gs-font-heading); font-weight: 700; font-size: 1.3rem; letter-spacing: -.01em; color: var(--gs-color-text-heading); }
.pol p, .pol li { color: var(--gs-color-text-default); line-height: 1.65; }
.pol p { margin: 0 0 var(--gs-space-3); }
.pol ul { margin: 0 0 var(--gs-space-3); padding-left: 1.2em; }
.pol a { color: var(--gs-color-text-link); font-weight: 600; }
.pol .pol-fecha { margin-top: var(--gs-space-6); font-size: var(--gs-text-small); color: var(--gs-color-text-muted); }
.pol .btn { margin-top: var(--gs-space-2); cursor: pointer; }

/* Espacio al final del pie para que el botón flotante de WhatsApp no tape los enlaces */
.foot { padding-bottom: 84px; }
