/* ═══ PIPEIT CONSENT BANNER ═══
   Design System 2.0. Fixed and non-blocking, so it never reflows the page and
   never covers the waitlist modal (which sits at z-index 9900+).
   Accept and Decline are identical in size, typography and placement. */

#pc-banner{
  position:fixed;
  left:16px; right:16px; bottom:16px;
  z-index:9800;
  max-width:780px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--border,rgba(15,23,42,.08));
  border-radius:20px;
  box-shadow:0 18px 50px rgba(15,23,42,.16), 0 2px 6px rgba(15,23,42,.06);
  padding:20px 22px;
  display:none;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .42s var(--ease,cubic-bezier(0.22,1,0.36,1)),
             transform .42s var(--ease,cubic-bezier(0.22,1,0.36,1));
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
#pc-banner.pc-show{display:block;}
#pc-banner.pc-in{opacity:1; transform:none;}

.pc-inner{
  display:flex;
  align-items:center;
  gap:22px;
}

.pc-copy{flex:1; min-width:0;}

.pc-title{
  margin:0 0 5px;
  font-size:14px;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--ink,#151515);
}

.pc-text{
  margin:0;
  font-size:13px;
  line-height:1.6;
  color:var(--muted,#6B7280);
}
.pc-text a{
  color:var(--accent,#4A78FF);
  text-decoration:underline;
  text-underline-offset:2px;
}
.pc-text a:hover{color:var(--ink,#151515);}

.pc-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

/* Equal weight: same box, same type, same one click. Only the fill differs. */
.pc-btn{
  font-family:inherit;
  font-size:13.5px;
  font-weight:700;
  line-height:1;
  min-width:112px;
  min-height:44px;
  padding:13px 22px;
  border-radius:999px;
  cursor:pointer;
  white-space:nowrap;
  transition:background .2s var(--ease,cubic-bezier(0.22,1,0.36,1)),
             border-color .2s var(--ease,cubic-bezier(0.22,1,0.36,1)),
             color .2s var(--ease,cubic-bezier(0.22,1,0.36,1));
}
.pc-btn:focus-visible{
  outline:2px solid var(--accent,#4A78FF);
  outline-offset:3px;
}

.pc-decline{
  background:#fff;
  color:var(--ink,#151515);
  border:1px solid var(--border-strong,rgba(15,23,42,.18));
}
.pc-decline:hover{background:var(--card,#F1F4F7);}

.pc-accept{
  background:var(--accent,#4A78FF);
  color:#fff;
  border:1px solid var(--accent,#4A78FF);
}
.pc-accept:hover{background:var(--accent-dark,#3B63E0); border-color:var(--accent-dark,#3B63E0);}

/* ── Mobile ───────────────────────────────────────────────────────────── */
@media(max-width:640px){
  #pc-banner{
    left:10px; right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    padding:18px 18px 16px;
    border-radius:18px;
  }
  .pc-inner{
    flex-direction:column;
    align-items:stretch;
    gap:16px;
  }
  .pc-actions{gap:9px;}
  .pc-btn{
    flex:1;
    min-width:0;
    min-height:46px;
    padding:14px 12px;
  }
  .pc-text{font-size:12.5px;}
}

/* ── Reduced motion ───────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  #pc-banner{transition:none; transform:none;}
  .pc-btn{transition:none;}
}
