[hidden] { display: none !important; }
.privacy-panel {
  position: fixed; z-index: 1000; inset: auto 20px 20px auto;
  width: min(620px, calc(100% - 40px)); max-height: calc(100dvh - 40px);
  overflow: auto; padding: 24px; border: 1px solid var(--border, #555);
  border-radius: 16px; background: #151519; color: #f3f3f5;
  box-shadow: 0 12px 50px #0009;
}
.privacy-panel h2 { margin: 0 0 12px; font-size: 1.25rem; }
.privacy-panel p { line-height: 1.55; }
.privacy-panel a, .privacy-copy a { text-decoration: underline; color: #dcc585; }
.privacy-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.privacy-actions .btn { flex: 1 1 150px; justify-content: center; border: 1px solid #8c8c97; background: #23232b; color: #fff; }
.privacy-actions [data-close] { flex: 0 1 auto; }
.privacy-status { font-size: .9rem; color: #d2d2d8; }
.privacy-settings { font: inherit; background: none; color: var(--muted); border: 0; padding: 8px 0; cursor: pointer; text-decoration: underline; }
.privacy-copy { max-width: 850px; line-height: 1.75; overflow-wrap: anywhere; }
.privacy-copy h2 { margin-top: 32px; }
.privacy-copy h3 { margin-top: 24px; }
.privacy-copy address { font-style: normal; }
.privacy-copy li { margin-block: 8px; }
.footer-inner { flex-wrap: wrap; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.privacy-panel :focus-visible, .privacy-settings:focus-visible { outline: 3px solid #dcc585; outline-offset: 4px; }
@media (max-width: 480px) {
  .privacy-panel { inset: auto 10px 10px; width: auto; padding: 18px; max-height: calc(100dvh - 20px); }
  .privacy-actions .btn { flex-basis: 100%; }
}
