/* Hide legacy banner — replaced by new Consent Mode v2 banner below */
#cc-banner { display: none !important; }

.cb-banner {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 9999;
  background: #fff;
  color: #1F6B4A;
  border-top: 3px solid #3FAE6A;
  box-shadow: 0 -8px 32px rgba(0,0,0,.15);
  padding: 1rem 1.25rem;
  font: 14px/1.5 system-ui, -apple-system, sans-serif;
  transform: translateY(100%);
  transition: transform .35s ease-out;
}
.cb-banner[data-shown="1"] { transform: translateY(0); }
.cb-banner__inner { max-width: 1200px; margin: 0 auto; }
.cb-banner__text { margin: 0 0 .75rem; }
.cb-banner__text a { color: #1F6B4A; text-decoration: underline; }
.cb-banner__actions { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.cb-banner__btn {
  border: 1.5px solid #1F6B4A;
  background: #fff;
  color: #1F6B4A;
  padding: .55rem 1.1rem;
  border-radius: 4px;
  font: 600 13px/1 system-ui, sans-serif;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.cb-banner__btn:hover { background: #f0f9f4; }
.cb-banner__btn--primary {
  background: #1F6B4A;
  color: #fff;
}
.cb-banner__btn--primary:hover { background: #144a32; }
.cb-banner__customize {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e5e5;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.cb-banner__customize[hidden] { display: none; }
.cb-banner__cat {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  cursor: pointer;
}
.cb-banner__cat input { margin-top: .2rem; }
.cb-banner__cat-label { font-weight: 600; }
.cb-banner__cat-desc { display: block; font-weight: 400; color: #666; font-size: .8rem; margin-top: .15rem; }
.cb-banner__customize .cb-banner__btn { align-self: flex-end; margin-top: .5rem; }
@media (max-width: 600px) {
  .cb-banner { padding: .8rem .9rem; font-size: 13px; }
  .cb-banner__actions { justify-content: stretch; }
  .cb-banner__btn { flex: 1; min-width: 110px; padding: .65rem .5rem; font-size: 12px; }
}
