/* Cookie notice (see cookie-consent.js). Light card, bottom of the viewport. */
.gf-cookie-notice {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2147483000;
  box-sizing: border-box;
  max-width: 720px;
  margin-inline: auto;
  padding: 18px 20px;
  border: 1px solid #d9d3e4;
  border-radius: 16px;
  background: #fff;
  color: #252330;
  box-shadow: 0 16px 48px #19112833;
  font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.gf-cookie-notice h2 { margin: 0 0 4px; font-size: 16px; line-height: 1.3; letter-spacing: 0; }
.gf-cookie-notice p { margin: 0; color: #4b4657; }
.gf-cookie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 12px; }
.gf-cookie-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #5632aa;
  font-weight: 650;
  text-underline-offset: 3px;
}
.gf-cookie-actions button {
  min-height: 44px;
  padding: 0 22px;
  border: 1px solid #6640be;
  border-radius: 12px;
  background: #6640be;
  color: #fff;
  font: 650 15px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
}
.gf-cookie-actions button:hover { background: #5632aa; }
.gf-cookie-notice a:focus-visible,
.gf-cookie-notice button:focus-visible { outline: 3px solid #8560d4; outline-offset: 3px; }
@media (forced-colors: active) {
  .gf-cookie-notice { border: 2px solid CanvasText; }
}
@media print {
  .gf-cookie-notice { display: none; }
}

/* While the fixed notice is shown, keep focused controls clear of it (WCAG 2.4.11 Focus Not Obscured):
   scroll-padding for focus scrolling and body padding so the last links can scroll above it.
   The script sets --gf-cookie-notice-h to the notice's real height. */
html.gf-cookie-open { scroll-padding-bottom: calc(var(--gf-cookie-notice-h, 16rem) + 16px); }
html.gf-cookie-open body { padding-bottom: calc(var(--gf-cookie-notice-h, 16rem) + 16px); }
