/* ==========================================================================
   Connected Search: retail search chapter components.

   Loaded after academy.css and inherits every variable from it. Nothing here
   introduces a new colour: the palette is the design system's, and the only
   semantic additions are "sold" (a grid cell bought by an advertiser) and
   "dropped" (a catalogue row removed to make room for one).
   ========================================================================== */

/* ---------------------------------------------------- shared small pieces */
.rt-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.rt-tabs .btn{font-size:13px}
.rt-tabs .btn.on{background:var(--bg-5);border-color:var(--line-2);color:var(--ink);font-weight:600}
.rt-note{margin-top:12px;font-family:var(--ui);font-size:12.5px;line-height:1.55;color:var(--ink-4)}
.rt-bars{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.rt-bar{display:grid;grid-template-columns:170px 1fr 62px;gap:10px;align-items:center;
  font-family:var(--ui);font-size:12.5px;color:var(--ink-3)}
.rt-bar .tr{height:8px;border-radius:4px;background:var(--bg-4);overflow:hidden}
.rt-bar .tr i{display:block;height:100%;border-radius:4px;background:var(--accent-deep)}
.rt-bar .tr i.warm{background:var(--warn)}
.rt-bar .tr i.mute{background:var(--ink-4)}
.rt-bar .fig{font-family:var(--mono);font-size:12px;color:var(--ink);text-align:right}

/* ------------------------------------------------ csqueryclass (R1) ------ */
.qc-wrap{display:grid;grid-template-columns:1fr;gap:14px}
.qc-panel{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:15px 16px}
.qc-panel h6{margin:0 0 4px;font-family:var(--ui);font-size:14px;color:var(--ink);font-weight:600}
.qc-sub{margin:0 0 10px;font-family:var(--ui);font-size:12.5px;color:var(--ink-4)}
.qc-q{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.qc-q span{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);
  background:var(--bg-4);border:1px solid var(--line);border-radius:6px;padding:3px 8px}
.qc-win{margin:10px 0 0;font-family:var(--ui);font-size:13px;line-height:1.55;color:var(--ink-2)}
.qc-win b{color:var(--ink)}

/* ------------------------------------------------ csitemstate (R2) ------- */
.is-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:5px}
.is-b{width:100%;text-align:left;display:flex;gap:11px;align-items:center;cursor:pointer;
  background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:10px 13px;
  font-family:var(--ui);font-size:13.5px;color:var(--ink-3);transition:background .16s}
.is-b:hover{background:var(--bg-3);color:var(--ink-2)}
.is-b.on{background:var(--bg-4);border-color:var(--line-2);color:var(--ink);font-weight:600}
.is-b .n{font-family:var(--mono);font-size:11px;color:var(--ink-4);width:16px;flex:none}
.is-b.rank .n{color:var(--money)}
.is-out{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:15px 16px}
.is-h{margin:0 0 6px;font-family:var(--ui);font-size:14.5px;font-weight:600;color:var(--ink)}
.is-w{margin:0 0 8px;font-family:var(--ui);font-size:13px;line-height:1.6;color:var(--ink-2)}
.is-f{margin:0;font-family:var(--ui);font-size:13px;line-height:1.6;color:var(--ink-2)}
.is-tag{margin:10px 0 0;font-family:var(--ui);font-size:12.5px;color:var(--warn)}
.is-tag.ok{color:var(--money)}

/* ------------------------------------------------ csevidence (R3) -------- */
.ev-claims{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px;min-height:34px}
.ev-c{cursor:pointer;background:var(--bg-3);border:1px solid var(--line-2);border-radius:8px;
  padding:6px 11px;font-family:var(--ui);font-size:12.5px;color:var(--ink-2)}
.ev-c:hover{background:var(--bg-4);color:var(--ink)}
.ev-c.on{background:var(--accent-soft);border-color:var(--accent-deep);color:var(--ink)}
.ev-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.ev-t{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:12px 13px}
.ev-t h6{margin:0 0 3px;font-family:var(--ui);font-size:13px;font-weight:600;color:var(--ink)}
.ev-t p{margin:0 0 9px;font-family:var(--ui);font-size:11.5px;line-height:1.5;color:var(--ink-4)}
.ev-t button.ev-drop{width:100%;cursor:pointer;background:var(--bg-3);border:1px dashed var(--line-2);
  border-radius:8px;padding:7px;font-family:var(--ui);font-size:12px;color:var(--ink-4)}
.ev-t button.ev-drop:hover{background:var(--bg-4);color:var(--ink-2)}
.ev-in{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:5px}
.ev-in li{font-family:var(--ui);font-size:12px;line-height:1.45;color:var(--ink-2);
  background:var(--bg-3);border-radius:7px;padding:6px 9px;border-left:2px solid var(--money)}
.ev-in li.wrong{border-left-color:var(--open)}
.ev-in li em{display:block;font-style:normal;color:var(--ink-4);font-size:11px;margin-top:3px}
.ev-score{margin-top:12px;font-family:var(--ui);font-size:13px;color:var(--ink-2)}

/* ------------------------------------------------ csgrid (R4) ------------ */
.gr-ctl{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:14px;
  font-family:var(--ui);font-size:13px;color:var(--ink-3)}
.gr-ctl label{display:flex;gap:8px;align-items:center}
.gr-ctl input[type=range]{width:130px}
.gr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px}
.gr-cell{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:9px 10px;
  min-height:74px;display:flex;flex-direction:column;gap:4px}
.gr-cell .pos{font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}
.gr-cell .nm{font-family:var(--ui);font-size:12px;line-height:1.35;color:var(--ink-2)}
.gr-cell.sold{background:var(--warn-soft);border-color:var(--warn)}
.gr-cell.sold .pos{color:var(--warn)}
.gr-cell.mine{border-color:var(--accent-deep)}
.gr-cell.dropped{opacity:.42;border-style:dashed}
.gr-cell .lab{font-family:var(--ui);font-size:10.5px;letter-spacing:.04em;color:var(--ink-4);margin-top:auto}
.gr-cell.sold .lab{color:var(--warn)}
.gr-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-family:var(--ui);font-size:12px;color:var(--ink-4)}
.gr-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* ------------------------------------------------ cspdp (R5) ------------- */
.pd-rows{display:flex;flex-direction:column;gap:7px}
.pd-r{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start;
  background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:10px 13px}
.pd-r .who{font-family:var(--ui);font-size:12px;font-weight:600;color:var(--ink)}
.pd-r .who em{display:block;font-style:normal;font-weight:400;color:var(--ink-4);font-size:11.5px;margin-top:2px}
.pd-r .what{font-family:var(--ui);font-size:12.5px;line-height:1.55;color:var(--ink-2)}
.pd-r.you{border-color:var(--accent-deep)}
.pd-r.them{border-color:var(--open)}

/* ------------------------------------------------ csretaildiag (R5) ------ */
.dg-q{font-family:var(--ui);font-size:14px;color:var(--ink);margin:0 0 10px}
.dg-opts{display:flex;flex-direction:column;gap:6px}
.dg-o{cursor:pointer;text-align:left;background:var(--bg-2);border:1px solid var(--line);
  border-radius:10px;padding:10px 13px;font-family:var(--ui);font-size:13px;color:var(--ink-2)}
.dg-o:hover{background:var(--bg-3);color:var(--ink)}
.dg-a{margin-top:12px;background:var(--bg-3);border-left:2px solid var(--accent-deep);
  border-radius:0 10px 10px 0;padding:12px 14px;font-family:var(--ui);font-size:13px;
  line-height:1.6;color:var(--ink-2)}
.dg-a b{color:var(--ink)}
.dg-back{margin-top:10px}

/* ------------------------------------------------ csvolume (R6) ---------- */
.vq-tbl{width:100%;border-collapse:collapse;font-family:var(--ui);font-size:12.5px}
.vq-tbl th{text-align:left;padding:8px 10px;color:var(--ink-4);font-weight:600;
  border-bottom:1px solid var(--line-2);font-size:11.5px;letter-spacing:.02em}
.vq-tbl td{padding:9px 10px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.vq-tbl tr.abs td{background:var(--money-soft)}
.vq-tbl td.k{font-family:var(--mono);font-size:11.5px;color:var(--ink)}
.vq-yes{color:var(--money)}
.vq-no{color:var(--ink-4)}

/* ------------------------------------------------ csbreakeven (R7) ------- */
.be-dials{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:16px}
.be-d label{display:block;font-family:var(--ui);font-size:13px;color:var(--ink-2);margin-bottom:6px}
.be-d label b{font-family:var(--mono);color:var(--ink);float:right}
.be-d input[type=range]{width:100%}
.be-d .hint{margin:5px 0 0;font-family:var(--ui);font-size:11.5px;color:var(--ink-4);line-height:1.45}
.be-scale{position:relative;height:46px;margin:18px 0 8px;background:var(--bg-2);
  border:1px solid var(--line);border-radius:10px;overflow:hidden}
.be-scale .fill{position:absolute;inset:0 auto 0 0;background:var(--open-soft)}
.be-scale .mark{position:absolute;top:0;bottom:0;width:2px;background:var(--accent)}
.be-scale .mark span{position:absolute;top:5px;left:6px;white-space:nowrap;
  font-family:var(--ui);font-size:11.5px;color:var(--accent)}
.be-scale .brk{position:absolute;top:0;bottom:0;width:2px;background:var(--warn)}
.be-scale .brk span{position:absolute;bottom:5px;left:6px;white-space:nowrap;
  font-family:var(--ui);font-size:11.5px;color:var(--warn)}
.be-verdict{font-family:var(--ui);font-size:14px;line-height:1.6;color:var(--ink-2);margin:10px 0 0}
.be-verdict.bad{color:var(--open)}
.be-verdict.good{color:var(--money)}
.be-verdict b{color:inherit}

/* ------------------------------------------------ csretailcarries (R8) --- */
.rc-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.rc-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px}
.rc-col{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:12px 13px}
.rc-col h6{margin:0 0 9px;font-family:var(--ui);font-size:12.5px;font-weight:600;color:var(--ink)}
.rc-col.carries{border-top:2px solid var(--money)}
.rc-col.breaks{border-top:2px solid var(--warn)}
.rc-col.none{border-top:2px solid var(--ink-4)}
.rc-r{margin-bottom:9px}
.rc-h{font-family:var(--ui);font-size:12.5px;font-weight:600;color:var(--ink-2)}
.rc-d{font-family:var(--ui);font-size:12px;line-height:1.5;color:var(--ink-4);margin-top:2px}

@media (max-width:640px){
  .rt-bar{grid-template-columns:120px 1fr 54px}
  .pd-r{grid-template-columns:1fr}
}
