/* CQPF2 v0.3 — dark + gold + cascading steps */
.cqpf2-wrap{ --bg:#0a0a0a; --text:#f5f5f5; --muted:#cbd5e1; --border:#2b2b2b; --accent:#d4af37; }
.cqpf2-dark{ background:transparent; color:var(--text); }
.cqpf2-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0; }
.cqpf2-open{ background:var(--accent); color:#0a0a0a; border:0; border-radius:999px; padding:8px 14px; font-weight:800; cursor:pointer; }

.cqpf2-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:1000; }
.cqpf2-drawer{ position:fixed; top:0; right:-420px; width:min(92vw,380px); height:100vh; background:#111; color:var(--text); z-index:1001; transition:right .28s ease; box-shadow: -4px 0 22px rgba(0,0,0,.35); display:flex; flex-direction:column; }
.cqpf2-drawer.open{ right:0; }
.cqpf2-drawer-head{ padding:12px 14px; border-bottom:1px solid var(--border); }
.cqpf2-close{ background:#fff; color:#000; border-radius:999px; padding:6px 12px; border:1px solid #000; font-weight:800; cursor:pointer; }
.cqpf2-filters{ padding:10px 14px; overflow:auto; flex:1 1 auto; }

/* Steps */
.cqpf2-steps{ display:flex; flex-direction:column; gap:10px; margin-bottom:8px; }
.cqpf2-step .step-title{ font-weight:800; margin-bottom:6px; }
.cqpf2-step .step-body{ display:flex; gap:8px; flex-wrap:wrap; }
.radio-pill{ display:inline-flex; align-items:center; gap:6px; border:1px solid var(--border); border-radius:999px; padding:6px 12px; cursor:pointer; }
.radio-pill.active, .radio-pill input:checked + span{ background:var(--accent); color:#0a0a0a; border-color:var(--accent); }

/* Accordions / chips */
.cqpf2-acc{ border-top:1px solid var(--border); padding-top:10px; margin-top:8px; }
.cqpf2-acc-head{ font-weight:800; margin-bottom:6px; }
.cqpf2-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.cqpf2-chips .chip{ display:inline-flex; align-items:center; gap:6px; border:1px solid var(--border); border-radius:999px; padding:6px 10px; cursor:pointer; }
.cqpf2-chips .chip input{ transform:scale(1.1); }

.cqpf2-actions{ padding:12px 14px; border-top:1px solid var(--border); display:flex; gap:8px; }
.cqpf2-actions .cqpf2-apply{ background:var(--accent); color:#0a0a0a; border:0; border-radius:12px; padding:10px 16px; font-weight:800; cursor:pointer; }
.cqpf2-actions .cqpf2-clear{ background:transparent; color:var(--text); border:1px solid var(--border); border-radius:12px; padding:10px 16px; font-weight:700; cursor:pointer; }

/* Active chips outside */
.cqpf2-activechips, .cqpf2-chips-active{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.cqpf2-chips-active .chip{ display:inline-flex; align-items:center; gap:6px; border:1px solid var(--border); border-radius:999px; padding:6px 10px; background:#141414; color:var(--text); }
.cqpf2-chips-active .chip.clear-all{ background:transparent; border-color:var(--accent); color:var(--accent); }

/* Grid */
.cqpf2-results{ margin-top:10px; }
.cqpf2-cards{ display:grid; gap:18px; }
.cqpf2-cards.columns-4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:1024px){ .cqpf2-cards.columns-4{ grid-template-columns:repeat(3,1fr);} }
@media (max-width:768px){ .cqpf2-cards.columns-4{ grid-template-columns:repeat(2,1fr);} }
.cqpf2-card{ background:#111; border:1px solid var(--border); border-radius:14px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.25); padding:10px; display:flex; flex-direction:column; gap:8px; }
.cqpf2-card .thumb img{ width:100%; height:220px; object-fit:cover; display:block; }
.cqpf2-card .title{ font-size:16px; line-height:1.25; margin:0; }
.cqpf2-card .price{ color:var(--accent); font-weight:800; }
.cqpf2-card .btn{ align-self:flex-start; background:var(--accent); color:#0a0a0a; border-radius:999px; padding:8px 12px; font-weight:800; text-decoration:none; }

.cqpf2-pagination{ display:flex; gap:6px; justify-content:center; margin-top:12px; }
.cqpf2-pagination .pg-btn{ padding:6px 10px; border:1px solid var(--border); border-radius:8px; text-decoration:none; color:var(--text); }
.cqpf2-pagination .pg-btn.current{ background:var(--accent); color:#0a0a0a; border-color:var(--accent); }

.cqpf2-empty{ text-align:center; padding:24px; opacity:.9; }
