:root {
  --ukf-consent-bg:#181728;
  --ukf-consent-panel:#242238;
  --ukf-consent-border:rgba(161,125,255,.34);
  --ukf-consent-text:#f7f4ff;
  --ukf-consent-muted:#c7c0d8;
  --ukf-consent-accent:#8061df;
  --ukf-consent-accent-2:#9979f0;
}
html.ukf-consent-open { overflow:hidden; }

.ukf-consent[hidden],
.ukf-consent [hidden] { display:none !important; }

.ukf-consent {
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:20px;
  background:rgba(7,6,17,.54);
  backdrop-filter:blur(5px);
  color:var(--ukf-consent-text);
  font-family:inherit;
  box-sizing:border-box;
}
.ukf-consent *, .ukf-consent *::before, .ukf-consent *::after { box-sizing:border-box; }

.ukf-consent__banner,
.ukf-consent__panel,
.ukf-consent__media-prompt {
  width:min(1180px, 100%);
  border:1px solid var(--ukf-consent-border);
  border-radius:22px;
  background:linear-gradient(145deg, rgba(39,36,61,.98), rgba(24,23,40,.99));
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}

.ukf-consent__banner {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:26px 28px;
}
.ukf-consent__eyebrow {
  display:block;
  margin-bottom:6px;
  color:#b9a6ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
}
.ukf-consent h2 { margin:0 0 8px; color:var(--ukf-consent-text); font-size:22px; line-height:1.2; }
.ukf-consent p { margin:0; color:var(--ukf-consent-muted); line-height:1.55; }
.ukf-consent__privacy,
.ukf-consent__panel-actions a {
  display:inline-block;
  margin-top:10px;
  color:#c6b8ff;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ukf-consent__actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ukf-consent__button {
  min-height:46px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  background:#302d47;
  color:#fff;
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
.ukf-consent__button:hover { filter:brightness(1.08); }
.ukf-consent__button--primary {
  border-color:transparent;
  background:linear-gradient(135deg,var(--ukf-consent-accent),var(--ukf-consent-accent-2));
}
.ukf-consent__button--ghost { background:transparent; }

.ukf-consent__panel,
.ukf-consent__media-prompt {
  align-self:center;
  width:min(720px, 100%);
  padding:26px;
}
.ukf-consent__panel-head {
  display:flex;
  gap:20px;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:22px;
}
.ukf-consent__close {
  flex:0 0 42px;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.ukf-consent__rows {
  border-top:1px solid rgba(255,255,255,.09);
}
.ukf-consent__row {
  display:flex;
  gap:20px;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.ukf-consent__row strong { display:block; margin-bottom:5px; color:#fff; }
.ukf-consent__row p { font-size:14px; }
.ukf-consent__always {
  flex:0 0 auto;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(128,97,223,.18);
  color:#d9d0ff;
  font-size:12px;
  font-weight:800;
}
.ukf-consent__row--switch { cursor:pointer; }
.ukf-consent__switch { position:relative; flex:0 0 52px; width:52px; height:30px; }
.ukf-consent__switch input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ukf-consent__switch span {
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:#343147;
  transition:.18s ease;
}
.ukf-consent__switch span::after {
  content:"";
  position:absolute;
  top:4px;
  left:4px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  transition:.18s ease;
}
.ukf-consent__switch input:checked + span { background:var(--ukf-consent-accent); }
.ukf-consent__switch input:checked + span::after { transform:translateX(22px); }
.ukf-consent__switch input:focus-visible + span { outline:2px solid #fff; outline-offset:3px; }

.ukf-consent__panel-actions,
.ukf-consent__media-actions {
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-top:22px;
}
.ukf-consent__media-prompt p { margin:4px 0 22px; }
.ukf-consent-link {
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:820px) {
  .ukf-consent { padding:12px; }
  .ukf-consent__banner { grid-template-columns:1fr; padding:20px; }
  .ukf-consent__actions { justify-content:stretch; }
  .ukf-consent__actions .ukf-consent__button { flex:1 1 180px; }
  .ukf-consent__panel, .ukf-consent__media-prompt { padding:20px; max-height:calc(100vh - 24px); overflow:auto; }
}
@media (max-width:520px) {
  .ukf-consent__row { align-items:flex-start; }
  .ukf-consent__panel-actions, .ukf-consent__media-actions { flex-direction:column; align-items:stretch; }
  .ukf-consent__panel-actions a { order:2; text-align:center; }
  .ukf-consent__button { width:100%; }
}
