.analytics-consent, .analytics-preferences { font-family: inherit; color: #183a31; background: #fffdf8; border: 1px solid #547267; box-shadow: 0 4px 20px #183a3120; }
.analytics-consent { position: fixed; z-index: 10010; right: 1rem; bottom: 4.2rem; width: min(31rem, calc(100vw - 2rem)); max-height: calc(100dvh - 6rem); overflow: auto; padding: 1.25rem; border-radius: 1rem; box-sizing: border-box; font-size: .95rem; line-height: 1.5; }
.analytics-consent[hidden], .analytics-consent [hidden] { display: none !important; }
.analytics-consent h2 { margin: 0 0 .65rem; font-size: 1.25rem; line-height: 1.3; }
.analytics-consent p { margin: .65rem 0; }
.analytics-consent a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.analytics-preferences { position: fixed; z-index: 10009; right: 1rem; bottom: 1rem; padding: .65rem .9rem; border-radius: 999px; font-size: .8rem; cursor: pointer; min-height: 44px; }
.analytics-consent button { font: inherit; font-weight: 600; padding: .65rem .8rem; min-height: 44px; border: 1px solid #547267; border-radius: .5rem; background: #fffdf8; color: #183a31; cursor: pointer; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.analytics-actions button { flex: 1 1 auto; }
.analytics-options { border-top: 1px solid #c8d2cc; margin-top: 1rem; padding-top: .75rem; }
.analytics-options label { display: flex; align-items: center; gap: .65rem; min-height: 44px; cursor: pointer; }
.analytics-options input { appearance: auto; width: 1.15rem; height: 1.15rem; margin: 0; accent-color: #183a31; flex: 0 0 auto; }
.analytics-reload-note, .analytics-status { font-size: .85rem; }
.analytics-status:empty { display: none; }
.analytics-consent :focus-visible, .analytics-preferences:focus-visible { outline: 3px solid #135fc0; outline-offset: 3px; }
/* Public pages with 52px mobile actions keep them reachable below privacy controls. */
@media (max-width: 600px) {
  .conversion-home .analytics-preferences, .see-page .analytics-preferences { bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px)); }
  .conversion-home .analytics-consent, .see-page .analytics-consent { bottom: calc(8rem + env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - 9rem - env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 480px) { .analytics-consent { left: .75rem; right: .75rem; width: auto; padding: 1rem; } .analytics-actions { gap: .5rem; } .analytics-actions button { flex-basis: 40%; } }
