.ga-consent-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,0.45);
  display: none; z-index: 9999; align-items: center; justify-content: center;
}
.ga-consent-dialog {
  max-width: 520px; width: 92%; background: #fff; border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2); padding: 22px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
.ga-consent-dialog h3 { margin: 0 0 8px; font-size: 18px; }
.ga-consent-dialog p  { margin: 0 0 14px; font-size: 14px; color: #333; }
.ga-consent-actions { display: flex; gap: 10px; justify-content: flex-end; }
.ga-btn {
  border: 1px solid #c7cdd5; background: #fff; color: #111827;
  padding: 8px 14px; border-radius: 8px; cursor: pointer; font-size: 14px;
}
.ga-btn-primary {
  background: #0888d1; color: #fff; border-color: #0888d1;
}
/* Scope additions to this consent component; preserve dashboard/map styles. */
#ga-consent-overlay { z-index: 100000; padding: 16px; box-sizing: border-box; }
#ga-consent-dialog { max-height: 90vh; overflow: auto; box-sizing: border-box; color: #153e55; }
#ga-consent-dialog .ga-language-row { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-bottom: 18px; font-size: 13px; }
#ga-language { padding: 5px; border: 1px solid #c7cdd5; border-radius: 4px; background: white; color: #111827; }
#ga-consent-dialog .ga-consent-actions { flex-wrap: wrap; }
#ga-consent-dialog .ga-btn { min-height: 44px; font: inherit; }
#ga-consent-dialog button:focus-visible, #ga-language:focus-visible, #ga-preferences:focus-visible { outline: 3px solid #7527ab; outline-offset: 3px; }
#ga-preferences { position: fixed; bottom: 8px; right: 10px; z-index: 2000; padding: 5px 10px; border: 1px solid #bdceda; border-radius: 5px; background: #fff; color: #164565; font: 12px system-ui, sans-serif; cursor: pointer; box-shadow: 0 1px 5px #0002; }

/* Keep the new purpose/privacy paragraph separate in every language. */
#ga-consent-description { white-space: pre-line; }
