
.consent {
  position: fixed; left: 16px; bottom: 16px; z-index: 9999;
  width: min(420px, calc(100vw - 32px)); box-sizing: border-box;
  padding: 20px 22px; border-radius: 18px;
  background: #141414; color: #EFEBE3; box-shadow: 0 10px 40px rgba(20, 20, 20, .35);
  font: 400 14px/1.5 "Lexend", system-ui, sans-serif;
  animation: consent-in .5s cubic-bezier(.2, .8, .2, 1) both;
}
.consent h2 { margin: 0 32px 8px 0; font: 600 19px/1.25 "Lexend", system-ui, sans-serif; letter-spacing: -.01em; }
.consent p { margin: 0 0 14px; color: rgba(239, 235, 227, .82); }
.consent a { color: #EFEBE3; text-underline-offset: 3px; }
.consent-b { display: flex; gap: 8px; flex-wrap: wrap; }
.consent button {
  font: 500 14px/1 "Lexend", system-ui, sans-serif; min-height: 44px; padding: 0 18px; border-radius: 999px;
  cursor: pointer; border: 1.5px solid rgba(239, 235, 227, .5); background: transparent; color: #EFEBE3;
}
.consent .consent-yes { background: #EFEBE3; border-color: #EFEBE3; color: #141414; }
.consent .consent-x { position: absolute; top: 10px; right: 10px; width: 44px; min-height: 44px; padding: 0; border: 0; font-size: 28px; line-height: 1; color: #EFEBE3; }
.consent button:focus-visible, .consent a:focus-visible { outline: 3px solid #EFEBE3; outline-offset: 2px; }
@keyframes consent-in { from { opacity: 0; transform: translateY(16px); } }
@media (prefers-reduced-motion: reduce) { .consent { animation: none; } }

.consent-change { font: 500 15px/1 "Lexend", system-ui, sans-serif; min-height: 44px; padding: 0 18px; border-radius: 999px;
  cursor: pointer; border: 1.5px solid currentColor; background: transparent; color: inherit; }
.consent-change:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
