.cookies {
  position: fixed; left: 1.25rem; bottom: 1.25rem; z-index: 1060;
  width: 400px; max-width: calc(100vw - 2.5rem);
  background: #fff; color: var(--kf-carbon);
  border-radius: 10px;
  box-shadow: 0 20px 50px rgba(58, 50, 55, .22);
  padding: 1.35rem 1.4rem 1.25rem;
  opacity: 0; transform: translateY(12px); pointer-events: none;
  transition: opacity 220ms ease-out, transform 260ms var(--ease-out);
}
.cookies.visible { opacity: 1; transform: none; pointer-events: auto; }
.cookies-titulo { display: block; font-family: "Josefin Sans", sans-serif; font-size: 1.2rem; margin-bottom: .45rem; }
.cookies p { font-size: .86rem; color: #5b5257; line-height: 1.55; margin-bottom: 1rem; }
.cookies p a { color: var(--kf-morado); text-underline-offset: 3px; }
.cookies-botones { display: flex; gap: .5rem; }
.cookies-btn {
  flex: 1 1 0; height: 42px; border-radius: 6px;
  border: 1px solid #d8ccd4; background: #fff; color: var(--kf-carbon);
  font-size: .82rem; font-weight: 600;
  transition: background-color 150ms ease, border-color 150ms ease, transform 160ms ease-out;
}
.cookies-btn:hover { border-color: var(--kf-carbon); }
.cookies-btn:active { transform: scale(.97); }
.cookies-btn-principal { background: var(--kf-carbon); border-color: var(--kf-carbon); color: #fff; }
.cookies-btn-principal:hover { background: var(--kf-morado-oscuro); border-color: var(--kf-morado-oscuro); }
.cookies-lista { list-style: none; padding: 0; margin: .5rem 0 1rem; }
.cookies-lista li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--kf-linea); }
.cookies-lista li:last-child { border-bottom: 0; }
.cookies-lista span { display: block; font-weight: 600; font-size: .88rem; }
.cookies-lista small { display: block; color: var(--kf-gris-suave); font-size: .76rem; line-height: 1.4; }
.cookies .form-check-input { width: 2.4em; height: 1.3em; cursor: pointer; }
.cookies .form-check-input:checked { background-color: var(--kf-morado); border-color: var(--kf-morado); }
.cookies .form-check-input:focus { box-shadow: 0 0 0 .2rem rgba(142, 90, 155, .2); border-color: var(--kf-morado); }
@media (max-width: 575.98px) {
  .cookies { left: .75rem; right: .75rem; bottom: .75rem; width: auto; max-width: none; padding: 1.15rem 1.1rem 1rem; }
  body.cookies-abierto .wa-flotante, body.cookies-abierto .carrito-flotante { opacity: 0; pointer-events: none; }
}
