/* Standalone notice and policy reader. */
:root { scroll-padding-bottom: var(--site-consent-height, 0px); }
.site-consent-bar, .site-consent-dialog, .site-consent-actions { box-sizing: border-box; font: 14px/1.45 system-ui, sans-serif; color: #e7edf5; }
.site-consent-bar { position: fixed; inset: auto 0 0; z-index: 40; display: flex; align-items: center; justify-content: center; gap: 1rem; padding: .6rem max(1rem, env(safe-area-inset-right)) calc(.6rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); background: #111923; border-top: 1px solid #354252; box-shadow: 0 -3px 18px #0002; }
.site-consent-bar p { margin: 0; font: inherit; }
.site-consent-bar a { color: inherit; text-decoration: underline dotted; text-underline-offset: .22em; }
.site-consent-button { box-sizing: border-box; appearance: none; width: auto; min-height: 40px; margin: 0; padding: .5rem 1rem; border: 1px solid #516073; border-radius: 5px; background: #1c2938; color: #f4f7fb; font: 600 14px/1.4 system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
.site-consent-button:hover { background: #2d4054; }
.site-consent-button:focus-visible, .site-consent-bar a:focus-visible { outline: 2px solid #6dd9ed; outline-offset: 3px; }
.site-consent-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; padding: 1rem 0; }
.site-consent-actions [data-consent-choice=accepted] { background: #63d7e8; border-color: #63d7e8; color: #071820; }
.site-consent-dialog { width: min(840px, calc(100% - 32px)); max-width: none; height: min(800px, calc(100dvh - 48px)); max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 1px solid #435267; border-radius: 10px; background: #111923; overflow: hidden; }
.site-consent-dialog[open] { display: flex; flex-direction: column; }
.site-consent-dialog::backdrop { background: #02070dcc; }
.site-consent-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1.25rem; border-bottom: 1px solid #354252; flex: 0 0 auto; }
.site-consent-heading h2 { margin: 0; font: 600 18px/1.35 system-ui, sans-serif; color: inherit; }
.site-consent-heading button { font-size: 24px; padding: 0 .75rem; }
.site-consent-content { min-height: 0; flex: 1 1 auto; overflow: auto; overscroll-behavior: contain; padding: 1.25rem; }
.site-consent-content > a { color: #71d8ec; }
.site-consent-dialog > .site-consent-actions { flex: 0 0 auto; padding: .85rem 1.25rem; border-top: 1px solid #354252; }
@media (max-width: 480px) {
  .site-consent-bar { gap: .65rem; font-size: 12px; padding-inline: .75rem; }
  .site-consent-bar .site-consent-button { padding-inline: .8rem; }
  .site-consent-dialog { width: calc(100% - 16px); height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); }
  .site-consent-content { padding: 1rem; }
}
@media print { .site-consent-bar, .site-consent-spacer, .site-consent-actions { display: none; } }
