/* Consent controls only; existing product and legal layouts are unchanged. */
#analytics-consent[hidden], [data-analytics-settings][hidden], #analytics-close[hidden] { display: none; }
#analytics-consent {
  position: fixed; bottom: 1rem; left: 1rem; right: 1rem; z-index: 100;
  max-width: 38rem; margin: 0 auto; padding: .9rem 1rem;
  border: 1px solid #b8c8dc; border-radius: 8px; background: #fff; color: #0d1a2e;
  box-shadow: 0 4px 20px #0d1a2e20; font: 1rem/1.5 "Avenir Next", "Segoe UI", sans-serif;
  max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem); overflow-y: auto;
}
#analytics-consent h2 { max-width: none; font: 700 1.15rem/1.3 "Avenir Next", "Segoe UI", sans-serif; margin: 0 0 .35rem; }
#analytics-consent p { margin: 0; color: #31445f; }
#analytics-consent a { color: #183f9e; text-decoration: underline; text-underline-offset: .2em; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .75rem; }
.analytics-actions button {
  min-height: 44px; padding: .5rem 1rem; border: 1px solid #2457d6;
  border-radius: 6px; background: #fff; color: #183f9e; font: inherit; font-weight: 700; cursor: pointer;
}
#analytics-close { border-color: #b8c8dc; color: #31445f; }
[data-analytics-settings] { font-family: inherit; cursor: pointer; min-height: 44px; }
#analytics-consent :focus-visible, [data-analytics-settings]:focus-visible { outline: 3px solid #2457d6; outline-offset: 3px; }
@media (max-width: 420px) {
  #analytics-consent { bottom: .5rem; left: .5rem; right: .5rem; padding: .85rem 1rem; }
  .analytics-actions button:not(#analytics-close) { flex: 1 1 8rem; }
}
