.consent-banner {
  position: fixed;
  z-index: 1100;
  right: 24px;
  bottom: 24px;
  left: 24px;
  max-width: 760px;
  margin-left: auto;
  padding: 24px;
  border: 1px solid var(--neutral-200, #e5e7eb);
  border-top: 4px solid var(--accent-500, #ff9933);
  border-radius: 16px;
  background: #fff;
  color: var(--neutral-900, #111827);
  box-shadow: 0 16px 48px rgba(17, 24, 39, .2);
  font: 16px/1.6 var(--font-family, Poppins, sans-serif);
}

.consent-banner[hidden] { display: none; }
.consent-banner h2 { margin: 0 0 8px; color: var(--neutral-900, #111827); font-size: 22px; }
.consent-banner p { margin: 8px 0 14px; }
.consent-banner a { color: var(--primary-500, #0057ff); }
.consent-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.consent-actions button {
  flex: 1 1 150px;
  min-height: 46px;
  padding: 10px 16px;
  border: 1px solid var(--primary-500, #0057ff);
  border-radius: 10px;
  background: #fff;
  color: var(--primary-500, #0057ff);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease, transform 200ms ease;
}
.consent-actions button:hover { transform: translateY(-1px); background: var(--primary-100, #e6efff); }
.consent-actions #consent-accept { background: var(--primary-500, #0057ff); color: #fff; }
.consent-actions #consent-accept:hover { background: var(--primary-700, #0043c9); }
#consent-preferences { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--neutral-200, #e5e7eb); }
#consent-preferences label { display: block; margin: 8px 0; }
.consent-banner .small-note { color: var(--neutral-600, #4b5563); font-size: 13px; }
.site-cookie-preferences {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .7);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.site-cookie-preferences:hover { color: var(--accent-500, #ff9933); }
.site-cookie-preferences:focus-visible { outline: 2px solid var(--accent-500, #ff9933); outline-offset: 3px; }
.footer .footer-section h4 { color: #fff; }
.footer .footer-section a { color: rgba(255, 255, 255, .72); }
.footer .footer-section a:hover { color: var(--accent-500, #ff9933); }
.consent-banner button:focus-visible,
.consent-banner a:focus-visible,
.policy-preferences-link:focus-visible,
.nav-toggle:focus-visible { outline: 3px solid var(--accent-500, #ff9933); outline-offset: 3px; }

@media (max-width: 600px) {
  .consent-banner { right: 10px; bottom: 10px; left: 10px; padding: 18px; }
  .consent-actions button { flex-basis: 100%; }
}
