/* DogFoodBuyer Brands Plus. Scoped under .dfb-bp and the injected .dfb-bp-response. */

.dfb-bp, .dfb-bp * { box-sizing: border-box; }
.dfb-bp { --b-ink:#1d2327; --b-mut:#646970; --b-line:#e2e4e7; --b-accent:#2b6cb0; --b-brand:#5a3fb8; --b-good:#1a7f4b; --b-radius:12px; font-size:15px; line-height:1.5; color:var(--b-ink); }

.dfb-bp-block { grid-column:1 / -1 !important; width:100% !important; max-width:100% !important; float:none !important; clear:both !important; margin:22px 0 !important; }
.dfb-bp-card { border:1px solid var(--b-line); border-radius:var(--b-radius); background:#fff; padding:20px; margin:0 0 18px; }
.dfb-bp-h { margin:0 0 8px; font-size:1.25rem; }
.dfb-bp-sub { margin:18px 0 8px; font-size:1.02rem; }
.dfb-bp-fine { color:var(--b-mut); font-size:.82rem; }
.dfb-bp-link { color:var(--b-accent); text-decoration:none; font-size:.85rem; }

.dfb-bp-verified { display:inline-block; background:#efeafc; color:var(--b-brand); font-weight:700; font-size:.72rem; padding:.15rem .55rem; border-radius:999px; text-transform:uppercase; letter-spacing:.02em; }
.dfb-bp-verified.sm { font-size:.65rem; margin-left:8px; }
.dfb-bp-verified-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 10px; }

.dfb-bp-claim { border:1px solid #e3dcf6; border-left:4px solid var(--b-brand); border-radius:10px; background:#faf8ff; padding:16px 18px; }
.dfb-bp-statement { border:1px solid var(--b-line); border-radius:10px; background:#fbfbfc; padding:14px 16px; margin:10px 0; }
.dfb-bp-statement-head { font-weight:700; font-size:.8rem; color:var(--b-brand); text-transform:uppercase; letter-spacing:.02em; margin-bottom:4px; }
.dfb-bp-signal { background:#fffaf1; border:1px solid #f0d9b5; border-radius:8px; padding:10px 12px; font-size:.88rem; margin:0 0 12px; }

.dfb-bp-btn { display:inline-block; background:var(--b-brand); color:#fff; border:1px solid var(--b-brand); border-radius:8px; padding:.55rem .95rem; font-size:.9rem; font-weight:600; cursor:pointer; text-decoration:none; }
.dfb-bp-btn:hover { filter:brightness(.96); color:#fff; }
.dfb-bp-btn-ghost { background:transparent; color:var(--b-brand); }
.dfb-bp-btn-sm { padding:.4rem .7rem; font-size:.82rem; }

.dfb-bp-form { margin:.6rem 0 0; }
.dfb-bp-field { display:flex; flex-direction:column; gap:.3rem; }
.dfb-bp-field > span { font-size:.78rem; font-weight:600; color:var(--b-mut); }
.dfb-bp-form input, .dfb-bp-form textarea { width:100%; padding:.5rem .6rem; border:1px solid var(--b-line); border-radius:8px; font-family:inherit; font-size:.9rem; resize:vertical; }
.dfb-bp-actions { display:flex; align-items:center; gap:10px; margin-top:.5rem; }
.dfb-bp-note { font-size:.82rem; color:var(--b-mut); }
.dfb-bp-note.is-ok { color:var(--b-good); }
.dfb-bp-note.is-err { color:#b32d2e; }

.dfb-bp-item { border-top:1px solid var(--b-line); padding:12px 0; }
.dfb-bp-item-meta { font-size:.78rem; color:var(--b-mut); }
.dfb-bp-item-body { margin:.25rem 0; font-size:.92rem; }

/* Injected under reviews/questions on product pages. */
.dfb-bp-response { margin:10px 0 4px; padding:12px 14px; border-radius:10px; background:#faf8ff; border:1px solid #e3dcf6; border-left:4px solid #5a3fb8; }
.dfb-bp-response-head { font-weight:700; font-size:.8rem; color:#5a3fb8; display:flex; align-items:center; }
.dfb-bp-response-body { margin:.35rem 0 0; font-size:.92rem; color:#1d2327; }
