/*
 * Consent banner and the "Cookie settings" control. Linked only when the site is built with a Google Analytics
 * measurement ID (site.analytics.gaId), so a build without one is byte for byte what it was.
 * Tokens come from styles.css (DESIGN.md): a floating sheet (16px radius, the one shadow), two outline buttons of
 * the same size so Reject is as easy as Accept, and no second primary action on the page.
 */
.consent { position: fixed; inset-inline: 16px; inset-block-end: 16px; z-index: 90; margin-inline: auto; max-inline-size: 760px; display: grid; gap: 16px; padding: 20px; background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.consent[hidden] { display: none; }
.consent-title { margin: 0; font: 600 18px/1.3 var(--display); letter-spacing: -0.01em; }
.consent-title:focus { outline: none; }
.consent p { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--text-muted); }
.consent p.consent-now { color: var(--text); font-weight: 500; }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (min-width: 760px) {
  .consent { grid-template-columns: 1fr auto; align-items: center; gap: 24px; padding: 20px 24px; }
  .consent-actions { min-inline-size: 250px; }
}

/* "Cookie settings": a button, because it opens the banner and goes nowhere; it reads as a footer link. */
button.cookie-settings { appearance: none; background: none; border: 0; padding: 0; margin: 0; font: inherit; color: var(--text-muted); cursor: pointer; text-align: start; }
button.cookie-settings:hover { color: var(--primary); text-decoration: underline; }
button.cookie-settings[hidden], .btn[hidden] { display: none; }

@media print { .consent { display: none; } }
