.swerve-analytics-consent[hidden]{display:none!important}
.swerve-analytics-consent{position:fixed;z-index:100000;bottom:18px;left:18px;max-width:440px;width:calc(100% - 36px);padding:22px 24px;background:#fff;color:#0b1220;border:1px solid #dce5f1;border-radius:18px;box-shadow:0 16px 55px #030d24a0}
.swerve-analytics-consent h2{font-size:1.18rem;letter-spacing:-.03em;margin:0 0 10px}
.swerve-analytics-consent p{font-size:.89rem;line-height:1.55;color:#455570;margin:0 0 18px}
.swerve-analytics-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.swerve-analytics-actions button{font-weight:700;font-size:.86rem;line-height:1.3;padding:11px 18px;border-radius:10px;border:1px solid #d2dced;color:#142239;background:white;cursor:pointer}
.swerve-analytics-actions button:last-child{background:#2563eb;border-color:#2563eb;color:white}
.swerve-analytics-actions button:hover,.swerve-analytics-actions button:focus-visible{box-shadow:0 0 0 3px #2563eb3d;color:#142239}
.swerve-analytics-actions button:last-child:hover,.swerve-analytics-actions button:last-child:focus-visible{background:#174cc5;color:#fff}
.swerve-footer-privacy{display:inline-flex;align-items:center;flex-wrap:wrap;gap:14px}.swerve-analytics-preferences{position:static!important;inset:auto!important;z-index:auto!important;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:2px 0;background:transparent!important;color:#b6c7e0!important;border:0!important;border-radius:0;font:inherit;font-weight:500;line-height:1.45;text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none!important;min-width:0;max-width:100%;white-space:normal}.swerve-analytics-preferences:hover{color:#fff!important}.swerve-analytics-preferences:focus-visible{outline:3px solid #14b8a6;outline-offset:4px}
@media(max-width:580px){.swerve-analytics-consent{bottom:12px;left:12px;width:calc(100% - 24px);padding:18px}.swerve-analytics-preferences{font-size:inherit}}
@media(prefers-reduced-motion:reduce){.swerve-analytics-consent,.swerve-analytics-preferences{animation:none!important;transition:none!important}}
/* Mobile consent prompt stays above the independent Ask Swerve launcher,
   so neither the close/choice buttons nor the chat can block one another. */
@media(max-width:580px){
 .swerve-analytics-consent:not([hidden]){
   bottom:max(94px,calc(env(safe-area-inset-bottom,0px) + 94px))!important;
   max-height:calc(100dvh - 116px);overflow:auto;
 }
}
