.cookie-banner[hidden] { display: none !important; }
.cookie-banner { position: fixed; z-index: 2147483647; left: 20px; bottom: 20px; width: 400px; max-width: calc(100vw - 40px); padding: 22px; box-sizing: border-box; background: #fff; color: #18212d; border: 1px solid #d7dce2; border-top: 4px solid #e87923; box-shadow: 0 8px 40px #0003; max-height: calc(100dvh - 40px); overflow-y: auto; }
.cookie-copy h2 { font-family: inherit; font-size: 1.1rem; font-weight: 700; line-height: 1.3; margin: 0 0 8px; }
.cookie-banner p { margin: 0; font-size: .86rem; line-height: 1.6; }
.cookie-banner a { color: #88400c; text-decoration: underline; }
.cookie-actions { margin-top: 16px; }
.cookie-button { font-family: inherit; font-weight: 700; font-size: .85rem; padding: 10px 22px; background: #18212d; color: #fff; border: 2px solid #18212d; cursor: pointer; }
.cookie-button:hover { background: #354253; }
.cookie-banner button:focus-visible, .footer-privacy a:focus-visible, .footer-privacy button:focus-visible { outline: 3px solid #e87923; outline-offset: 3px; }
.footer-privacy { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.footer-privacy a, .footer-privacy button { color: #c4cbd4; font-family: inherit; font-size: .8rem; text-decoration: underline; }
.footer-privacy button { background: none; border: 0; padding: 0; cursor: pointer; }
@media (max-width: 700px) {
  .cookie-banner { left: 12px; bottom: 12px; width: calc(100vw - 24px); max-width: none; padding: 18px; }
  .footer-bottom { flex-wrap: wrap; }
}