.ct-consent,
.ct-consent-manage {
  --ct-ink: #f7faf8;
  --ct-muted: rgba(247, 250, 248, .68);
  --ct-green: #5eaa8d;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.ct-consent[hidden],
.ct-consent-manage[hidden] {
  display: none !important;
}

.ct-consent {
  position: fixed;
  z-index: 10000;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: 860px;
  margin: 0 auto;
  padding: 1rem 1.1rem;
  color: var(--ct-ink);
  background: rgba(12, 18, 15, .97);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .24);
  animation: ct-consent-in .28s cubic-bezier(.16, 1, .3, 1) both;
}

.ct-consent:focus {
  outline: 2px solid var(--ct-green);
  outline-offset: 3px;
}

.ct-consent__copy {
  display: grid;
  gap: .2rem;
  max-width: 570px;
  font-size: .78rem;
  line-height: 1.5;
  color: var(--ct-muted);
}

.ct-consent__copy strong {
  color: var(--ct-ink);
  font-size: .88rem;
  font-weight: 600;
}

.ct-consent__copy a {
  width: fit-content;
  color: var(--ct-green);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ct-consent__actions {
  display: flex;
  flex: 0 0 auto;
  gap: .55rem;
}

.ct-consent button,
.ct-consent-manage {
  min-height: 42px;
  padding: .62rem .9rem;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 4px;
  font: inherit;
  font-size: .75rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.ct-consent button:focus-visible,
.ct-consent-manage:focus-visible {
  outline: 2px solid var(--ct-green);
  outline-offset: 3px;
}

.ct-consent__decline {
  color: var(--ct-ink);
  background: transparent;
}

.ct-consent__allow {
  color: #0c120f;
  background: #fff;
  border-color: #fff !important;
}

.ct-consent button:hover {
  transform: translateY(-1px);
  border-color: var(--ct-green);
}

.ct-consent-manage {
  position: fixed;
  z-index: 9999;
  left: .8rem;
  bottom: .8rem;
  min-height: 36px;
  padding: .45rem .7rem;
  color: #f7faf8;
  background: rgba(12, 18, 15, .92);
  border-color: rgba(255, 255, 255, .2);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .16);
}

.ct-consent-manage:hover {
  border-color: var(--ct-green);
}

@keyframes ct-consent-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 680px) {
  .ct-consent {
    align-items: stretch;
    flex-direction: column;
    gap: .85rem;
    padding: 1rem;
  }

  .ct-consent__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ct-consent { animation: none; }
  .ct-consent button,
  .ct-consent-manage { transition: none; }
}
