.mg-cookie-banner { position:fixed; z-index:1000; bottom:24px; left:50%; transform:translateX(-50%); width:min(540px,calc(100% - 48px)); max-height:calc(100dvh - 48px); overflow:auto; box-sizing:border-box; padding:28px 30px; border:1px solid #dce2ec; border-radius:14px; background:#fff; box-shadow:0 18px 64px #15192229; color:#20252f; font:16px/1.55 Arial,Helvetica,sans-serif; }
.mg-cookie-banner[hidden] { display:none; }
.mg-cookie-banner * { box-sizing:border-box; }
.mg-cookie-banner p { margin:0; font:16px/1.55 Arial,Helvetica,sans-serif; color:#526078; }
.mg-cookie-banner .mg-cookie-policy { color:#2857df; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.mg-cookie-actions { display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px; margin-top:20px; }
.mg-cookie-button { min-height:46px; padding:11px 22px; border:1px solid #2f63ed; border-radius:7px; color:#fff; background:#2f63ed; font:15px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; }
.mg-cookie-settings { min-width:0; }
.mg-cookie-settings summary { display:flex; align-items:center; gap:8px; min-height:44px; width:fit-content; padding:4px 0; list-style:none; cursor:pointer; color:#2857df; font:15px/1.5 Arial,Helvetica,sans-serif; }
.mg-cookie-settings summary::-webkit-details-marker { display:none; }
.mg-cookie-settings summary::after { content:""; width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.mg-cookie-settings[open] { grid-column:1/-1; }
.mg-cookie-settings[open] summary::after { transform:translateY(2px) rotate(225deg); }
.mg-cookie-settings[open] ~ .mg-cookie-accept { display:none; }
.mg-cookie-options { padding-top:6px; }
.mg-cookie-checks { display:flex; flex-wrap:wrap; gap:6px 22px; margin-bottom:8px; }
.mg-cookie-checks label { display:flex; align-items:center; gap:8px; min-height:40px; color:#20252f; font:14px/1.5 Arial,Helvetica,sans-serif; cursor:pointer; }
.mg-cookie-checks input { width:18px; height:18px; accent-color:#2f63ed; flex-shrink:0; margin:0; }
.mg-cookie-banner .mg-cookie-options p { font-size:13px; }
.mg-cookie-options .mg-cookie-button { display:block; margin:18px 0 0 auto; }
.mg-cookie-reopen { position:static; display:inline-flex; align-items:center; min-height:32px; padding:4px 0; border:0; border-radius:0; background:none; box-shadow:none; color:inherit; opacity:.8; font:inherit; font-size:12px; line-height:1.5; cursor:pointer; text-align:left; }
.mg-cookie-footer { padding:20px 24px; color:#647084; }
.mg-cookie-banner :is(button,summary,input,a):focus-visible, .mg-cookie-reopen:focus-visible { outline:2px solid #6992f7; outline-offset:3px; }
@media(max-width:650px) { .mg-cookie-banner { bottom:16px; width:calc(100% - 32px); max-width:540px; max-height:calc(100dvh - 32px); padding:22px 20px; } .mg-cookie-banner p { font-size:15px; } }
@media(pointer:coarse) { .mg-cookie-button, .mg-cookie-settings summary, .mg-cookie-checks label, .mg-cookie-reopen { min-height:44px; } }
@media(hover:hover) { .mg-cookie-button:hover { background:#2857df; } .mg-cookie-reopen:hover { opacity:1; } }
