/* Checkthevendor — vendor finder + rankings filters. Uses site.css tokens. */

/* Shared field + select */
.ctv-fld{ display:flex; flex-direction:column; gap:6px; }
.ctv-fld > span{ font-size:.72rem; font-weight:500; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.ctv-sel{ position:relative; }
.ctv-sel::after{ content:""; position:absolute; right:15px; top:50%; width:8px; height:8px; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.ctv-sel select{ -webkit-appearance:none; -moz-appearance:none; appearance:none; width:100%; height:46px; padding:0 38px 0 15px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.72); font-family:inherit; font-size:.95rem; color:var(--ink); cursor:pointer; outline:none; transition:border-color .2s,box-shadow .2s; }
.ctv-sel select:focus{ border-color:var(--brand); box-shadow:0 0 0 3px rgba(109,92,245,.14); }

/* Finder */
.ctv-finder{ max-width:1080px; margin:0 auto; padding:30px 32px; }
.ctv-finder__eyebrow{ color:var(--brand-hover); background:rgba(109,92,245,.1); }
.ctv-finder__head h2{ font-size:clamp(1.5rem,2.6vw,2rem); margin:12px 0 6px; }
.ctv-finder__head p{ color:var(--ink-muted); margin:0 0 22px; max-width:580px; line-height:1.55; }
.ctv-finder__form{ display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:end; }
.ctv-finder__go{ height:46px; white-space:nowrap; }
.ctv-finder__results{ margin-top:24px; }
.ctv-finder__rescount{ font-size:.92rem; color:var(--ink-muted); margin-bottom:13px; } .ctv-finder__rescount b{ color:var(--ink); font-weight:500; }
.ctv-finder__list{ display:flex; flex-direction:column; gap:10px; }
.ctv-fres{ display:flex; align-items:center; gap:13px; padding:12px 16px; border-radius:14px; background:rgba(255,255,255,.6); border:1px solid var(--line); text-decoration:none; color:var(--ink); transition:transform .2s var(--ease-out),border-color .2s,background .2s; }
.ctv-fres:hover{ transform:translateX(3px); border-color:rgba(109,92,245,.3); background:rgba(255,255,255,.88); }
.ctv-fres__g{ width:40px; height:40px; border-radius:11px; color:#fff; font-weight:700; font-size:1.2rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ctv-fres__b{ flex:1; min-width:0; display:flex; flex-direction:column; }
.ctv-fres__b b{ font-weight:500; } .ctv-fres__m{ font-size:.82rem; color:var(--muted); }
.ctv-fres__cta{ font-size:.85rem; color:var(--brand-hover); font-weight:500; flex-shrink:0; }
.ctv-finder__empty{ padding:26px; text-align:center; color:var(--muted); background:rgba(255,255,255,.5); border-radius:14px; }

/* Rankings filter bar */
.ctv-rfilters{ padding:18px 22px; margin-bottom:22px; display:flex; flex-direction:column; gap:14px; }
.ctv-rfilters__search{ display:flex; align-items:center; gap:9px; height:46px; padding:0 16px; border-radius:12px; background:rgba(255,255,255,.72); border:1px solid var(--line); }
.ctv-rfilters__search svg{ color:var(--muted); flex-shrink:0; }
.ctv-rfilters__search input{ flex:1; min-width:0; border:0; outline:none; background:transparent; font-family:inherit; font-size:.98rem; color:var(--ink); }
.ctv-rfilters__toggles{ display:flex; flex-wrap:wrap; gap:8px; }
.ctv-tgl{ position:relative; display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-size:.85rem; color:var(--ink-muted); padding:7px 14px; border-radius:var(--pill); border:1px solid var(--line); background:rgba(255,255,255,.5); transition:background .2s,border-color .2s,color .2s; user-select:none; }
.ctv-tgl input{ position:absolute; opacity:0; width:0; height:0; }
.ctv-tgl::before{ content:""; width:15px; height:15px; border-radius:5px; border:1.5px solid var(--muted); flex-shrink:0; transition:background .15s,border-color .15s; }
.ctv-tgl:has(input:checked){ background:rgba(109,92,245,.12); border-color:rgba(109,92,245,.34); color:var(--brand-hover); font-weight:500; }
.ctv-tgl:has(input:checked)::before{ background:var(--brand); border-color:var(--brand); }
.ctv-tgl:has(input:focus-visible){ box-shadow:0 0 0 3px rgba(109,92,245,.18); }
.ctv-rfilters__selects{ display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end; }
.ctv-fld--inline .ctv-sel select{ height:42px; min-width:140px; }
.ctv-rfilters__sort{ margin-left:auto; }
.ctv-rfilters__meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-top:13px; }
.ctv-rfilters__count{ font-size:.85rem; color:var(--muted); font-weight:500; }
.ctv-rfilters__clear{ border:0; background:transparent; color:var(--brand-hover); font-size:.85rem; font-weight:500; cursor:pointer; padding:4px 6px; }
.ctv-rfilters__clear:hover{ text-decoration:underline; }

@media (max-width:680px){
  .ctv-finder__form{ grid-template-columns:1fr; }
  .ctv-finder, .ctv-rfilters{ padding:22px; }
  .ctv-rfilters__sort{ margin-left:0; }
}
