/* Cookie consent: a quiet card in the bottom-left corner (a bottom sheet on
   phones). Decline and Accept are the same size, so declining is as easy
   as accepting. */
.kc-consent {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 1000;
  width: min(400px, calc(100vw - 32px));
  padding: 20px 20px 18px;
  border-radius: 16px;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border-subtle, #E6E5DF);
  box-shadow: 0 24px 56px -24px rgba(38, 37, 30, .35), 0 2px 8px rgba(38, 37, 30, .06);
  color: var(--color-text-primary, #26251E);
  font-family: var(--font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .25s ease, transform .35s cubic-bezier(.2, .8, .2, 1);
}
.kc-consent.is-in { opacity: 1; transform: none; }
.kc-consent__title { margin: 0 0 6px; font-size: 15px; font-weight: 500; letter-spacing: -.01em; }
.kc-consent__body { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--color-text-secondary, #6E6D66); }
.kc-consent__body a { color: var(--color-text-primary, #26251E); text-decoration: underline; text-underline-offset: 3px; }
.kc-consent__actions { display: flex; gap: 8px; margin-top: 16px; }
.kc-consent__btn {
  flex: 1;
  height: 40px;
  border-radius: 10px;
  border: 1px solid var(--color-border-strong, #CCCBC6);
  background: var(--color-surface, #fff);
  color: var(--color-text-primary, #26251E);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .15s, border-color .15s;
}
.kc-consent__btn:hover { border-color: var(--color-text-primary, #26251E); }
.kc-consent__btn--accept { background: var(--color-text-primary, #26251E); border-color: var(--color-text-primary, #26251E); color: #fff; }
.kc-consent__btn--accept:hover { background: #3a392f; }
.kc-consent__btn:focus-visible, .kc-consent-settings:focus-visible { outline: 2px solid var(--color-text-primary, #26251E); outline-offset: 2px; }

/* Footer link to reopen the banner; sits with Privacy and Terms. */
.kc-consent-settings { margin-left: 20px; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.kc-consent-settings:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 640px) {
  .kc-consent { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 18px 16px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .kc-consent { transition: none; transform: none; }
}
