/* Banner */
#wpls-banner {
  position: fixed;
  inset: auto 0 0 0;
  background: var(--wpls-bg, rgba(0,0,0,0.9));
  color: var(--wpls-fg, #fff);
  z-index: 99999;
  font-family: system-ui, sans-serif;
}
#wpls-banner .wpls-banner-inner {
  display: flex;
  gap: 16px;
  padding: 12px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
#wpls-banner h3 { margin:0 0 8px; font-size:16px; }
#wpls-banner p { margin:0; font-size:14px; line-height:1.4; }
#wpls-banner .wpls-banner-actions {
  margin-left:auto; display:flex; gap:8px;
}

/* Buttons */
.wpls-btn { border:0; padding:10px 16px; cursor:pointer; border-radius:6px; font-weight:600; }
.wpls-btn.primary { background: var(--wpls-primary,#2563eb); color:#fff; }
.wpls-btn.secondary { background: var(--wpls-secondary,#475569); color:#fff; }
.wpls-btn.tertiary { background:transparent; color: var(--wpls-fg,#fff); text-decoration:underline; }
.wpls-btn:hover { opacity:.9; }

/* Links */
.wpls-links a { color: var(--wpls-link,#4ea3ff); }

/* Modal */
#wpls-modal { position:fixed; inset:0; display:none; z-index:100000; }
#wpls-modal.is-open { display:block; }
#wpls-modal .wpls-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.6); }
#wpls-modal .wpls-modal-card {
  position:relative; background:#fff; color:#111;
  width:min(680px,94vw); max-height:80vh;
  margin:10vh auto; padding:20px; border-radius:10px;
  font-family:system-ui,sans-serif; overflow:auto;
}
#wpls-modal .wpls-row { padding:10px 0; border-bottom:1px solid #eee; }
#wpls-modal .wpls-desc { font-size:12px; color:#444; margin-top:4px; }
.wpls-cookie-list { font-size:12px; color:#555; margin:6px 0 0 20px; list-style:disc; }

/* Modal actions */
#wpls-modal .wpls-modal-actions {
  display:flex; justify-content:flex-end; gap:8px; margin-top:12px;
}

/* Fixed Button */
.wpls-fixed-preferences {
  position:fixed; right:12px; bottom:calc(16px + env(safe-area-inset-bottom));
  background: var(--wpls-secondary,#475569); color:#fff;
  border:2px solid #fff; border-radius:999px; padding:10px 18px;
  z-index:99998; cursor:pointer; font-weight:600;
}
.wpls-fixed-preferences:hover,
.wpls-fixed-preferences:focus { opacity:.9; }

/* Responsive */
@media (max-width:768px){
  #wpls-banner .wpls-banner-inner { flex-direction:column; align-items:stretch; gap:12px; }
  #wpls-banner .wpls-banner-actions { margin-left:0; flex-wrap:wrap; }
  .wpls-btn { width:100%; }
}
@media (max-width:480px){
  #wpls-modal .wpls-modal-card {
    width:100vw; height:100vh; margin:0; border-radius:0;
    display:flex; flex-direction:column; padding:16px;
  }
  #wpls-modal .wpls-modal-actions {
    position:sticky; bottom:0; background:#fff;
    padding-top:8px; padding-bottom:calc(12px + env(safe-area-inset-bottom));
  }
}
