#rr-cookie-panel, #rr-cookie-settings {
  box-sizing: border-box;
  font-family: Lato, Arial, sans-serif;
  color: #172033;
  background: #fff;
  border: 1px solid #67758a;
  box-shadow: 0 4px 24px rgb(0 0 0 / 18%);
  z-index: 10000;
}
#rr-cookie-panel[hidden], #rr-cookie-settings[hidden],
#rr-cookie-panel button[hidden] { display: none !important; }
#rr-cookie-panel {
  position: fixed;
  bottom: calc(16px + env(safe-area-inset-bottom));
  right: 16px;
  width: min(640px, calc(100% - 32px));
  max-height: 75vh;
  overflow: auto;
  padding: 20px;
  border-radius: 12px;
  text-align: left;
}
#rr-cookie-panel h2 { margin: 0 0 12px; color: #172033; font-size: 22px; line-height: 1.3; }
#rr-cookie-panel p { margin: 0 0 12px; color: #172033; font-size: 16px; line-height: 1.5; }
#rr-cookie-panel .rr-cookie-actions { display: flex; flex-wrap: wrap; gap: 12px; }
#rr-cookie-panel button, #rr-cookie-settings {
  appearance: none;
  display: inline-block;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
#rr-cookie-panel button { border: 2px solid #172033; color: #fff; background: #172033; }
#rr-cookie-panel button:hover { background: #33445f; }
#rr-cookie-panel button:focus-visible, #rr-cookie-settings:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 3px;
}
#rr-cookie-settings { position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); }
@media (max-width: 780px) {
  /* Keep preferences above the site's mobile navigation bar. */
  #rr-cookie-panel, #rr-cookie-settings { bottom: calc(88px + env(safe-area-inset-bottom)); }
  #rr-cookie-panel { padding: 16px; max-height: 65vh; }
  #rr-cookie-panel .rr-cookie-actions button { flex: 1 1 180px; }
  /* Step aside while the mobile nav menu is open so it never covers menu items. */
  body:has(#site-nav.is-open) #rr-cookie-panel,
  body:has(#site-nav.is-open) #rr-cookie-settings { visibility: hidden; }
}
