/**
 * Cookie banner (inc/tracking.php): a small dark card in the bottom-left corner.
 * It doesn't block the page. Accept and Reject look the same, so neither
 * choice is pushed. Theme tokens are used when present, with fallbacks.
 */

.ct-consent {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 950;
  box-sizing: border-box;
  width: min(21rem, calc(100vw - 2rem));
  padding: .875rem 2.25rem .875rem 1rem;
  background: var(--color-dark, #111);
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-lg, 8px);
  box-shadow: 0 6px 24px rgba(0,0,0,.25);
  font-family: var(--font-family, sans-serif);
  font-size: .8125rem;
  line-height: 1.5;
}
.ct-consent[hidden] { display: none; }
.ct-consent:focus { outline: none; }
.ct-consent:focus-visible { outline: 2px solid var(--color-accent, #4DD9D0); outline-offset: 2px; }

.ct-consent__text { margin: 0 0 .625rem; color: var(--color-on-dark-muted, #B4B4B4); }
.ct-consent__text a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }

.ct-consent__actions { display: flex; gap: .5rem; }
.ct-consent__btn {
  flex: 1;
  min-height: 2.25rem;
  padding: .375rem .75rem;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: var(--radius, 6px);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.ct-consent__btn:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.7); }
.ct-consent__btn:focus-visible,
.ct-consent__close:focus-visible { outline: 2px solid var(--color-accent, #4DD9D0); outline-offset: 2px; }

.ct-consent__close {
  position: absolute;
  top: .375rem;
  right: .375rem;
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  background: transparent;
  color: var(--color-on-dark-muted, #B4B4B4);
  border: 0;
  border-radius: var(--radius-sm, 4px);
  cursor: pointer;
}
.ct-consent__close:hover { color: #fff; background: rgba(255,255,255,.1); }

@media (prefers-reduced-motion: no-preference) {
  .ct-consent:not([hidden]) { animation: ct-consent-in .2s ease-out; }
  @keyframes ct-consent-in { from { opacity: 0; transform: translateY(.5rem); } }
}

@media print { .ct-consent { display: none !important; } }
