#consent-banner[hidden],#consent-reset[hidden]{display:none}
#consent-banner{position:fixed;z-index:90;right:24px;bottom:24px;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:24px;border:1px solid #e7e1f0;border-radius:18px;background:#fff;color:#21182c;box-shadow:0 12px 60px #25143f26;font-family:var(--font-body)}
#consent-banner h2{font-family:var(--font-display);font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.03em;margin:0 0 12px}
#consent-banner p{font-size:13px;line-height:1.65;color:#635a70;margin:0 0 12px}
#consent-banner .consent-policy{display:inline-block;font-size:12px;color:#6937bd;text-decoration:underline;text-underline-offset:3px;margin-bottom:18px}
#consent-banner details{border:1px solid #e9e3f2;border-radius:10px;background:#faf8fd}
#consent-banner summary{cursor:pointer;padding:12px 14px;font-size:13px;font-weight:600}
#consent-banner .consent-options{padding:2px 14px 14px}
#consent-banner label{display:flex;align-items:start;gap:10px;margin:14px 0;font-size:12px;line-height:1.55;color:#635a70;cursor:pointer}
#consent-banner input{flex-shrink:0;width:17px;height:17px;margin-top:3px;accent-color:#7c3aed}
#consent-banner strong{display:block;color:#21182c;font-size:13px;font-weight:600;margin-bottom:2px}
#consent-banner button{border:1px solid #ded4ed;border-radius:8px;min-height:44px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.4;background:#fff;color:#6937bd;cursor:pointer}
#consent-banner .consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
#consent-banner #consent-accept{background:#7c3aed;color:#fff;border-color:#7c3aed}
#consent-banner button:hover{filter:brightness(.96)}
#consent-banner :focus-visible,#consent-reset:focus-visible{outline:3px solid #c09bea;outline-offset:3px}
#consent-reset{font:inherit;color:inherit;cursor:pointer}
@media(max-width:600px){#consent-banner{right:16px;bottom:16px;padding:20px;max-height:calc(100dvh - 32px)}#consent-banner h2{font-size:18px}}
