/* ---------- Cookie consent ---------- */
.kcc-banner {
  /* lifted clear of the accessibility trigger, which Enable pins to the same
     bottom corner. Hiding the accessibility tool behind a consent banner would
     be exactly the wrong thing to do. */
  position: fixed; z-index: 70; bottom: 88px; inset-inline-end: 16px;
  width: min(430px, calc(100vw - 32px));
  background: #fff; color: #1b1233; border: 1px solid #e9e3fa; border-radius: 20px;
  box-shadow: 0 26px 60px rgba(6, 2, 20, .26); overflow: hidden;
  animation: ccIn .26s cubic-bezier(.2, .8, .3, 1);
}
@keyframes ccIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.kcc-main { padding: 18px 20px; }
.kcc-main p { margin: 0; font-size: 14px; line-height: 1.7; color: #4a4067; }
.kcc-main p b { color: #1b1233; }
.kcc-main a { color: #4b1fb0; font-weight: 700; }
.kcc-actions { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.kcc-actions button {
  font: inherit; font-size: 13.5px; font-weight: 800; cursor: pointer; border-radius: 999px;
  padding: 10px 17px; border: 1px solid #e9e3fa; background: #fff; color: #3a3057;
  transition: background .18s ease;
}
.kcc-actions button:hover { background: #f4efff; }
.kcc-actions .kcc-accept {
  margin-inline-start: auto; border-color: transparent; color: #fff;
  background: linear-gradient(120deg, #4b1fb0, #8b6cf6); box-shadow: 0 8px 20px rgba(75, 31, 176, .26);
}
.kcc-panel { border-top: 1px solid #e9e3fa; padding: 14px 20px 18px; background: #faf8ff; }
.kcc-cat { display: flex; gap: 10px; align-items: flex-start; padding: 9px 0; cursor: pointer; }
.kcc-cat + .kcc-cat { border-top: 1px dashed #e9e3fa; }
.kcc-cat.locked { cursor: default; opacity: .78; }
.kcc-cat input { margin-top: 3px; width: 17px; height: 17px; accent-color: #4b1fb0; flex: none; }
.kcc-cat b { display: block; font-size: 13.5px; font-weight: 800; }
.kcc-cat small { display: block; font-size: 12.5px; line-height: 1.6; color: #6b6390; margin-top: 2px; }
.kcc-save {
  width: 100%; margin-top: 12px; font: inherit; font-size: 13.5px; font-weight: 800; cursor: pointer;
  padding: 11px; border-radius: 999px; border: 0; color: #fff;
  background: linear-gradient(120deg, #4b1fb0, #8b6cf6);
}
@media (max-width: 520px) { .kcc-banner { inset-inline: 12px; width: auto; bottom: 84px; } }
@media (prefers-reduced-motion: reduce) { .kcc-banner { animation: none; } }
