/* ==========================================================================
   Cookie consent banner
   Sits on the dark "void" surface so it reads the same on light and dark
   sections, and never covers more than a strip of the viewport.
   ========================================================================== */

.consent-banner {
  position: fixed;
  z-index: 1000;
  inset-inline: var(--space-4);
  bottom: var(--space-4);
  max-width: 56rem;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4) var(--space-6);
  padding: var(--space-5) var(--space-6);
  background: var(--void);
  color: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--line-dark);
  border-radius: var(--r-md);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  animation: consent-in var(--base) var(--ease) both;
}

.consent-banner[hidden] { display: none; }

.consent-banner:focus { outline: none; }
.consent-banner:focus-visible { outline: 2px solid var(--cyan-bright); outline-offset: 3px; }

.consent-banner__body { flex: 1 1 22rem; min-width: 0; }

.consent-banner__title {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--paper);
  margin: 0 0 var(--space-1);
}

.consent-banner__text {
  font-size: var(--text-sm);
  line-height: 1.55;
  margin: 0;
}

.consent-banner__text a {
  color: var(--cyan-bright);
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}

.consent-banner__actions {
  display: flex;
  gap: var(--space-3);
  flex: 0 0 auto;
}

/* Equal weight for both choices: no dark pattern nudging towards Accept. */
.consent-banner__btn { min-width: 7.5rem; min-height: 44px; justify-content: center; }

@media (max-width: 34rem) {
  .consent-banner {
    inset-inline: var(--space-3);
    bottom: var(--space-3);
    padding: var(--space-4);
  }
  .consent-banner__actions { width: 100%; }
  .consent-banner__btn { flex: 1 1 0; min-width: 0; }
}

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

@media (prefers-reduced-motion: reduce) {
  .consent-banner { animation: none; }
}

/* Footer "Cookie settings" control, styled to match the footer links. */
.consent-reopen {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.consent-reopen:hover { color: var(--paper); }
