.cookie-banner {
  position: fixed;
  z-index: 120;
  left: max(20px, calc(var(--sidebar-width, 0px) + 20px));
  right: 20px;
  bottom: 20px;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 22px;
  color: #2a2525;
  background: #fff;
  border: 1px solid #e5dfdb;
  box-shadow: 0 18px 50px rgba(29,18,22,.2);
}
.cookie-banner.visible { display: flex; }
.cookie-banner p { margin: 0; line-height: 1.55; font-size: .88rem; }
.cookie-banner > div { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; white-space: nowrap; }
.cookie-banner a { color: #741f37; text-decoration: underline; }
.cookie-primary, .cookie-secondary {
  border: 1px solid #741f37;
  padding: 10px 14px;
  cursor: pointer;
  font-size: .78rem;
}
.cookie-primary { color: #fff; background: #741f37; }
.cookie-secondary { color: #741f37; background: #fff; }
.cookie-dialog { width: min(650px, 92vw); padding: 0; border: 0; color: #262626; box-shadow: 0 24px 70px rgba(29,18,22,.25); }
.cookie-dialog::backdrop { background: rgba(20,14,15,.58); backdrop-filter: blur(5px); }
.cookie-dialog-card { position: relative; padding: 38px; }
.cookie-dialog h2 { margin: 0 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: 2.2rem; color: #4a0f22; }
.cookie-dialog-card > p { line-height: 1.6; color: #5f5957; }
.cookie-close { position: absolute; right: 18px; top: 10px; border: 0; background: none; color: #741f37; font-size: 2rem; cursor: pointer; }
.cookie-category { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 16px 0; border-top: 1px solid #e5dfdb; }
.cookie-category strong { display: block; color: #4a0f22; margin-bottom: 4px; }
.cookie-category p { margin: 0; line-height: 1.5; color: #6f6a68; font-size: .84rem; }
.cookie-category input { width: 20px; height: 20px; accent-color: #741f37; }
.cookie-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
@media (max-width: 820px) {
  .cookie-banner { left: 12px; right: 12px; bottom: 12px; align-items: stretch; flex-direction: column; }
  .cookie-banner > div { white-space: normal; }
  .cookie-dialog-card { padding: 32px 20px 24px; }
}
