/* Checkthevendor — How We Score (visual, data-driven). Uses site.css tokens. */

/* Page chrome: hide theme title, break out, trim the big top gap */
body:has(.ctv-method) .wp-block-post-title{ display:none !important; }
body:has(.ctv-method) main > .wp-block-group{ padding-top:28px !important; }
.entry-content > p:has(.ctv-method), .wp-block-post-content > p:has(.ctv-method){ max-width:none !important; }
.entry-content .ctv-method, .wp-block-post-content .ctv-method{ max-width:980px !important; margin-left:auto !important; margin-right:auto !important; }

.ctv-method{ position:relative; }
.ctv-method > *:not(.ctv-aura){ position:relative; z-index:1; }
.ctv-method h2{ font-size:clamp(1.5rem,3vw,2rem); margin:0 0 8px; }
.ctv-msub{ color:var(--ink-muted); font-size:1.05rem; line-height:1.6; margin:0 0 22px; max-width:680px; }
.ctv-msection{ margin-top:54px; }

/* Hero */
.ctv-mhero{ text-align:center; padding:8px 0 6px; }
.ctv-method .ctv-eyebrow{ color:var(--brand-hover); }
.ctv-mhero h1{ font-size:clamp(2.5rem,5.6vw,4rem); line-height:1.06; letter-spacing:-.016em; margin:16px 0 14px; }
.ctv-mhero p{ color:var(--ink-muted); font-size:1.15rem; line-height:1.65; max-width:640px; margin:0 auto; }
.ctv-mhero p b{ color:var(--ink); font-weight:500; }
.ctv-mstats{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:26px; }
.ctv-mstats div{ background:var(--glass-bg-strong); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-brd); box-shadow:var(--glass-shadow); border-radius:16px; padding:14px 24px; min-width:130px; }
.ctv-mstats b{ display:block; font-size:1.5rem; font-weight:700; letter-spacing:-.02em; }
.ctv-mstats span{ font-size:.8rem; color:var(--muted); }

/* Boundary note */
.ctv-mnote{ display:flex; align-items:center; gap:11px; margin-top:26px; padding:14px 20px; border-radius:16px; background:rgba(245,158,40,.13); border:1px solid rgba(245,158,40,.3); color:#9a4d11; font-size:.95rem; line-height:1.5; }
.ctv-mnote svg{ flex-shrink:0; } .ctv-mnote b{ font-weight:600; }

/* Criteria buckets */
.ctv-mbuckets{ display:flex; flex-direction:column; gap:16px; }
.ctv-mbucket{ padding:22px 24px; }
.ctv-mbucket__h{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px; padding-bottom:14px; border-bottom:1px solid rgba(20,22,39,.08); }
.ctv-mbucket__h span{ font-size:1.2rem; font-weight:500; } .ctv-mbucket__h b{ font-size:.82rem; font-weight:700; color:var(--brand-hover); text-transform:uppercase; letter-spacing:.03em; }
.ctv-mcrit{ display:flex; gap:14px; padding:16px 0; border-bottom:1px solid rgba(20,22,39,.07); }
.ctv-mcrit:last-child{ border-bottom:0; padding-bottom:2px; }
.ctv-mcrit__ic{ flex-shrink:0; width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; background:rgba(109,92,245,.12); color:var(--brand-hover); }
.ctv-mcrit__main{ flex:1; min-width:0; }
.ctv-mcrit__top{ display:flex; align-items:center; gap:9px; margin-bottom:8px; flex-wrap:wrap; }
.ctv-mcrit__top .nm{ font-weight:500; font-size:1.02rem; }
.ctv-mcrit__top .wt{ margin-left:auto; font-weight:700; font-size:1.05rem; color:var(--brand-hover); font-variant-numeric:tabular-nums; }
.ctv-mcrit .ctv-cbar__tr{ height:8px; }
.ctv-mcrit__desc{ margin:9px 0 0; color:var(--ink-muted); font-size:.92rem; line-height:1.55; }
.ctv-tag--mixed{ background:rgba(245,158,40,.16); color:#8a5a09; }

/* Grade scale */
.ctv-mscale{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.ctv-mband{ text-align:center; padding:18px 12px 16px; border-radius:16px; background:var(--glass-bg-strong); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-brd); border-top:3px solid var(--c); box-shadow:var(--glass-shadow); transition:transform .3s var(--ease-out); }
.ctv-mband:hover{ transform:translateY(-3px); }
.ctv-mband__g{ display:block; font-size:2.1rem; font-weight:700; line-height:1; color:var(--c); }
.ctv-mband__r{ display:block; font-size:.82rem; color:var(--muted); margin:6px 0 3px; font-variant-numeric:tabular-nums; }
.ctv-mband__w{ display:block; font-size:.92rem; font-weight:500; color:var(--c); }
.ctv-mscale-note{ font-size:.86rem; color:var(--muted); margin:16px 0 0; line-height:1.55; }

/* Integrity gate */
.ctv-mgate{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ctv-mgate__c{ padding:24px; }
.ctv-mgate__ic{ width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.ctv-mgate__ic--warn{ background:rgba(239,108,26,.14); color:#c2410c; }
.ctv-mgate__ic--danger{ background:rgba(225,52,47,.13); color:#a3211d; }
.ctv-mgate__c h3{ font-size:1.12rem; margin:0 0 8px; }
.ctv-mgate__c p{ margin:0; color:var(--ink-muted); line-height:1.6; font-size:.95rem; } .ctv-mgate__c p b{ color:var(--ink); }

/* Confidence */
.ctv-mconf{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ctv-mconf__c{ padding:20px 22px; }
.ctv-mconf__dot{ display:inline-block; width:11px; height:11px; border-radius:50%; margin-bottom:9px; }
.ctv-mconf__c b{ display:block; font-size:1.08rem; margin-bottom:5px; }
.ctv-mconf__c p{ margin:0; color:var(--ink-muted); line-height:1.55; font-size:.92rem; } .ctv-mconf__c p b{ display:inline; color:var(--ink); font-size:inherit; }

/* Money / independence callout */
.ctv-mmoney{ display:flex; gap:18px; align-items:flex-start; margin-top:40px; padding:26px 30px; border-radius:20px; background:linear-gradient(135deg,rgba(109,92,245,.13),rgba(255,107,139,.08)); border:1px solid rgba(109,92,245,.22); }
.ctv-mmoney__ic{ flex-shrink:0; width:44px; height:44px; border-radius:50%; background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(109,92,245,.35); }
.ctv-mmoney h3{ font-size:1.3rem; margin:0 0 8px; }
.ctv-mmoney p{ margin:0 0 12px; color:var(--ink-muted); line-height:1.65; }
.ctv-mmoney a{ color:var(--brand-hover); text-decoration:none; font-weight:500; } .ctv-mmoney a:hover{ text-decoration:underline; }

/* Steps */
.ctv-msteps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ctv-msteps li{ display:flex; gap:14px; align-items:flex-start; background:var(--glass-bg-strong); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-brd); box-shadow:var(--glass-shadow); border-radius:14px; padding:15px 18px; }
.ctv-msteps__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-msteps li b{ font-weight:500; font-size:1.02rem; } .ctv-msteps li p{ margin:3px 0 0; color:var(--ink-muted); font-size:.92rem; line-height:1.5; }

/* Evidence + cadence */
.ctv-mtwo{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ctv-mcard{ padding:22px 24px; }
.ctv-mcard h3{ font-size:1.15rem; margin:0 0 14px; }
.ctv-mlist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.ctv-mlist li{ position:relative; padding-left:20px; color:var(--ink-muted); font-size:.93rem; line-height:1.55; }
.ctv-mlist li::before{ content:""; position:absolute; left:0; top:8px; width:8px; height:8px; border-radius:50%; background:var(--brand); }
.ctv-mlist li b{ color:var(--ink); font-weight:500; }
.ctv-mcadence{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }
.ctv-mcadence li{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid rgba(20,22,39,.07); }
.ctv-mcadence li:last-child{ border-bottom:0; }
.ctv-mcadence span{ color:var(--ink-muted); font-size:.93rem; } .ctv-mcadence b{ font-weight:500; }

.ctv-mfoot{ margin-top:44px; padding-top:20px; border-top:1px solid var(--line); font-size:.84rem; color:var(--muted); line-height:1.6; text-align:center; }
.ctv-mfoot a{ color:var(--brand-hover); text-decoration:none; } .ctv-mfoot a:hover{ text-decoration:underline; }

@media (max-width:760px){
  .ctv-mscale{ grid-template-columns:repeat(5,1fr); gap:6px; }
  .ctv-mband{ padding:12px 4px; } .ctv-mband__g{ font-size:1.5rem; } .ctv-mband__r, .ctv-mband__w{ font-size:.7rem; }
  .ctv-mgate, .ctv-mconf, .ctv-mtwo{ grid-template-columns:1fr; }
  .ctv-mmoney{ flex-direction:column; gap:14px; }
}
