#stage-cookie-banner, #stage-cookie-banner * { box-sizing:border-box; }
#stage-cookie-banner { position:fixed; z-index:10000; bottom:1rem; left:1rem; right:1rem; width:calc(100% - 2rem); max-width:44rem; padding:1.5rem; border:1px solid var(--color-navy,#0f4c81); border-radius:12px; background:#fff; color:#173042; box-shadow:0 6px 30px #0003; max-height:calc(100dvh - 2rem); overflow:auto; font-size:.95rem; }
#stage-cookie-banner[hidden], #stage-cookie-details[hidden], #stage-cookie-settings[hidden] { display:none; }
#stage-cookie-banner h2 { font-size:1.35rem; line-height:1.3; margin:0 0 .75rem; }
#stage-cookie-banner p { margin:0 0 .8rem; line-height:1.5; }
#stage-cookie-banner a { color:#0f4c81; text-decoration:underline; }
.stage-cookie-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
#stage-cookie-banner button, #stage-cookie-settings { border:1px solid #0f4c81; padding:.7rem 1rem; background:#0f4c81; color:#fff; border-radius:6px; font:inherit; font-weight:700; cursor:pointer; }
#stage-cookie-banner button:focus-visible, #stage-cookie-settings:focus-visible { outline:3px solid #fc440c; outline-offset:3px; }
#stage-cookie-details { padding:1rem 0; }
#stage-cookie-details h3 { margin:0 0 1rem; font-size:1.1rem; line-height:1.4; }
#stage-cookie-details label { display:flex; align-items:start; gap:.6rem; margin-bottom:1rem; }
#stage-cookie-details input { margin-top:.3rem; flex-shrink:0; }
#stage-cookie-settings { position:fixed; bottom:1rem; left:1rem; z-index:9999; font-size:.8rem; }
#stage-cookie-banner .stage-cookie-feedback:empty { display:none; }
@media(max-width:540px) { #stage-cookie-banner { padding:1rem; } .stage-cookie-actions { display:grid; grid-template-columns:1fr; } }
