.sotto-privacy {
  box-sizing: border-box; position: fixed; inset: auto 20px 20px auto;
  width: min(540px, calc(100vw - 40px)); max-height: calc(100dvh - 40px);
  overflow: auto; margin: 0; padding: 24px; border: 1px solid #615647;
  border-radius: 16px; background: #171512; color: #f5f1ea;
  box-shadow: 0 12px 48px #0009; font: 15px/1.55 system-ui, sans-serif; z-index: 1000;
}
.sotto-privacy::backdrop { background: #0008; }
.sotto-privacy h2 { margin: 0 0 12px; font: 600 20px/1.3 system-ui, sans-serif; letter-spacing: 0; }
.sotto-privacy p { margin: 0 0 14px; font: inherit; color: #ded7ce; }
.sotto-privacy a { color: #ffc563; text-decoration: underline; }
.sotto-privacy .sotto-privacy-status { color: #f5f1ea; }
.sotto-privacy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sotto-privacy-actions button {
  min-height: 52px; padding: 12px; border: 1px solid #b7a58c; border-radius: 9px;
  background: #27221b; color: #fff7ec; font: 600 14px/1.4 system-ui, sans-serif; cursor: pointer;
}
.sotto-privacy-actions button:hover { background: #3a3023; }
.sotto-privacy-actions button:disabled { opacity: .5; cursor: not-allowed; }
.sotto-privacy-close, .sotto-privacy-settings {
  border: 0; background: none; color: #d2c6b5; text-decoration: underline;
  font: 14px/1.5 system-ui, sans-serif; padding: 12px 0; cursor: pointer;
}
.sotto-privacy-close { margin-top: 4px; }
.sotto-privacy-settings { flex-shrink: 0; }
.sotto-privacy button:focus-visible, .sotto-privacy a:focus-visible,
.sotto-privacy-settings:focus-visible { outline: 2px solid #ffc563; outline-offset: 4px; }
@media (max-width: 480px) {
  .sotto-privacy { inset: auto 12px 12px 12px; width: auto; padding: 20px; max-height: calc(100dvh - 24px); }
  .sotto-privacy-actions { grid-template-columns: 1fr; gap: 8px; }
}
