.dfps-selector{
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  margin:10px 0 20px;
  background:#ffffff;
  box-shadow:0 2px 10px rgba(0,0,0,0.04);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.dfps-selector.dfps-inline{ display:inline-block; }
.dfps-head{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px;}
.dfps-title{ font-weight:700; font-size:16px; }
.dfps-note{ font-size:13px; color:#6b7280; }
.dfps-buttons{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.dfps-btn{
  border:1px solid #d1fae5;
  background:#ecfdf5;
  padding:8px 12px;
  border-radius:9999px;
  cursor:pointer;
  transition:.2s ease;
  font-weight:600;
}
.dfps-btn:hover{ transform: translateY(-1px); }
.dfps-btn.is-active{ border-color:#10b981; box-shadow: 0 0 0 2px rgba(16,185,129,0.15) inset; }
.dfps-btn.dfps-clear{ border-color:#fee2e2; background:#fff1f2; }
.dfps-btn.dfps-clear.is-hidden{ display:none; }
.dfps-status{ display:flex; align-items:center; gap:10px; font-size:14px; flex-wrap:wrap; }
.dfps-status .dfps-ok{ color:#065f46; }
.dfps-status .dfps-warn{ color:#92400e; }
.dfps-sep{ color:#9ca3af; }
.dfps-cart-banner{
  margin:0 0 10px 0;
  padding:10px 12px;
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  border-radius:12px;
  font-size:14px;
}
@media (max-width:480px){
  .dfps-head{ flex-direction:column; align-items:flex-start; }
}
