.privacy-settings { box-sizing: border-box; width: min(760px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; margin: auto; padding: 24px; border: 2px solid #345a42; border-radius: 12px; background: #fff; color: #25392e; overflow-wrap: anywhere; }
.privacy-settings::backdrop { background: #0006; }
.privacy-settings h2 { font-size: 26px; }
.privacy-settings p, .privacy-settings dd { font-size: 16px; line-height: 1.6; }
.privacy-settings dt { font-weight: 700; margin-top: 12px; }
.privacy-settings dd { margin: 4px 0 12px; }
.privacy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.privacy-settings button { min-height: 48px; padding: 12px 16px; border: 2px solid #345a42; border-radius: 6px; background: #fff; color: #25392e; font: inherit; cursor: pointer; }
.privacy-settings a { display: inline-block; padding: 10px 0; }
.privacy-settings :focus-visible, [data-privacy-open]:focus-visible { outline: 3px solid #934712; outline-offset: 4px; }
@media (max-width: 520px) { .privacy-settings { padding: 18px; } .privacy-actions { grid-template-columns: 1fr; } }

.privacy-notice { max-width: 1232px; margin: 16px auto; padding: 12px 24px; font-size: 13px; line-height: 1.6; color: #5f6b62; background: #eaf0e6; border-radius: 8px; }
@media (max-width: 1280px) { .privacy-notice { margin-left: 24px; margin-right: 24px; } }

/* Compact first notice; expanded explanations remain in the modal settings view. */
.privacy-settings{border-width:1px;padding:24px;font-size:14px;box-shadow:0 8px 32px #0002}
.privacy-settings h2{font-size:20px;line-height:1.3;margin:0 44px 12px 0}
.privacy-settings p,.privacy-settings dd{font-size:14px;line-height:1.5}
.privacy-settings #privacy-close{position:absolute;top:8px;right:8px;min-height:44px;width:44px;padding:0;border:0;font-size:24px;background:transparent}
.privacy-settings #privacy-summary,.privacy-settings #privacy-details{display:none}
.privacy-settings.privacy-compact{position:fixed;inset:auto 16px max(16px,env(safe-area-inset-bottom));margin:0 0 0 auto;width:min(480px,calc(100% - 32px));padding:16px;z-index:10000;max-height:calc(100dvh - 32px)}
.privacy-compact h2{font-size:16px;margin:0 40px 8px 0}
.privacy-compact>p,.privacy-compact>dl,.privacy-compact>#privacy-withdraw{display:none}
.privacy-compact #privacy-summary{display:block;margin:0 0 12px 0;font-size:13px;line-height:1.45}
.privacy-compact .privacy-actions{grid-template-columns:1fr 1fr;gap:8px;margin:0}
.privacy-compact .privacy-actions button{font-size:13px;min-height:44px;padding:8px}
.privacy-compact #privacy-details{display:block;min-height:44px;margin:4px 0 -4px;padding:4px 0;border:0;text-decoration:underline;background:transparent;font-size:13px}
.privacy-compact.privacy-alert #privacy-status{display:block;font-size:13px;margin:8px 0}
.privacy-notice{display:none}
@media(max-width:520px){.privacy-settings.privacy-compact{inset-inline:8px;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);padding:12px}.privacy-compact #privacy-summary{margin-right:16px}.privacy-compact #privacy-details{min-height:44px;margin-bottom:-8px}}

body:has(.privacy-compact[open]){padding-bottom:var(--privacy-notice-space,260px)}
