/* Final layout corrections: full-width legal bar, viewport footer behavior and cookie modal. */
html, body { min-height: 100%; }
body { min-height: 100vh; display: flex; flex-direction: column; }
body > .site-footer { margin-top: auto; }
.site-footer { padding-bottom: 0; }
.site-footer > .container { max-width: none; width: 100%; padding-left: 0; padding-right: 0; }
.site-footer .footer-top { padding: 60px 20px 50px; max-width: var(--container-max); margin-left: auto; margin-right: auto; }
.site-footer .footer-bottom { width: 100%; border-radius: 0; margin-left: 0; margin-right: 0; padding: 24px max(20px, calc((100vw - var(--container-max)) / 2 + 20px)); }
.site-footer .footer-bottom > div { color: #fff !important; }
.cookie-consent-banner { left: 50%; bottom: 24px; width: min(760px, calc(100% - 32px)); transform: translateX(-50%); border: 1px solid var(--accent-color); border-radius: 12px; background: rgba(13, 13, 13, .98); padding: 24px; box-shadow: 0 18px 60px rgba(0, 0, 0, .55); }
.cookie-content-wrapper { gap: 20px; }
.cookie-text { color: #fff; max-width: none; flex: 1 1 420px; }
.cookie-actions { flex: 0 0 auto; }
@media (max-width: 700px) {
  .site-footer .footer-top { padding: 48px 20px 36px; }
  .site-footer .footer-bottom { padding: 20px; }
  .cookie-consent-banner { bottom: 16px; padding: 20px; }
  .cookie-actions { width: 100%; }
  .cookie-actions .btn { flex: 1; }
}
