/* Checkthevendor — content layer: About / FAQ / Contact / Grade log / Guides /
   landing pages / 404 / articles / similar-vendors. Uses site.css tokens. */

/* Page chrome for shortcode pages */
body:has(.ctv-page) .wp-block-post-title{ display:none !important; }
body:has(.ctv-page) main > .wp-block-group{ padding-top:28px !important; }
.entry-content > p:has(.ctv-page), .wp-block-post-content > p:has(.ctv-page){ max-width:none !important; }
.entry-content .ctv-page, .wp-block-post-content .ctv-page{ max-width:880px !important; margin-left:auto !important; margin-right:auto !important; }

/* Shared hero + sections */
.ctv-phero{ text-align:center; padding:8px 0 6px; }
.ctv-page .ctv-eyebrow, .ctv-vland .ctv-eyebrow{ color:var(--brand-hover); }
.ctv-phero h1{ font-size:clamp(2.5rem,5.6vw,4rem); line-height:1.06; letter-spacing:-.016em; margin:16px 0 14px; }
.ctv-phero__lede{ color:var(--ink-muted); font-size:1.15rem; line-height:1.65; max-width:640px; margin:0 auto; }
.ctv-psec{ margin-top:52px; }
.ctv-psec h2{ font-size:clamp(1.5rem,3vw,2rem); margin:0 0 10px; }
.ctv-plede{ color:var(--ink-muted); font-size:1.05rem; line-height:1.7; max-width:720px; margin:0; }
.ctv-plede a{ color:var(--brand-hover); text-decoration:none; font-weight:600; }
.ctv-plede a:hover{ text-decoration:underline; }
.ctv-pafter{ color:var(--ink-muted); margin:16px 0 0; }
.ctv-pafter a{ color:var(--brand-hover); text-decoration:none; font-weight:600; }

/* Stat chips */
.ctv-pstats{ display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-top:22px; }
.ctv-pstat{ padding:18px 20px; text-align:center; }
.ctv-pstat b{ display:block; font-family:'DM Sans',sans-serif; font-size:1.7rem; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.ctv-pstat span{ font-family:'DM Mono',ui-monospace,monospace; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }

/* Belief / contact cards */
.ctv-pcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:20px; }
.ctv-pcard{ padding:22px 24px; }
.ctv-pcard__ic{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(109,92,245,.12); color:var(--brand-hover); margin-bottom:13px; }
.ctv-pcard h3{ font-size:1.12rem; margin:0 0 7px; }
.ctv-pcard p{ margin:0; color:var(--ink-muted); line-height:1.6; font-size:.93rem; }
.ctv-pcard p a{ color:var(--brand-hover); text-decoration:none; font-weight:600; }
.ctv-pcard__link{ display:inline-block; margin-top:12px; color:var(--brand-hover); font-weight:600; text-decoration:none; font-size:.95rem; }
.ctv-pcard__link:hover{ text-decoration:underline; }

/* Steps (About) */
.ctv-psteps{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ctv-psteps li{ display:flex; gap:14px; align-items:flex-start; background:var(--glass-bg); border:1px solid var(--glass-brd); box-shadow:var(--glass-shadow); border-radius:16px; padding:16px 19px; }
.ctv-psteps__n{ flex-shrink:0; width:28px; height:28px; border-radius:50%; background:var(--brand); color:#fff; font-weight:700; font-size:.95rem; display:flex; align-items:center; justify-content:center; }
.ctv-psteps li b{ font-weight:600; font-size:1.02rem; }
.ctv-psteps li p{ margin:3px 0 0; color:var(--ink-muted); font-size:.93rem; line-height:1.55; }

/* Notes + CTA band */
.ctv-pnote{ display:flex; align-items:flex-start; gap:12px; margin-top:34px; padding:15px 20px; border-radius:16px; font-size:.95rem; line-height:1.6; background:rgba(245,158,40,.11); border:1px solid rgba(245,158,40,.28); color:#7a4a14; }
.ctv-pnote svg{ flex-shrink:0; margin-top:2px; }
.ctv-pnote b{ font-weight:600; } .ctv-pnote a{ color:inherit; font-weight:600; }
.ctv-pnote--ok{ background:rgba(16,207,142,.12); border-color:rgba(16,207,142,.3); color:#0a6e4c; }
.ctv-pcta{ margin-top:44px; padding:34px 32px; border-radius:24px; text-align:center; background:var(--panel); color:#aab0c5; box-shadow:0 26px 60px rgba(20,22,39,.18); }
.ctv-pcta h2{ color:#fff; font-size:1.6rem; margin:0 0 6px; }
.ctv-pcta p{ margin:0 0 18px; }
.ctv-pcta__act{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.ctv-pcta .ctv-btn--ghost{ background:transparent; color:#fff !important; border:1px solid rgba(255,255,255,.28); }

/* FAQ page list */
.ctv-pfaq{ margin-top:30px; }

/* Grade-change log */
.ctv-log{ display:flex; flex-direction:column; gap:10px; margin-top:30px; }
.ctv-log__row{ display:flex; align-items:center; gap:14px; padding:13px 18px; border-radius:15px; text-decoration:none; color:var(--ink); transition:transform .22s var(--ease-out), box-shadow .22s; }
@media (hover:hover) and (pointer:fine){ .ctv-log__row:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(20,22,39,.13); } }
.ctv-log__date{ font-family:'DM Mono',ui-monospace,monospace; font-size:.76rem; color:var(--muted); width:96px; flex-shrink:0; }
.ctv-log__name{ font-weight:600; flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ctv-log__what{ font-size:.82rem; color:var(--ink-muted); white-space:nowrap; }
.ctv-log__score{ font-family:'DM Mono',ui-monospace,monospace; font-size:.82rem; color:var(--ink-muted); white-space:nowrap; }
@media (max-width:640px){ .ctv-log__what{ display:none; } .ctv-log__date{ width:78px; } }

/* Notify band */
.ctv-notify{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:36px; padding:24px 26px; }
.ctv-notify__bd{ flex:1; min-width:240px; }
.ctv-notify h2{ font-size:1.3rem; margin:0 0 4px; }
.ctv-notify p{ margin:0; color:var(--ink-muted); font-size:.92rem; }
.ctv-notify__form{ display:flex; gap:9px; flex-wrap:wrap; }
.ctv-notify__form input[type=email]{ height:46px; min-width:230px; padding:0 16px; border:1px solid var(--line); border-radius:var(--pill); background:rgba(255,255,255,.8); font-family:inherit; font-size:.95rem; color:var(--ink); outline:none; transition:border-color .2s, box-shadow .2s; }
.ctv-notify__form input[type=email]:focus{ border-color:rgba(109,92,245,.45); box-shadow:0 0 0 3px rgba(109,92,245,.16); }
.ctv-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

/* Guides hub */
.ctv-gcards{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:30px; }
.ctv-gcard2{ position:relative; display:flex; flex-direction:column; padding:24px 26px; text-decoration:none; color:var(--ink); }
.ctv-gcard2__n{ font-family:'DM Mono',ui-monospace,monospace; font-size:.72rem; letter-spacing:.12em; color:var(--brand-hover); }
.ctv-gcard2 h3{ font-size:1.22rem; margin:10px 0 8px; line-height:1.2; }
.ctv-gcard2 p{ margin:0 0 16px; color:var(--ink-muted); font-size:.93rem; line-height:1.55; flex:1; }
.ctv-gcard2__meta{ font-family:'DM Mono',ui-monospace,monospace; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.ctv-gcard2__meta .arr{ transition:transform .2s var(--ease-out); display:inline-block; margin-left:4px; }
@media (hover:hover) and (pointer:fine){ .ctv-gcard2:hover .arr{ transform:translateX(3px); } }

/* Guide articles (page content wrapped in .ctv-article) */
body:has(.ctv-article) .wp-block-post-title{ display:none !important; }
body:has(.ctv-article) main > .wp-block-group{ padding-top:28px !important; }
.entry-content > div:has(> .ctv-article), .wp-block-post-content > div:has(> .ctv-article){ max-width:none !important; }
.entry-content .ctv-article, .wp-block-post-content .ctv-article{ max-width:720px !important; margin-left:auto !important; margin-right:auto !important; }
.ctv-article{ line-height:1.75; color:var(--ink-muted); font-size:1.02rem; }
.ctv-article .ctv-art__head{ text-align:center; margin-bottom:34px; }
.ctv-article .ctv-art__head .kicker{ display:inline-block; font-family:'DM Mono',ui-monospace,monospace; font-size:.68rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--brand-hover); background:rgba(109,92,245,.1); border:1px solid rgba(109,92,245,.24); padding:6px 14px; border-radius:999px; }
.ctv-article h1{ font-size:clamp(2rem,4.6vw,3rem); line-height:1.08; letter-spacing:-.016em; margin:16px 0 12px; color:var(--ink); }
.ctv-article .ctv-art__head .dek{ color:var(--ink-muted); font-size:1.15rem; line-height:1.6; max-width:600px; margin:0 auto; }
.ctv-article .ctv-art__head .meta{ display:block; margin-top:14px; font-family:'DM Mono',ui-monospace,monospace; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.ctv-article h2{ font-size:1.55rem; margin:40px 0 12px; color:var(--ink); }
.ctv-article h3{ font-size:1.15rem; margin:26px 0 8px; color:var(--ink); }
.ctv-article p{ margin:0 0 16px; }
.ctv-article ul, .ctv-article ol{ margin:0 0 16px; padding-left:22px; }
.ctv-article li{ margin-bottom:8px; }
.ctv-article li::marker{ color:var(--brand); font-weight:700; }
.ctv-article a{ color:var(--brand-hover); text-decoration:none; font-weight:600; }
.ctv-article a:hover{ text-decoration:underline; }
.ctv-article b, .ctv-article strong{ color:var(--ink); }
.ctv-article .callout{ display:flex; gap:12px; align-items:flex-start; margin:22px 0; padding:16px 20px; border-radius:16px; background:rgba(109,92,245,.08); border:1px solid rgba(109,92,245,.2); color:var(--ink-muted); font-size:.95rem; }
.ctv-article .callout.warn{ background:rgba(245,158,40,.11); border-color:rgba(245,158,40,.28); color:#7a4a14; }
.ctv-article .check{ list-style:none; padding:0; }
.ctv-article .check li{ position:relative; padding:10px 12px 10px 38px; background:var(--glass-bg); border:1px solid var(--glass-brd); border-radius:12px; margin-bottom:8px; }
.ctv-article .check li::before{ content:"\2713"; position:absolute; left:12px; top:9px; width:18px; height:18px; border-radius:50%; background:#16b15f; color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.ctv-article .ctv-art__foot{ margin-top:40px; padding:20px 24px; border-radius:16px; background:var(--glass-bg); border:1px solid var(--glass-brd); font-size:.9rem; }

/* Browse index (rankings) */
.ctv-browse{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin:54px 0 10px; }
.ctv-browse h2{ font-size:1.15rem; margin:0 0 12px; }
.ctv-browse__chips{ display:flex; flex-wrap:wrap; gap:8px; }
.ctv-browse__chips a{ display:inline-block; padding:7px 14px; border-radius:var(--pill); background:var(--glass-bg-strong); border:1px solid var(--glass-brd); box-shadow:var(--glass-shadow); color:var(--ink-muted); text-decoration:none; font-size:.85rem; transition:color .15s, border-color .15s, transform .2s var(--ease-out); }
@media (hover:hover) and (pointer:fine){ .ctv-browse__chips a:hover{ color:var(--brand-hover); border-color:rgba(109,92,245,.35); transform:translateY(-2px); } }

/* Landing pages (virtual) */
.ctv-vland{ padding:26px 18px 60px; }
.ctv-landwrap{ max-width:1180px; margin:0 auto; }
.ctv-vland .ctv-grid{ margin-top:26px; }
.ctv-land__none{ margin-top:26px; color:var(--ink-muted); }
.ctv-land__more{ display:flex; gap:10px; margin-top:30px; }

/* Similar vendors (scorecard + 404) */
.ctv-alts__sub{ color:var(--ink-muted); margin:0 0 16px; }
.ctv-alts__sub a{ color:var(--brand-hover); text-decoration:none; font-weight:600; }
.ctv-alts{ display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.ctv-alt{ display:flex; align-items:center; gap:12px; padding:15px 17px; text-decoration:none; color:var(--ink); }
.ctv-alt__tile{ width:38px; height:38px; border-radius:11px; flex-shrink:0; }
.ctv-alt__tile img{ padding:6px; }
.ctv-alt__bd{ flex:1; min-width:0; display:flex; flex-direction:column; }
.ctv-alt__bd b{ font-weight:600; font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ctv-alt__bd span{ font-family:'DM Mono',ui-monospace,monospace; font-size:.72rem; color:var(--muted); }

/* 404 */
.ctv-404{ max-width:720px; margin:0 auto; padding:40px 18px 70px; text-align:center; }
.ctv-404__code{ font-family:'DM Sans',sans-serif; font-weight:700; font-size:clamp(5rem,16vw,9rem); line-height:1; letter-spacing:-.05em; background:linear-gradient(115deg,var(--brand) 20%,#9d7bff 55%,#ff8faf); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ctv-404 h1{ font-size:clamp(1.6rem,4vw,2.2rem); margin:8px 0 10px; }
.ctv-404 > p{ color:var(--ink-muted); font-size:1.05rem; margin:0 0 22px; }
.ctv-404__act{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:14px; }
.ctv-404__tip{ font-size:.85rem; color:var(--muted); margin:0 0 34px; }
.ctv-404__tip kbd{ font-family:'DM Mono',ui-monospace,monospace; font-size:.72rem; background:rgba(20,22,39,.05); border:1px solid rgba(20,22,39,.12); border-radius:6px; padding:2px 6px; }
.ctv-404 .ctv-alts{ text-align:left; }

@media (max-width:760px){
  .ctv-pstats{ grid-template-columns:1fr 1fr; }
  .ctv-pcards, .ctv-alts, .ctv-gcards{ grid-template-columns:1fr; }
  .ctv-browse{ grid-template-columns:1fr; }
  .ctv-notify{ flex-direction:column; align-items:stretch; }
}

/* Policy tables (.ctv-article) */
.ctv-article table{ width:100%; border-collapse:separate; border-spacing:0; margin:0 0 18px; background:var(--glass-bg); border:1px solid var(--glass-brd); border-radius:14px; overflow:hidden; font-size:.93rem; }
.ctv-article th{ text-align:left; font-family:'DM Mono',ui-monospace,monospace; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:500; padding:11px 15px; border-bottom:1px solid rgba(20,22,39,.09); }
.ctv-article td{ padding:10px 15px; border-bottom:1px solid rgba(20,22,39,.06); color:var(--ink-muted); }
.ctv-article tr:last-child td{ border-bottom:0; }
.ctv-article td:first-child{ color:var(--ink); font-weight:500; }
.ctv-article td:nth-child(2){ font-variant-numeric:tabular-nums; }
