.consent-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2147483646; /* above most widgets */
  background: #0b0b0b;
  color: #fff;
  border-top: 1px solid #222;
  box-shadow: 0 -2px 12px rgba(0,0,0,0.4);
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

}

.consent-banner.hidden { display: none; }

.consent-container { max-width: 1240px; margin: 0 auto; padding: 10px 16px; }
.consent-head { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; margin-bottom: 2px; }
.consent-brand img { width: 28px; height: 28px; display: block; }
.consent-title { font-weight: 800; margin: 0; font-size: 16px; white-space: nowrap; }
.consent-desc { margin: 0; color: #d6d6d6; line-height: 1.2; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.consent-controls { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; margin-top: 2px; }
.consent-toggles { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; }
.consent-toggle { display: flex; align-items: center; gap: 10px; padding: 0; border: none; background: transparent; }
.consent-toggle h4 { margin: 0; font-size: 13px; font-weight: 800; color: #ffffff; }

.switch { position: relative; display: inline-block; width: 36px; height: 18px; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #1f1f1f; transition: .2s; border-radius: 18px; border: 1px solid #333; }
.slider:before { position: absolute; content: ""; height: 14px; width: 14px; left: 2px; bottom: 2px; background-color: #ffffff; transition: .2s; border-radius: 50%; box-shadow: 0 1px 2px rgba(0,0,0,.4); }
input:checked + .slider { background-color: #1982ff; border-color: #1982ff; }
input:checked + .slider:before { transform: translateX(16px); background-color: #0b0b0b; }
input:disabled + .slider { background-color: #2b2b2b; cursor: not-allowed; }

.consent-buttons { display: flex; flex-direction: row; gap: 8px; justify-self: end; }
.consent-btn { padding: 8px 12px; border: 2px solid #1982ff; color: #fff; background: transparent; border-radius: 8px; cursor: pointer; font-weight: 800; min-width: 160px; text-align: center; font-size: 13px; }
.consent-btn.primary { background: #2482f4; border-color: #1982ff; }
.consent-btn:hover { filter: brightness(1.1); }

.consent-links { margin-top: 2px; font-size: 13px; display: flex; justify-content: flex-end; }
.consent-links a { color: #1982ff; text-decoration: none; font-weight: 700; }
.consent-links a::after { content: " \203A"; font-size: 18px; margin-left: 6px; }
.consent-links a:hover { text-decoration: underline; }

@media (max-width: 992px) {
  .consent-head { grid-template-columns: 24px 1fr; }
  .consent-desc { display:none; }
  .consent-controls { grid-template-columns: 1fr; gap: 8px; }
  .consent-buttons { flex-direction: row; justify-content: space-between; }
  .consent-btn { min-width: 0; width: calc(33.33% - 8px); font-size: 12px; padding: 8px 10px; }
}

@media (max-width: 576px) {
  .consent-toggles { gap: 12px; }
  .consent-toggle h4 { font-size: 12px; }
  .switch { width: 32px; height: 16px; }
  .slider:before { width: 12px; height: 12px; transform: translateX(0); }
  input:checked + .slider:before { transform: translateX(14px); }
  .consent-btn { width: 100%; }
  .consent-buttons { flex-direction: column; gap:6px; }
}
