.cookie-consent {
  position: fixed;
  z-index: 1080;
  right: clamp(1rem, 2.5vw, 2.5rem);
  bottom: clamp(1rem, 2.5vw, 2.5rem);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  width: min(27rem, calc(100vw - 2rem));
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 1.25rem .35rem 1.25rem .35rem;
  background: rgba(17, 18, 22, .96);
  color: #fff;
  font-family: "Inter", sans-serif;
  box-shadow: 0 1.5rem 4rem rgba(12, 13, 16, .28);
  opacity: 0;
  transform: translateY(1rem) scale(.98);
  transition: opacity .24s ease, transform .24s ease;
  backdrop-filter: blur(16px);
}

.cookie-consent[hidden] {
  display: none !important;
}

.cookie-consent.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.cookie-consent.is-closing {
  opacity: 0;
  transform: translateY(.65rem) scale(.985);
}

.cookie-consent__mark {
  display: grid;
  grid-row: 1 / span 2;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  margin-right: .85rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #16a6c6, #df087e);
  font-size: 1rem;
}

.cookie-consent__content h2 {
  margin: .08rem 0 .38rem;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.01em;
}

.cookie-consent__content p {
  margin: 0;
  color: rgba(255, 255, 255, .68);
  font-size: .79rem;
  line-height: 1.5;
}

.cookie-consent__content a {
  color: #fff;
  font-weight: 700;
  text-decoration-color: rgba(255, 255, 255, .4);
  text-underline-offset: .18em;
}

.cookie-consent__content a:hover,
.cookie-consent__content a:focus-visible {
  color: #52cae5;
  text-decoration-color: currentColor;
}

.cookie-consent__actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1.18fr;
  gap: .55rem;
  margin-top: .9rem;
}

.cookie-consent__button {
  min-height: 2.65rem;
  padding: .65rem .85rem;
  border-radius: 999px;
  font: 700 .72rem/1.15 "Inter", sans-serif;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease, filter .18s ease;
}

.cookie-consent__button--secondary {
  border: 1px solid rgba(255, 255, 255, .18);
  background: transparent;
  color: rgba(255, 255, 255, .72);
}

.cookie-consent__button--primary {
  border: 0;
  background: linear-gradient(100deg, #df087e, #8b3d96 52%, #16a6c6);
  color: #fff;
}

.cookie-consent__button:hover {
  transform: translateY(-1px);
}

.cookie-consent__button--secondary:hover {
  border-color: rgba(255, 255, 255, .38);
  color: #fff;
}

.cookie-consent__button--primary:hover {
  filter: brightness(1.08);
}

.cookie-consent__button:focus-visible,
.cookie-consent a:focus-visible {
  outline: 2px solid #52cae5;
  outline-offset: 3px;
}

@media (max-width: 479.98px) {
  .cookie-consent {
    right: .75rem;
    bottom: .75rem;
    width: calc(100vw - 1.5rem);
    padding: .9rem;
  }

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

  .cookie-consent__button--primary {
    grid-row: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-consent,
  .cookie-consent__button {
    transition: none;
  }
}
