:root{
  --kpvc-pop-accent: #ffea00;
  --kpvc-pop-border: #e5e7eb;
  --kpvc-pop-bg: #ffffff;
  --kpvc-pop-fg: #0f172a;
}
:root[style*="--kpvc-pop-mode: dark"]{
  --kpvc-pop-bg: #0b1220;
  --kpvc-pop-fg: #e5e7eb;
  --kpvc-pop-border: #1f2937;
}

/* Backdrop */
.kpvc-pop-backdrop{
  position:fixed; inset:0; background:rgba(2,6,23,.55); z-index:2147483646;
  opacity:0; transition:opacity .15s ease;
}
.kpvc-pop-backdrop.is-open{ opacity:1; }

/* Modal */
.kpvc-pop{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center; z-index:2147483647;
}
.kpvc-pop[hidden], .kpvc-pop-backdrop[hidden]{ display:none !important; }

.kpvc-pop-panel{
  width:min(560px,92vw);
  border:1px solid var(--kpvc-pop-border);
  background:var(--kpvc-pop-bg);
  color:var(--kpvc-pop-fg);
  box-shadow:0 30px 90px rgba(2,6,23,.2);
  border-radius:0; /* colțuri drepte */
  transform:translateY(8px) scale(.98);
  opacity:0; transition:transform .18s ease, opacity .18s ease;
  position:relative;
}
.kpvc-pop.is-open .kpvc-pop-panel{ transform:none; opacity:1; }

/* Close */
.kpvc-pop-close{
  position:absolute; top:8px; right:8px;
  border:1px solid var(--kpvc-pop-border);
  background:var(--kpvc-pop-accent);
  color:#000;
  width:36px; height:36px; font-size:20px; font-weight:700; line-height:34px;
  border-radius:0; cursor:pointer;
}

/* Body */
.kpvc-pop-body{ padding:24px 22px 22px; }
.kpvc-pop-badge{
  display:inline-block; font-size:.75rem; font-weight:800; letter-spacing:.02em;
  border:1px solid var(--kpvc-pop-border);
  background:var(--kpvc-pop-accent); color:#000;
  padding:3px 8px; margin-bottom:8px;
  border-radius:0;
}
.kpvc-pop-title{ margin:0 0 8px; font-size:1.25rem; line-height:1.2; font-weight:800; }
.kpvc-pop-desc{ margin:0 0 16px; font-size:1rem; color:rgba(15,23,42,.86); }
:root[style*="--kpvc-pop-mode: dark"] .kpvc-pop-desc{ color:rgba(229,231,235,.82); }

/* Buttons row */
.kpvc-pop-actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.kpvc-pop-cta{
  display:inline-block; padding:12px 18px; font-weight:800; text-decoration:none;
  background:var(--kpvc-pop-accent); color:#000; border:1px solid var(--kpvc-pop-border);
  border-radius:0;
}
.kpvc-pop-snooze{
  display:inline-block; padding:12px 18px; font-weight:700; cursor:pointer;
  background:transparent; color:var(--kpvc-pop-fg); border:1px solid var(--kpvc-pop-border);
  border-radius:0;
}

/* Mobile — bottom sheet */
@media (max-width: 640px){
  .kpvc-pop{ align-items:flex-end; }
  .kpvc-pop-panel{
    width:100vw; border-left:none; border-right:none; border-bottom:none;
    border-top:4px solid var(--kpvc-pop-accent);
    border-radius:0;
  }
  .kpvc-pop-body{ padding:18px 16px 22px; }
  .kpvc-pop-title{ font-size:1.15rem; }
  .kpvc-pop-close{ top:6px; right:6px; }
  .kpvc-pop-actions{ gap:8px; }
  .kpvc-pop-cta, .kpvc-pop-snooze{ width:100%; text-align:center; }
}
