.cm-lock { overflow: hidden !important; }
.cm-cookie-root { --cm-bg:#fff; --cm-text:#222; --cm-button:#2267d8; --cm-button-text:#fff; --cm-accent:#2267d8; --cm-overlay:#000; --cm-offset-x:20px; --cm-offset-y:20px; position:relative; z-index:2147483000; font-family:Arial,sans-serif; }
.cm-cookie-overlay { position:fixed; inset:0; z-index:2147483000; display:none; background:var(--cm-overlay); opacity:.45; }
.cm-cookie-overlay.cm-visible { display:block; }
.cm-cookie-modal { position:fixed; z-index:2147483001; display:none; flex-direction:column; left:50%; top:50%; width:min(850px,calc(100% - 28px)); max-height:calc(100vh - 46px); transform:translate(-50%,-50%); background:var(--cm-bg); color:var(--cm-text); border-radius:8px; box-shadow:0 14px 50px rgba(0,0,0,.28); overflow:hidden; font-size:15px; line-height:1.5; }
.cm-cookie-modal.cm-visible { display:flex; }
.cm-cookie-header { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid #e8e8e8; }
.cm-cookie-header h2 { margin:0; font-size:20px; line-height:1.3; }
.cm-cookie-close { border:0; background:transparent; color:#7b7b7b; cursor:pointer; font-size:28px; line-height:1; padding:0 4px; }
.cm-cookie-scroll { overflow-y:auto; padding:0 24px; }
.cm-category { border-bottom:1px solid #e8e8e8; }
.cm-category-row { min-height:52px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.cm-category-title { flex:1; padding:16px 0 6px; font-size:16px; font-weight:700; }
.cm-category-description { display:block; padding:0 0 16px; color:#555; }
.cm-always-active { color:#258520; font-weight:700; white-space:nowrap; }
.cm-switch { position:relative; display:inline-block; width:44px; height:26px; flex:0 0 auto; }
.cm-switch input { opacity:0; width:0; height:0; }
.cm-slider { position:absolute; inset:0; cursor:pointer; background:#d2d6d7; border-radius:26px; transition:.2s; }
.cm-slider:before { content:""; position:absolute; width:20px; height:20px; left:3px; top:3px; background:#fff; border-radius:50%; box-shadow:0 1px 4px rgba(0,0,0,.25); transition:.2s; }
.cm-switch input:checked + .cm-slider { background:var(--cm-button); }
.cm-switch input:checked + .cm-slider:before { transform:translateX(18px); }
.cm-cookie-actions { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:10px; padding:16px 24px 20px; border-top:1px solid #e8e8e8; background:#fff; }
.cm-btn { min-height:44px; padding:10px 14px; border:2px solid var(--cm-button); border-radius:2px; cursor:pointer; font:inherit; font-weight:500; }
.cm-btn-outline { background:#fff; color:var(--cm-button); }
.cm-btn-primary { background:var(--cm-button); color:var(--cm-button-text); }
.cm-btn:hover { filter:brightness(.96); }
.cm-cookie-icon { position:fixed; z-index:2147482999; display:none; width:52px; height:52px; padding:0; border:0; border-radius:50%; background:var(--cm-accent); box-shadow:0 4px 16px rgba(0,0,0,.28); color:#fff; cursor:pointer; font-size:26px; line-height:52px; text-align:center; }
.cm-cookie-icon.cm-visible { display:block; }
.cm-icon-left .cm-cookie-icon { left:var(--cm-offset-x); }
.cm-icon-right .cm-cookie-icon { right:var(--cm-offset-x); }
.cm-icon-v-bottom .cm-cookie-icon { bottom:var(--cm-offset-y); }
.cm-icon-v-top .cm-cookie-icon { top:var(--cm-offset-y); }
.cm-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:700px) { .cm-cookie-modal { width:calc(100% - 16px); max-height:calc(100vh - 16px); } .cm-cookie-header,.cm-cookie-actions { padding-left:16px; padding-right:16px; } .cm-cookie-scroll { padding:0 16px; } .cm-cookie-actions { grid-template-columns:1fr; } .cm-category-row { min-height:56px; } }
