/* Cookie consent banner (added Sep 2026). style.css is not touched. */
.consent-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 950;
  display: none;
  background: var(--ink); color: var(--cream);
  padding: 18px 24px;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.18);
}
.consent-banner.is-visible { display: block; }
.consent-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 16px 24px;
}
.consent-text { flex: 1 1 420px; font-size: 13px; line-height: 1.55; opacity: 0.92; margin: 0; }
.consent-text a { color: var(--cream); text-decoration: underline; }
.consent-actions { display: flex; gap: 12px; flex: 0 0 auto; }
.consent-btn {
  border: 1px solid var(--cream);
  padding: 10px 22px;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600;
  background: none; color: var(--cream); cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease;
  min-height: 44px;
}
.consent-btn:hover, .consent-btn:focus-visible { background: var(--cream); color: var(--ink); }
.consent-btn-accept { background: var(--cream); color: var(--ink); }
.consent-btn-accept:hover, .consent-btn-accept:focus-visible { background: transparent; color: var(--cream); }
@media (max-width: 640px) {
  .consent-banner { padding: 16px; }
  .consent-inner { flex-direction: column; align-items: stretch; }
  .consent-actions { justify-content: stretch; }
  .consent-btn { flex: 1; }
}
@media print { .consent-banner { display: none !important; } }
