/* Cookie banner: a small card in the bottom-left corner, shared by every page. */
.consent[hidden] { display: none; }
.consent {
  position: fixed; z-index: 50; left: 0; bottom: 0;
  padding: .75rem .75rem calc(.75rem + env(safe-area-inset-bottom));
  pointer-events: none;
}
.consent-card {
  pointer-events: auto; width: min(19.5rem, calc(100vw - 1.5rem));
  display: grid; gap: .6rem;
  padding: .8rem .9rem; border-radius: 12px;
  background: rgb(18 15 12 / 96%); color: #f5efe4;
  border: 1px solid rgb(224 191 131 / 35%);
  box-shadow: 0 8px 28px rgb(0 0 0 / 50%);
  font-size: .8rem; line-height: 1.45; text-align: left;
  animation: consent-in .5s cubic-bezier(.16, 1, .3, 1) both;
}
.consent-card p { margin: 0; color: #d6ccba; }
.consent-card a { color: #e0bf83; text-underline-offset: 2px; white-space: nowrap; }
.consent-actions { display: flex; gap: .5rem; }
.consent-actions button {
  flex: 1; padding: .45rem .7rem; border-radius: 999px; cursor: pointer;
  font: inherit; font-weight: 600; color: #f5efe4;
  background: transparent; border: 1px solid rgb(224 191 131 / 45%);
}
.consent-actions button:hover { background: rgb(224 191 131 / 10%); }
.consent-actions button:focus-visible { outline: 3px solid #e0bf83; outline-offset: 2px; }
.consent-actions button[data-consent="accept"] { background: linear-gradient(135deg, #f3dba6, #ddb36a 45%, #b98a43); color: #1a1409; border-color: transparent; }
@keyframes consent-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .consent-card { animation: none; } }
