.site-notice-backdrop {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9998;
}

.site-notice-box {
  background: #fff;
  color: #333;
  padding: 1.5rem;
  border-radius: 12px;
  max-width: 480px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  font-family: system-ui, sans-serif;
  text-align: left;
  z-index: 9999;
}

.site-notice-box h3 {
  margin-top: 0;
}

.site-notice-options {
  margin: 1rem 0;
}

.site-notice-options label {
  display: block;
  margin-bottom: 0.5rem;
}

.site-notice-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.site-notice-actions button {
  border: none;
  border-radius: 6px;
  padding: 0.5rem 1rem;
  cursor: pointer;
}

.site-notice-actions .accept {
  background: #0077cc;
  color: white;
}

.site-notice-actions .decline {
  background: #ccc;
  color: black;
}

.cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0;
  background: #fff; box-shadow: 0 -2px 6px rgba(0,0,0,0.2);
  padding: 1.5rem; font-family: sans-serif; z-index: 9999;
}

.cookie-box { max-width: 700px; margin: 0 auto; text-align: center; }
.cookie-buttons { margin-top: 1rem; display: flex; gap: 0.5rem; justify-content: center; }
.btn.primary { background: #0077cc; color: #fff; border: none; padding: .6rem 1.2rem; border-radius: .3rem; }
.btn.secondary { background: #eee; border: none; padding: .6rem 1.2rem; border-radius: .3rem; }
.btn.link { background: transparent; border: none; color: #0077cc; text-decoration: underline; cursor: pointer; }
.hidden { display: none; }
