/* ── Analytics consent notice ──────────────────────────────── */
.consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  padding: 14px var(--gutter) max(14px, env(safe-area-inset-bottom));
  background: var(--bg-2);
  border-top: 1px solid var(--border-strong);
  box-shadow: 0 -16px 40px rgba(0, 0, 0, 0.55);
}
.consent-inner {
  max-width: 860px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}
.consent-copy { display: grid; gap: 4px; min-width: 0; }
.consent-text { font-size: 0.875rem; line-height: 1.45; color: var(--muted); }
.consent-text a { color: var(--text); text-underline-offset: 2px; }
.consent-actions { display: flex; gap: 8px; }
.consent-actions .btn { flex: 1 1 0; }

/* Keep the page's last content and the toast clear of the notice. */
body.has-consent { padding-bottom: var(--consent-space, 0px); }
.toast { bottom: calc(max(20px, env(safe-area-inset-bottom)) + var(--consent-space, 0px)); }

@media (min-width: 760px) and (max-width: 959px) {
  .consent-inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px; }
  .consent-actions .btn { flex: 0 0 auto; min-width: 130px; }
}

/* Wide screens: a corner card, clear of the hero and its main button. */
@media (min-width: 960px) {
  .consent {
    left: auto;
    right: 24px;
    bottom: 24px;
    width: 360px;
    padding: 18px 20px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius);
  }
  .consent-inner { gap: 14px; }
}

/* ── Footer link + privacy page ────────────────────────────── */
.site-footer a { color: var(--text); text-underline-offset: 3px; }

.privacy h2 {
  margin: 34px 0 10px;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.9rem;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.privacy p, .privacy li { color: var(--muted); }
.privacy p + p { margin-top: 10px; }
.privacy strong, .privacy code { color: var(--text); }
.privacy ul { margin: 10px 0 0 1.2em; display: grid; gap: 6px; }
.privacy code { font-family: var(--font-mono); font-size: 0.85em; }
.privacy-status {
  margin-top: 16px;
  padding: 18px;
  background: var(--card);
  border-left: 5px solid var(--red);
  display: grid;
  gap: 12px;
}
.privacy-status-text { color: var(--text) !important; }
.privacy-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
