/* Pixelcard Cookie Consent – neon/glassmorphism theme */
:root {
  --pccc-theme: #0a57ff;
  --pccc-accent: #ff6b00;
  --pccc-surface: rgba(5, 15, 40, .75);
  --pccc-border: rgba(255, 255, 255, .12);
  --pccc-text: #E6EEFF;
}

.pccc-wrap {
  position: fixed;
  z-index: 99999;
  inset-inline: 0;
  display: none;
  pointer-events: none;
  font-family: var(--pccc-font, Inter, Arial, sans-serif);
}
.pccc-wrap.pccc-show { display:block; }

.pccc-inner {
  max-width: 1080px;
  margin: 18px auto;
  pointer-events: auto;
  border-radius: 18px;
  padding: 20px 22px;
  color: var(--pccc-text);
  background:
    radial-gradient(120% 120% at 10% 10%, color-mix(in oklab, var(--pccc-theme) 35%, transparent), transparent 60%),
    radial-gradient(120% 120% at 90% 10%, color-mix(in oklab, var(--pccc-accent) 30%, transparent), transparent 55%),
    var(--pccc-surface);
  border: 1px solid var(--pccc-border);
  backdrop-filter: blur(var(--pccc-blur, 14px)) saturate(140%);
  -webkit-backdrop-filter: blur(var(--pccc-blur, 14px)) saturate(140%);
  box-shadow: 0 18px 48px rgba(0,0,0,.45);
  opacity: var(--pccc-opacity, .96);
  transform: translateY(14px);
  animation: pccc-pop .6s cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes pccc-pop {
  to { transform: translateY(0); }
}

.pccc-top { top: 0; }
.pccc-bottom { bottom: 0; }

.pccc-layout-bar .pccc-inner { display:flex; align-items:center; gap:18px; }
.pccc-layout-box .pccc-inner { display:grid; gap:16px; }

.pccc-title { font-weight: 900; font-size: 18px; letter-spacing:.3px; }
.pccc-text { line-height: 1.55; opacity:.98; }
.pccc-text a { color: #9ec5ff; text-decoration: underline; }

.pccc-actions { margin-left: auto; display:flex; gap:12px; flex-wrap: wrap; }

.pccc-btn {
  border: 0;
  padding: 12px 16px;
  border-radius: 14px;
  cursor: pointer;
  font-weight: 800;
  letter-spacing:.3px;
  transition: transform .12s ease, box-shadow .2s ease, background .2s, opacity .2s;
  background: rgba(255,255,255,.08);
  color: var(--pccc-text);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
  position: relative;
  overflow: hidden;
  outline: none;
}
.pccc-btn:focus-visible { box-shadow: 0 0 0 3px rgba(255,255,255,.15), 0 10px 26px rgba(0,0,0,.35); }
.pccc-btn:hover { transform: translateY(-1px); }

.pccc-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 120% at -20% 0%, rgba(255,255,255,.18), transparent 40%);
  opacity: 0;
  transition: opacity .35s;
}
.pccc-btn:hover::before { opacity: .9; }

.pccc-btn-accept {
  background: linear-gradient(135deg, var(--pccc-theme), var(--pccc-accent));
  color: #fff;
}
.pccc-btn-decline { background: rgba(255,255,255,.12); }

/* Preferences modal */
.pccc-modal {
  position: fixed; inset: 0; display:none; place-items:center;
  background: rgba(2,8,20,.66); z-index: 100000;
  backdrop-filter: blur(6px);
}
.pccc-modal.show { display:grid; }
.pccc-card {
  width: min(760px, 94vw);
  background:
    radial-gradient(120% 120% at 5% 0%, color-mix(in oklab, var(--pccc-theme) 20%, transparent), transparent 60%),
    radial-gradient(120% 120% at 95% 0%, color-mix(in oklab, var(--pccc-accent) 20%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(7,20,45,.92), rgba(2,8,20,.92));
  color:var(--pccc-text); border:1px solid var(--pccc-border);
  border-radius: 20px; padding: 22px; box-shadow: 0 24px 64px rgba(0,0,0,.55);
}
.pccc-card h3 { margin: 0 0 10px 0; font-size: 22px; }
.pccc-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.pccc-row:last-child { border-bottom: 0; }
.pccc-note { font-size: 12px; opacity:.8; max-width: 60ch; }

.pccc-switch { position: relative; width: 54px; height: 28px; }
.pccc-switch input { display:none; }
.pccc-switch .track {
  position:absolute; inset:0; background:#293043; border-radius: 999px; transition: background .2s;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.pccc-switch .thumb {
  position:absolute; top:4px; left:4px; width:20px; height:20px; border-radius:50%;
  background:#fff; transition: left .2s;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.pccc-switch input:checked + .track { background: linear-gradient(90deg, var(--pccc-theme), var(--pccc-accent)); }
.pccc-switch input:checked + .track .thumb { left:30px; }

.pccc-modal-actions { display:flex; justify-content:flex-end; gap:12px; padding-top: 16px; }
