/* Shared, non-modal GA4 consent notice. Never styles the Map or Situation UI. */
.imcc-analytics-consent,
.imcc-analytics-consent *,
.imcc-analytics-settings { box-sizing: border-box; }
.imcc-analytics-consent[hidden],
.imcc-analytics-settings[hidden] { display: none !important; }
.imcc-analytics-consent {
  position: fixed; z-index: 100000; left: 16px; bottom: 52px;
  width: min(490px, calc(100vw - 32px)); padding: 15px 17px;
  border: 1px solid #a7bac9; border-radius: 10px;
  background: #ffffff; color: #20384e;
  font: 13px/1.55 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  box-shadow: 0 12px 40px rgba(4, 22, 38, .25);
}
.imcc-analytics-consent strong { font-size: 13px; font-weight: 750; }
.imcc-analytics-consent p { margin: 6px 0 12px; color: #466075; }
.imcc-analytics-consent a { color: #1c6489; text-decoration: underline; }
.imcc-analytics-details { margin: 0 0 12px; font-size: 11.5px; }
.imcc-analytics-details summary {
  cursor: pointer; color: #1c6489; font-weight: 700;
  padding: 3px 0; list-style-position: inside;
}
.imcc-analytics-details p { margin: 7px 0; line-height: 1.5; }
.imcc-analytics-details[open] {
  max-height: min(36vh, 225px); overflow-y: auto;
  border-top: 1px solid #dbe5ec; padding: 7px 3px 0 0;
}
.imcc-analytics-details summary:focus-visible { outline: 2px solid #64a8d0; outline-offset: 2px; }
.imcc-analytics-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.imcc-analytics-actions button,
.imcc-analytics-settings {
  border: 1px solid #aec3d3; border-radius: 6px;
  padding: 8px 11px; background: #f5f9fc; color: #214b65;
  font: 650 12px/1.3 Inter, system-ui, sans-serif; cursor: pointer;
}
.imcc-analytics-actions .imcc-analytics-allow {
  background: #1b557b; border-color: #1b557b; color: #fff;
}
.imcc-analytics-actions button:hover,
.imcc-analytics-settings:hover { filter: brightness(.95); }
.imcc-analytics-actions button:focus-visible,
.imcc-analytics-settings:focus-visible {
  outline: 3px solid #64a8d0; outline-offset: 2px;
}
.imcc-analytics-settings {
  position: fixed; z-index: 99999; left: 16px; bottom: 12px;
  padding: 5px 9px; border-radius: 6px;
  background: rgba(250, 252, 254, .97); font-size: 10px;
}
@media (max-width: 520px) {
  .imcc-analytics-consent { left: 8px; bottom: 45px; width: calc(100vw - 16px); padding: 12px; }
  .imcc-analytics-settings { left: 8px; bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .imcc-analytics-actions button, .imcc-analytics-settings { transition: none; }
}
