/* Analytics consent. First-party only; no inline styles (CSP).
   app.css sets button { display: inline-flex }, which overrides the user-agent rule for
   the hidden attribute. Without this, the closed "Analytics cookies" control stays on
   screen and covers Accept. */
.gs-ga[hidden],.gs-ga-reopen[hidden]{display:none !important}
/* Open choice: a short docked bar, above the page, so Accept and Reject stay on screen.
   The closed chip sits lower in the stack and in the end corner (visual #5). */
.gs-ga{position:fixed;z-index:70;left:0;right:0;bottom:0;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;max-width:100%;background:#0e2a2f;color:#f5f7f7;padding:10px 16px calc(10px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));border-radius:16px 16px 0 0;box-shadow:0 -8px 28px rgba(6,24,28,.28)}
.gs-ga p{flex:1 1 32rem;margin:0;max-width:none;font-size:.8125rem;line-height:1.35}
.gs-ga a{color:#fff}
.gs-ga a:focus-visible,.gs-ga button:focus-visible,.gs-ga-reopen:focus-visible{outline:3px solid #fff;outline-offset:2px}
.gs-ga-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}
.gs-ga button,.gs-ga-reopen{box-sizing:border-box;min-height:44px;min-width:44px;padding:8px 14px;font:inherit;font-weight:600;border-radius:10px;cursor:pointer}
.gs-ga-accept{background:#fff;color:#0e2a2f;border:1px solid #fff}
.gs-ga-reject{background:transparent;color:#fff;border:1px solid #b6c6c6}
.gs-ga-reopen{position:fixed;z-index:30;left:auto;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 24px);background:#0e2a2f;color:#fff;border:1px solid #0e2a2f;font-size:.8125rem;line-height:1.2;box-shadow:0 8px 20px rgba(6,24,28,.28)}
/* 2.4.11: keyboard focus can scroll clear of the fixed choice. The chip is shorter than the open bar. */
html:has(.gs-ga:not([hidden])){scroll-padding-bottom:200px}
html:has(.gs-ga-reopen:not([hidden])){scroll-padding-bottom:72px}
body:has(.gs-ga:not([hidden])){padding-bottom:calc(11.5rem + env(safe-area-inset-bottom))}
body:has(.gs-ga-reopen:not([hidden])){padding-bottom:calc(4.25rem + env(safe-area-inset-bottom))}
@media (min-width:800px){
 body:has(.gs-ga:not([hidden])){padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}
}
@media print{.gs-ga,.gs-ga-reopen{display:none}html:has(.gs-ga){scroll-padding-bottom:0}body:has(.gs-ga),body:has(.gs-ga-reopen){padding-bottom:0}}
