html.kp-no-scroll, html.kp-no-scroll body{ overflow:hidden !important; }
.kp-consent-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.45); display:none; z-index:999999; }
.kp-consent-backdrop.kp-open{ display:block; }
.kp-consent-modal{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(720px, 92vw); background:#fff; border-radius:16px; box-shadow:0 25px 80px rgba(0,0,0,.35);
  font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
.kp-consent-header{ padding:16px 20px; border-bottom:1px solid #eee; background:var(--kp-primary); color:#fff; border-radius:16px 16px 0 0; }
.kp-consent-header h3{ margin:0; font-size:18px; }
.kp-consent-body{ padding:16px 20px; }
.kp-consent-body p{ margin-top:0; }
.kp-form label{ display:block; margin:.4rem 0; }
.kp-consent-actions{ display:flex; gap:.6rem; padding:12px 20px 20px; flex-wrap:wrap; }
.kp-btn{ border:1px solid var(--kp-primary); background:var(--kp-primary); color:#fff; border-radius:10px; padding:.55rem .9rem; cursor:pointer; }
.kp-btn:hover{ filter:brightness(0.95); }
.kp-deny-all{ background:#fff; color:#111; border-color:#ccc; }
.kp-deny-all:hover{ background:#f7f7f7; }
.kp-open-settings{ border:1px solid #333; background:#fff; color:#333; border-radius:10px; padding:.4rem .75rem; cursor:pointer; }

/* Placeholder */
.kp-consent-placeholder{
  position:relative; background:#f7f7f7; border:1px dashed #bbb; border-radius:12px;
  padding:16px; min-height:160px; display:flex; align-items:center; justify-content:space-between; gap:16px;
  color:#333;
}
.kp-consent-ph-inner{ display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; }
.kp-consent-placeholder p{ margin:0; }
.kp-load-now{ border:1px solid var(--kp-primary); background:#fff; color:#111; border-radius:10px; padding:.45rem .8rem; cursor:pointer; }
.kp-load-now:hover{ background:#eee; }
.hidden{ display:none; }
