:root {
  --bg: #0b1220;
  --card: #111827;
  --muted: #6b7280;
  --text: #e5e7eb;
  --accent: #60a5fa;
  --ok: #10b981;
  --warn: #f59e0b;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,.3);
}
* { box-sizing: border-box; }

#privacy-manage-btn {
  position: fixed; left: 16px; bottom: 16px; z-index: 9997;
  border: 0; padding: 10px 14px; background: #0000cf; color: var(--text);
  border-radius: 999px; box-shadow: var(--shadow); cursor: pointer; font-weight: 600;
  font-weight: 300; font-size: 11px;
}

.cookie-banner { position: fixed; inset-inline: 0; bottom: 0; z-index: 9998; display:none; }
.cookie-banner__card {
  margin: 16px auto; max-width: 980px; background: var(--card); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 18px; display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center;
}
.cookie-banner__title { color: white; font-size: 18px; margin: 0 0 6px; }
.cookie-banner__text { margin: 0; color: var(--muted); line-height: 1.4; }
.cookie-banner__actions { display:flex; gap: 10px; flex-wrap: wrap; }
.btn { border:0; border-radius: 12px; padding: 10px 14px; font-weight: 700; cursor: pointer; }
.btn--ghost { background: transparent; color: var(--text); outline: 1px solid #374151; }
.btn--primary { background: var(--ok); color: #052e1c; }
.btn--warn { background: #1f2937; color: var(--text); outline: 1px solid #374151; }

.cookie-banner a { text-decoration: underline; }

.modal { position: fixed; inset: 0; display:none; z-index: 9999; }
.modal__backdrop { position:absolute; inset:0; background: rgba(0,0,0,.55); }
.modal__dialog { position: relative; max-width: 720px; margin: 15vh auto; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; }
.modal__header { display:flex; justify-content: space-between; align-items: center; gap: 12px; }
.modal__title { margin:0; font-size: 20px; }
.modal__close { border:0; background: transparent; font-size: 22px; cursor:pointer; }
.modal__content { margin-top: 10px; }
.category { border: 1px solid #1f2937; border-radius: 12px; padding: 12px; margin-bottom: 12px; }
.category h4 { color: white; margin: 0 0 6px; }
.category p { margin: 0 0 8px; color: var(--muted); }
.switch { position: relative; display:inline-block; width: 46px; height: 26px; vertical-align: middle; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; inset: 0; background:#374151; transition: .2s; border-radius: 999px; }
.slider:before { position: absolute; content: ""; height: 20px; width: 20px; left: 3px; bottom: 3px; background: white; transition: .2s; border-radius: 50%; }
input:checked + .slider { background: var(--ok); }
input:checked + .slider:before { transform: translateX(20px); }

.modal__footer { display:flex; justify-content: space-between; align-items:center; gap: 8px; margin-top: 14px; }
.modal__footer .left { color: var(--muted); font-size: 14px; }
.modal__footer .right { display:flex; gap: 10px; }

.deferred-iframe { background:#0f172a; border:1px dashed #334155; border-radius:12px; padding:16px; color:#e5e7eb; }

@media (max-width: 720px) {
  .cookie-banner__card { grid-template-columns: 1fr; }
  .modal__dialog { margin: 0; min-height: 100vh; border-radius: 0; }
}
