/* Green Flag Theory — consent banner and the footer "Cookies" button.
   "Decline" and "Accept" carry exactly the same weight: neither is pushed. */
.consent {
  position: fixed; left: 16px; bottom: 16px; z-index: 999;
  width: min(460px, calc(100vw - 32px));
  padding: 20px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--bg); color: var(--text);
  box-shadow: 0 20px 40px rgba(0, 0, 0, .2);
  font: 500 14px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; text-align: left;
}
.consent[hidden] { display: none !important; }
.consent-text { margin: 0 0 14px; }
.consent-text a { color: var(--accent-text); text-decoration: underline; text-underline-offset: .18em; }
.consent-choices { display: flex; gap: 10px; }
.consent-choices button {
  flex: 1; min-height: 44px; padding: 10px 14px; border-radius: 999px; cursor: pointer;
  font: 600 14px/1 system-ui, sans-serif;
  background: var(--card); color: var(--text); border: 1.5px solid var(--text);
}
.consent-choices button:hover { background: var(--text); color: var(--bg); }
.consent-choices button:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

/* Phone: full width; the Accessibility button steps aside while the visitor chooses. */
@media (max-width: 640px) {
  .consent { left: 12px; right: 12px; bottom: 12px; width: auto; }
  html.consent-open .a11y-button { display: none !important; }
}
@media print { .consent { display: none !important; } }

/* Footer "Cookies" button: visible only when measurement is set up. */
html:not(.measure-active) .cookies-link { display: none !important; }
.cookies-link { background: none; border: 0; padding: .3rem 0; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }
