.cm-privacy { --cmp-ink:#183c45;--cmp-green:#28614f;--cmp-line:#dce5e0;--cmp-muted:#536866;position:relative;z-index:2147483000;font-family:inherit;color:var(--cmp-ink);font-size:14px;line-height:1.55;text-align:left; }
.cm-privacy * { box-sizing:border-box; }
.cm-privacy [hidden] { display:none!important; }
.cm-privacy h2,.cm-privacy h3,.cm-privacy p { margin:0;padding:0;font-family:inherit;text-transform:none;letter-spacing:normal; }
.cm-privacy a { color:inherit;text-decoration:underline;text-underline-offset:3px; }
.cm-privacy button { font:inherit;cursor:pointer;text-transform:none;letter-spacing:normal; }
.cm-privacy button:focus-visible,.cm-privacy a:focus-visible { outline:3px solid #387b72;outline-offset:4px; }
.cm-privacy-banner { position:fixed;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:360px;max-width:calc(100vw - 32px);padding:23px;border:1px solid #d9e5df;border-radius:22px;background:linear-gradient(125deg,#f0f6f8,#edf5ee);box-shadow:0 12px 48px #163c4524; }
.cm-privacy-heading { display:flex;align-items:center;gap:10px;margin-bottom:12px; }
.cm-privacy-shield { width:23px;height:23px;flex:none;color:var(--cmp-green); }
.cm-privacy .cm-privacy-heading h2 { font-size:20px;line-height:1.2;font-weight:600;letter-spacing:-.025em;color:var(--cmp-ink); }
.cm-privacy-banner p { font-size:13px;line-height:1.65;color:var(--cmp-muted); }
.cm-privacy-banner-actions { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px; }
.cm-privacy .cm-privacy-button { display:flex;align-items:center;justify-content:center;min-height:44px;padding:11px 12px;border:1px solid transparent;border-radius:12px;box-shadow:none;font-size:13px;font-weight:600;line-height:1.3;transition:background .15s ease; }
.cm-privacy .cm-privacy-primary { color:#fff;background:var(--cmp-green);border-color:var(--cmp-green); }
.cm-privacy .cm-privacy-primary:hover { background:#1d4d3e; }
.cm-privacy .cm-privacy-secondary { color:var(--cmp-ink);background:#ffffffa6;border-color:#c7d6ce; }
.cm-privacy .cm-privacy-secondary:hover { background:#e3ede7; }
.cm-privacy .cm-privacy-save { color:var(--cmp-ink);background:#edf2f1;border-color:#d8e2dc; }
.cm-privacy .cm-privacy-save:hover { background:#dfeae5; }
.cm-privacy-launcher { position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 13px;border:1px solid var(--cmp-line);border-radius:24px;background:#f5f9f5;color:var(--cmp-ink);box-shadow:0 3px 16px #163c4517;font-size:12px!important; }
.cm-privacy-launcher svg { width:19px;height:19px; }
.cm-privacy-dialog { width:560px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:0;border:1px solid #dce7e1;border-radius:24px;color:var(--cmp-ink);background:#fafcf9;box-shadow:0 24px 100px #092f3b40;overflow:auto;overscroll-behavior:contain; }
.cm-privacy-dialog[open] { display:flex;flex-direction:column; }
.cm-privacy-dialog::backdrop { background:#102d3b85;backdrop-filter:blur(5px); }
.cm-privacy-dialog-head { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:28px 28px 24px;background:linear-gradient(120deg,#e4eef3,#e6f0e6);flex:none; }
.cm-privacy-eyebrow { display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;color:#52746c; }
.cm-privacy .cm-privacy-dialog-head h2 { color:var(--cmp-ink);font-size:25px;line-height:1.18;letter-spacing:-.035em;font-weight:600;overflow-wrap:anywhere; }
.cm-privacy-close { display:grid;place-items:center;flex:none;width:44px;height:44px;margin:-8px -8px 0 0;padding:10px;border:0;border-radius:50%;background:#ffffff80;color:var(--cmp-ink); }
.cm-privacy-close svg { width:22px;height:22px; }
.cm-privacy-dialog-body { min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 28px; }
.cm-privacy-dialog-body>p { color:var(--cmp-muted);font-size:13px;line-height:1.65; }
.cm-privacy-options { margin:20px 0; }
.cm-privacy-option { position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--cmp-line); }
label.cm-privacy-option { cursor:pointer; }
.cm-privacy .cm-privacy-option h3,.cm-privacy-option-title { display:block;color:var(--cmp-ink);font-size:15px;font-weight:600;line-height:1.4;margin-bottom:5px; }
.cm-privacy .cm-privacy-option p,.cm-privacy-option-description { display:block;font-size:12px;line-height:1.6;color:var(--cmp-muted); }
.cm-privacy-required { flex:none;font-size:10px;font-weight:600;white-space:nowrap;color:#37725b;border:1px solid #d4e5d9;background:#edf5ed;padding:5px 8px;border-radius:20px; }
.cm-privacy-option input { position:absolute;right:0;top:calc(50% - 22px);width:48px;height:44px;margin:0;opacity:0;cursor:pointer; }
.cm-privacy-toggle { position:relative;display:block;flex:none;width:42px;height:25px;border-radius:20px;background:#c4cfca;pointer-events:none;transition:background .15s ease; }
.cm-privacy-toggle::before { content:'';position:absolute;width:19px;height:19px;top:3px;left:3px;background:white;border-radius:50%;box-shadow:0 1px 3px #14332226;transition:transform .15s ease; }
.cm-privacy-option input:checked+.cm-privacy-toggle { background:var(--cmp-green); }
.cm-privacy-option input:checked+.cm-privacy-toggle::before { transform:translateX(17px); }
.cm-privacy-option input:focus-visible+.cm-privacy-toggle { outline:3px solid #387b72;outline-offset:4px; }
.cm-privacy .cm-privacy-policy-link { font-size:12px; }
.cm-privacy-dialog-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px 28px 24px;flex:none;border-top:1px solid var(--cmp-line);background:#fafcf9; }
.cm-privacy-dialog-actions .cm-privacy-save { grid-column:1/-1; }
.cm-privacy-sr { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
html.cm-privacy-modal-open { overflow:hidden; }
@media(max-width:480px) {
 .cm-privacy-banner { left:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:20px; }
 .cm-privacy-dialog { max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);border-radius:20px; }
 .cm-privacy-dialog-head { padding:24px 20px 20px;gap:8px; }
 .cm-privacy .cm-privacy-dialog-head h2 { font-size:22px; }
 .cm-privacy-dialog-body { padding:20px; }
 .cm-privacy-dialog-actions { padding:16px 20px 20px;gap:8px; }
 .cm-privacy .cm-privacy-dialog-actions .cm-privacy-button { font-size:12px;padding:11px 8px; }
 .cm-privacy-option { gap:12px; }
 .cm-privacy-launcher { left:16px;bottom:max(14px,env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { .cm-privacy * { transition:none!important; } }
