.cookie-banner {
  position: fixed;
  right: 24px;
  bottom: 24px;
  left: 24px;
  z-index: 10000;
  display: none;
  justify-content: center;
  pointer-events: none;
}
.cookie-banner.is-visible { display: flex; }

.cookie-banner__panel {
  width: 100%;
  max-width: 960px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 24px;
  background: rgba(12,12,12,0.96);
  box-shadow: 0 24px 70px rgba(0,0,0,0.32);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  pointer-events: auto;
}
.cookie-banner__panel--custom { flex-direction: column; align-items: stretch; gap: 16px; }

.cookie-banner__copy { max-width: 580px; }
.cookie-banner__eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px;
  color: rgba(255,255,255,0.76); font-family: var(--ff-nav, 'Plus Jakarta Sans', sans-serif);
  font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
}
.cookie-banner__dot {
  width: 7px; height: 7px; border-radius: 50%; background: #7b8cff;
  box-shadow: 0 0 0 6px rgba(123,140,255,0.14);
}
.cookie-banner__text { color: rgba(255,255,255,0.88); font-size: 14px; line-height: 1.65; }
.cookie-banner__link { color: rgba(123,140,255,0.9); text-decoration: underline; }

/* Preferences */
.cookie-banner__prefs { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.cookie-pref {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
}
.cookie-pref__info { display: flex; flex-direction: column; gap: 3px; }
.cookie-pref__info strong { font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.9); }
.cookie-pref__info span { font-size: 12px; color: rgba(255,255,255,0.45); }
.cookie-pref__badge { font-size: 11px; font-weight: 600; color: rgba(123,140,255,0.8); white-space: nowrap; }

/* Toggle */
.cookie-toggle { position: relative; display: inline-block; width: 40px; height: 22px; flex-shrink: 0; }
.cookie-toggle input { opacity: 0; width: 0; height: 0; }
.cookie-toggle__slider {
  position: absolute; inset: 0; cursor: pointer;
  background: rgba(255,255,255,0.14); border-radius: 22px; transition: .3s;
}
.cookie-toggle__slider::before {
  content: ''; position: absolute;
  width: 16px; height: 16px; left: 3px; bottom: 3px;
  background: #fff; border-radius: 50%; transition: .3s;
}
.cookie-toggle input:checked + .cookie-toggle__slider { background: #7b8cff; }
.cookie-toggle input:checked + .cookie-toggle__slider::before { transform: translateX(18px); }

/* Actions */
.cookie-banner__actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

.cookie-banner__btn {
  min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid transparent;
  font-family: var(--ff-h, 'Plus Jakarta Sans', sans-serif);
  font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.cookie-banner__btn:hover { transform: translateY(-1px); }
.cookie-banner__btn--ghost { background: transparent; border-color: rgba(255,255,255,0.14); color: rgba(255,255,255,0.8); }
.cookie-banner__btn--outline { background: transparent; border-color: rgba(123,140,255,0.4); color: rgba(123,140,255,0.9); }
.cookie-banner__btn--outline:hover { border-color: rgba(123,140,255,0.7); }
.cookie-banner__btn--primary { background: #fff; color: #0e0e0e; border-color: #fff; }

/* Mobile */
@media screen and (max-width: 767px) {
  .cookie-banner { right: 16px; bottom: 16px; left: 16px; }
  .cookie-banner__panel {
    flex-direction: column; align-items: stretch; gap: 16px;
    padding: 18px; border-radius: 20px;
  }
  .cookie-banner__copy { max-width: none; }
  .cookie-banner__actions { width: 100%; flex-direction: column-reverse; }
  .cookie-banner__btn { width: 100%; justify-content: center; }
}
