/* Website privacy controls, isolated from the marketing page typography. */
[data-wm-privacy] [hidden] { display: none !important; }
.wm-privacy-banner, .wm-privacy-dialog { color: #24272c; background: #fff; border: 1px solid #d9dde3; border-radius: 12px; box-shadow: 0 10px 35px #1520331c; font: 13px/1.45 system-ui, sans-serif; }
.wm-privacy-banner { position: fixed; inset: auto 24px 24px auto; z-index: 1000; width: min(420px, calc(100vw - 32px)); padding: 16px; box-sizing: border-box; max-height: calc(100dvh - 32px); overflow: auto; }
[data-wm-privacy] .wm-privacy-banner h2, [data-wm-privacy] .wm-privacy-dialog h2 { margin: 0; font: 650 17px/1.3 system-ui, sans-serif; letter-spacing: -.02em; color: #24272c; }
.wm-privacy-banner p, .wm-privacy-dialog p { margin: 8px 0 12px; font-size: 13px; color: #505965; }
.wm-privacy-banner a, .wm-privacy-dialog a { color: #1b5fb7; text-decoration: underline; }
.wm-privacy-actions { display: flex; gap: 8px; }
.wm-privacy-actions button { flex: 1; min-height: 38px; padding: 8px 12px; border: 1px solid #2267c4; border-radius: 8px; background: #fff; color: #1b5fb7; font: 600 13px/1.4 system-ui, sans-serif; cursor: pointer; }
.wm-privacy-actions button:hover { background: #edf4fe; }
.wm-privacy-actions [data-privacy-accept], .wm-privacy-actions [data-privacy-save] { background: #2267c4; color: #fff; }
.wm-privacy-actions [data-privacy-accept]:hover, .wm-privacy-actions [data-privacy-save]:hover { background: #1957a9; }
.wm-privacy-dialog { z-index: 1001; position: fixed; inset: auto 24px 24px auto; margin: 0; overflow: auto; width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 16px; box-sizing: border-box; }
.wm-privacy-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wm-privacy-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 14px 0; }
.wm-privacy-option { display: flex; align-items: center; gap: 8px; min-height: 32px; cursor: pointer; }
.wm-privacy-option strong { display: block; font-size: 14px; font-weight: 500; }
.wm-privacy-option input { appearance: auto; flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #2267c4; cursor: pointer; }
.wm-privacy-option input:disabled { cursor: not-allowed; }
.wm-privacy-actions button:disabled { opacity: .55; cursor: not-allowed; }
.wm-privacy-confirm { justify-content: center; margin-top: 12px; }
.wm-privacy-confirm button { flex: 1; }
.wm-privacy-settings { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.wm-privacy-settings-floating { position: fixed; bottom: 12px; left: 12px; background: #fff; color: #24272c; border: 1px solid #d9dde3; border-radius: 8px; padding: 8px 12px; z-index: 999; }
[data-wm-privacy] button:focus-visible, [data-wm-privacy] input:focus-visible, .wm-privacy-settings:focus-visible { outline: 3px solid #296cb6; outline-offset: 3px; }
@media (max-width: 540px) { .wm-privacy-banner { right: 16px; bottom: 16px; padding: 14px; } .wm-privacy-dialog { right: 16px; bottom: 16px; padding: 14px; } .wm-privacy-actions { gap: 8px; } }
