/* ==========================================================================
   Better Vetters, site.css
   Paste into: WordPress admin > Appearance > Editor > Styles > (three dots) > Additional CSS
   Theme: Twenty Twenty-Five (block theme). Use the "Page No Title" template on every page.
   Fonts load from the <link> tags in seo/head-snippet.html (an @import in Additional CSS is not reliable).
   Brand tokens below are copied from better-vetters-brand/tokens.css.
   ========================================================================== */

/* ---------- 1. Brand tokens ---------- */
:root {
  --bv-ink: #0B1626;
  --bv-steel: #1D3557;
  --bv-mint: #2FD6A0;
  --bv-green: #0A7A57;
  --bv-white: #FFFFFF;
  --bv-paper: #F6F8FB;
  --bv-slate-100: #E3E9F0;
  --bv-slate-300: #CBD5E1;
  --bv-slate-500: #5B6B80;
  --bv-slate-600: #3E4C5F;
  --bv-ink-800: #12253D;
  --bv-ink-600: #24405F;
  --bv-mist: #A9B7C9;

  /* Semantic (light theme default) */
  --bv-bg: var(--bv-white);
  --bv-bg-subtle: var(--bv-paper);
  --bv-surface: var(--bv-white);
  --bv-border: var(--bv-slate-300);
  --bv-divider: var(--bv-slate-100);
  --bv-text: var(--bv-ink);
  --bv-text-muted: var(--bv-slate-600);
  --bv-accent: var(--bv-green);
  --bv-accent-contrast: var(--bv-white);
  --bv-link: var(--bv-green);

  /* Verdict badges (light) */
  --bv-verdict-trusted-fg: #0A7A57;
  --bv-verdict-trusted-bg: #E3F8F0;
  --bv-verdict-trusted-border: #9ADBC3;
  --bv-verdict-likely-ok-fg: #0B5F8A;
  --bv-verdict-likely-ok-bg: #E4F1FA;
  --bv-verdict-likely-ok-border: #9CC8E6;
  --bv-verdict-caution-fg: #8A4B00;
  --bv-verdict-caution-bg: #FFF1D6;
  --bv-verdict-caution-border: #F0C877;
  --bv-verdict-high-risk-fg: #B3261E;
  --bv-verdict-high-risk-bg: #FDE8E6;
  --bv-verdict-high-risk-border: #F2A9A3;
  --bv-verdict-unknown-fg: #3E4C5F;
  --bv-verdict-unknown-bg: #E8ECF2;
  --bv-verdict-unknown-border: #B6C2D1;
  --bv-verdict-not-found-fg: #3E4C5F;
  --bv-verdict-not-found-bg: #FFFFFF;
  --bv-verdict-not-found-border: #8A99AD;
  --bv-verdict-out-of-coverage-fg: #4B3AA8;
  --bv-verdict-out-of-coverage-bg: #EEEAFB;
  --bv-verdict-out-of-coverage-border: #BDB2EC;

  /* Fonts */
  --bv-font-heading: "Space Grotesk", system-ui, sans-serif;
  --bv-font-body: "Inter", system-ui, sans-serif;
  --bv-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Type scale */
  --bv-text-display-size: 3.5rem;
  --bv-text-display-line: 1.07;
  --bv-text-display-weight: 700;
  --bv-text-h1-size: 2.5rem;
  --bv-text-h1-line: 1.15;
  --bv-text-h1-weight: 700;
  --bv-text-h2-size: 2rem;
  --bv-text-h2-line: 1.19;
  --bv-text-h2-weight: 600;
  --bv-text-h3-size: 1.5rem;
  --bv-text-h3-line: 1.25;
  --bv-text-h3-weight: 600;
  --bv-text-h4-size: 1.25rem;
  --bv-text-h4-line: 1.4;
  --bv-text-h4-weight: 600;
  --bv-text-body-lg-size: 1.125rem;
  --bv-text-body-lg-line: 1.56;
  --bv-text-body-lg-weight: 400;
  --bv-text-body-size: 1rem;
  --bv-text-body-line: 1.62;
  --bv-text-body-weight: 400;
  --bv-text-small-size: 0.875rem;
  --bv-text-small-line: 1.57;
  --bv-text-small-weight: 400;
  --bv-text-caption-size: 0.75rem;
  --bv-text-caption-line: 1.5;
  --bv-text-caption-weight: 500;
  --bv-text-code-size: 0.875rem;
  --bv-text-code-line: 1.57;
  --bv-text-code-weight: 400;

  /* Radii */
  --bv-radius-sm: 4px;
  --bv-radius-md: 8px;
  --bv-radius-lg: 12px;
  --bv-radius-xl: 16px;
  --bv-radius-pill: 999px;

  /* Spacing */
  --bv-space-1: 0.25rem;
  --bv-space-2: 0.5rem;
  --bv-space-3: 0.75rem;
  --bv-space-4: 1rem;
  --bv-space-5: 1.5rem;
  --bv-space-6: 2rem;
  --bv-space-7: 3rem;
  --bv-space-8: 4rem;
  --bv-space-9: 6rem;
}

/* Dark theme: add data-theme="dark" (or class .bv-dark) to any container */
[data-theme="dark"], .bv-dark {
  --bv-bg: var(--bv-ink);
  --bv-bg-subtle: var(--bv-ink-800);
  --bv-surface: var(--bv-ink-800);
  --bv-border: var(--bv-ink-600);
  --bv-divider: var(--bv-ink-600);
  --bv-text: var(--bv-white);
  --bv-text-muted: var(--bv-mist);
  --bv-accent: var(--bv-mint);
  --bv-accent-contrast: var(--bv-ink);
  --bv-link: var(--bv-mint);
  --bv-verdict-trusted-fg: #2FD6A0;
  --bv-verdict-trusted-bg: #0F3A33;
  --bv-verdict-trusted-border: #1B6B58;
  --bv-verdict-likely-ok-fg: #7CC4F2;
  --bv-verdict-likely-ok-bg: #12304D;
  --bv-verdict-likely-ok-border: #245A86;
  --bv-verdict-caution-fg: #F5B83D;
  --bv-verdict-caution-bg: #3A2C0C;
  --bv-verdict-caution-border: #7A5A14;
  --bv-verdict-high-risk-fg: #FF8A80;
  --bv-verdict-high-risk-bg: #3F1A1B;
  --bv-verdict-high-risk-border: #8A3A3A;
  --bv-verdict-unknown-fg: #A9B7C9;
  --bv-verdict-unknown-bg: #1B2C44;
  --bv-verdict-unknown-border: #3A506E;
  --bv-verdict-not-found-fg: #A9B7C9;
  --bv-verdict-not-found-bg: #0B1626;
  --bv-verdict-not-found-border: #5C7192;
  --bv-verdict-out-of-coverage-fg: #BFB3FF;
  --bv-verdict-out-of-coverage-bg: #26204A;
  --bv-verdict-out-of-coverage-border: #4F4592;
}

/* Badge component */
.bv-badge {
  display: inline-flex; align-items: center; gap: .4em;
  font: 500 .8125rem/1 var(--bv-font-mono);
  padding: .4em .7em; border-radius: var(--bv-radius-pill);
  border: 1px solid var(--bv-badge-border); color: var(--bv-badge-fg); background: var(--bv-badge-bg);
}
.bv-badge::before { content: ""; width: .5em; height: .5em; border-radius: 50%; background: currentColor; }
.bv-badge--trusted { --bv-badge-fg: var(--bv-verdict-trusted-fg); --bv-badge-bg: var(--bv-verdict-trusted-bg); --bv-badge-border: var(--bv-verdict-trusted-border); }
.bv-badge--likely-ok { --bv-badge-fg: var(--bv-verdict-likely-ok-fg); --bv-badge-bg: var(--bv-verdict-likely-ok-bg); --bv-badge-border: var(--bv-verdict-likely-ok-border); }
.bv-badge--caution { --bv-badge-fg: var(--bv-verdict-caution-fg); --bv-badge-bg: var(--bv-verdict-caution-bg); --bv-badge-border: var(--bv-verdict-caution-border); }
.bv-badge--high-risk { --bv-badge-fg: var(--bv-verdict-high-risk-fg); --bv-badge-bg: var(--bv-verdict-high-risk-bg); --bv-badge-border: var(--bv-verdict-high-risk-border); }
.bv-badge--unknown { --bv-badge-fg: var(--bv-verdict-unknown-fg); --bv-badge-bg: var(--bv-verdict-unknown-bg); --bv-badge-border: var(--bv-verdict-unknown-border); }
.bv-badge--not-found { --bv-badge-fg: var(--bv-verdict-not-found-fg); --bv-badge-bg: var(--bv-verdict-not-found-bg); --bv-badge-border: var(--bv-verdict-not-found-border); }
.bv-badge--out-of-coverage { --bv-badge-fg: var(--bv-verdict-out-of-coverage-fg); --bv-badge-bg: var(--bv-verdict-out-of-coverage-bg); --bv-badge-border: var(--bv-verdict-out-of-coverage-border); }
.bv-badge--not-found { border-style: dashed; }

/* ---------- 2. Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
:root body { overflow-x: clip; background: var(--bv-white); color: var(--bv-text); font-family: var(--bv-font-body) !important; font-size: 1rem; font-weight: 400; letter-spacing: normal; line-height: var(--bv-text-body-line); -webkit-font-smoothing: antialiased; }
body a { color: var(--bv-link); text-underline-offset: .18em; }
body a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--bv-mint); outline-offset: 2px; border-radius: 3px; }
.bv-band h1, .bv-band h2, .bv-band h3, .bv-band h4, .bv-header, .bv-footer h4 { font-family: var(--bv-font-heading) !important; letter-spacing: -0.012em; }
code, kbd, pre, .bv-code { font-family: var(--bv-font-mono) !important; }
:not(pre) > code { font-size: .875em; background: var(--bv-slate-100); color: var(--bv-ink); padding: .12em .4em; border-radius: var(--bv-radius-sm); }

/* ---------- 2b. WordPress compat (match the static preview: border-box sizing, no UA margins on raw-HTML blocks) ---------- */
:where(.bv-band, .bv-header, .bv-footer), :where(.bv-band, .bv-header, .bv-footer) *, :where(.bv-band, .bv-header, .bv-footer) *::before, :where(.bv-band, .bv-header, .bv-footer) *::after { box-sizing: border-box; }
:where(.bv-band, .bv-header, .bv-footer) :is(p, h1, h2, h3, h4, ul, ol, pre, figure) { margin-block: 0; }
:where(.bv-band, .bv-header, .bv-footer) :is(img, svg) { max-width: 100%; }
.bv-band :is(h1, h2, h3, h4, h5, h6), .bv-footer h4 { line-height: var(--bv-text-body-line); text-wrap: wrap; }
.bv-band ul.wp-block-list, .bv-band ol.wp-block-list, .bv-band figure.wp-block-table { margin: 0; }
.bv-band li, .bv-footer li { margin-block: 0; }

/* ---------- 3. Page structure (Twenty Twenty-Five: use the "Page No Title" template) ---------- */
main.wp-block-group, .wp-site-blocks > main { margin-block-start: 0 !important; padding: 0 !important; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.bv-band { --bv-gutter: max(24px, calc((100vw - 1120px) / 2)); box-sizing: border-box; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; padding: clamp(3rem, 7vw, 5.5rem) var(--bv-gutter) !important; background: var(--bv-bg); color: var(--bv-text); }
.wp-block-post-content > .bv-band, .entry-content > .bv-band { margin-top: 0 !important; margin-bottom: 0 !important; }
.bv-band--narrow { --bv-gutter: max(24px, calc((100vw - 46rem) / 2)); }
.bv-band > * { box-sizing: border-box; max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.bv-band > * + * { margin-top: 1.25rem; }
.bv-band--paper { background: var(--bv-paper); border-top: 1px solid var(--bv-divider); border-bottom: 1px solid var(--bv-divider); }
.bv-band--dark { background: var(--bv-ink); color: var(--bv-white); --bv-text: #fff; --bv-text-muted: var(--bv-mist); --bv-link: var(--bv-mint); }
.bv-band--dark { --bv-border: var(--bv-ink-600); }
.bv-band--steel { background: radial-gradient(700px 300px at 50% 0%, rgba(47,214,160,.14), transparent 65%), var(--bv-steel); color: #fff; --bv-text: #fff; --bv-text-muted: #C7D3E2; --bv-link: var(--bv-mint); }
.bv-band--steel h1, .bv-band--steel h2 { color: #fff; }
.bv-band--steel .bv-lead { color: #D5DFEC; }
.bv-band--dark h1, .bv-band--dark h2, .bv-band--dark h3 { color: #fff; }
.bv-center { text-align: center; }
.bv-band > .bv-center, .bv-center.wp-block-buttons { justify-content: center; }
.bv-band > .bv-lead.bv-center { margin-left: auto !important; margin-right: auto !important; }

/* ---------- 4. Type ---------- */
.bv-eyebrow { font: 600 .8125rem/1.2 var(--bv-font-mono) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--bv-green); margin-bottom: .6rem !important; }
.bv-band--dark .bv-eyebrow { color: var(--bv-mint); }
.bv-display { font-size: clamp(2.5rem, 6vw, 3.5rem) !important; line-height: 1.06 !important; font-weight: 700 !important; margin-top: 0 !important; margin-bottom: 1.2rem !important; color: #fff; }
.bv-h1 { font-size: clamp(2.1rem, 4.6vw, 2.9rem) !important; line-height: 1.1 !important; font-weight: 700 !important; margin-top: 0 !important; margin-bottom: 1rem !important; }
.bv-h2 { font-size: clamp(1.7rem, 3.2vw, 2.1rem) !important; line-height: 1.17 !important; font-weight: 600 !important; margin-top: 0 !important; margin-bottom: .75rem !important; }
.bv-h3, .bv-band h3 { font-size: 1.25rem; line-height: 1.3; font-weight: 600; }
.bv-lead { font-size: 1.125rem; line-height: 1.56; color: var(--bv-text-muted); max-width: 46rem; }

.bv-note, .bv-fine { font-size: .9375rem; color: var(--bv-text-muted); max-width: 52rem; }
.bv-fine { font-size: .875rem; }
.bv-band--dark .bv-fine, .bv-band--dark .bv-note { color: var(--bv-mist); }
.bv-band > h3.bv-h3 { margin-top: 2.25rem; margin-bottom: .25rem; }
.bv-link { font-weight: 600; }

/* ---------- 5. Header ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 60; }
.bv-header { background: rgba(255,255,255,.96); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--bv-divider); }
.bv-header__inner { display: flex; align-items: center; gap: 1.5rem; justify-content: space-between; max-width: 1180px; margin: 0 auto; padding: .8rem 24px; box-sizing: border-box; }
.bv-header__inner > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.bv-header__inner > .bv-nav { margin-left: auto !important; }
.bv-logo { display: inline-flex; align-items: center; line-height: 0; }
.bv-logo svg { height: 34px; width: auto; display: block; }
.bv-nav { margin-left: auto; font: 500 .9375rem var(--bv-font-body); }
.bv-nav.wp-block-navigation, .bv-nav .wp-block-navigation-item, .bv-nav .wp-block-navigation-item__content { font-size: .9375rem !important; line-height: 1.6; }
.bv-nav .wp-block-navigation-item__content { margin: -.35rem 0; }
.bv-nav .wp-block-navigation__container { display: flex; gap: 1.6rem; list-style: none; margin: 0; padding: 0; align-items: center; }
.bv-nav a, .bv-nav .wp-block-navigation-item__content { color: var(--bv-ink) !important; text-decoration: none !important; font-weight: 500; padding: .35rem 0; border-bottom: 2px solid transparent; }
.bv-nav a:hover { border-bottom-color: var(--bv-green); }
.bv-header .wp-block-buttons { margin: 0; }
.bv-header .bv-btn .wp-block-button__link { padding: .55rem 1rem; font-size: .9rem; }

/* ---------- 6. Buttons ---------- */
.wp-block-buttons.bv-cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.bv-btn .wp-block-button__link, a.bv-btn { display: inline-flex; align-items: center; justify-content: center; font: 600 1rem/1.2 var(--bv-font-body) !important; padding: .85rem 1.4rem; border-radius: var(--bv-radius-md) !important; text-decoration: none !important; border: 1.5px solid transparent; transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease; cursor: pointer; }
a.bv-btn { padding: .85rem 1.4rem; }
.bv-btn .wp-block-button__link:hover, a.bv-btn:hover { transform: translateY(-1px); }
.bv-btn--primary .wp-block-button__link, a.bv-btn--primary { background: var(--bv-green) !important; color: #fff !important; }
.bv-btn--primary .wp-block-button__link:hover, a.bv-btn--primary:hover { background: #086446 !important; box-shadow: 0 6px 18px rgba(10,122,87,.28); }
.bv-btn--mint .wp-block-button__link { background: var(--bv-mint) !important; color: var(--bv-ink) !important; }
.bv-btn--mint .wp-block-button__link:hover { background: #4be3b3 !important; box-shadow: 0 8px 22px rgba(47,214,160,.28); }
.bv-btn--ghost .wp-block-button__link, a.bv-btn--ghost { background: transparent !important; color: var(--bv-ink) !important; border-color: var(--bv-slate-300); }
.bv-btn--ghost .wp-block-button__link:hover, a.bv-btn--ghost:hover { border-color: var(--bv-green); color: var(--bv-green) !important; }
.bv-band--dark .bv-btn--ghost .wp-block-button__link, .bv-band--steel .bv-btn--ghost .wp-block-button__link, .bv-btn--ghost-dark .wp-block-button__link { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.38); }
.bv-band--dark .bv-btn--ghost .wp-block-button__link:hover, .bv-band--steel .bv-btn--ghost .wp-block-button__link:hover, .bv-btn--ghost-dark .wp-block-button__link:hover { border-color: var(--bv-mint); color: var(--bv-mint) !important; }

/* ---------- 7. Hero ---------- */
.bv-hero { background: radial-gradient(900px 420px at 85% -10%, rgba(47,214,160,.16), transparent 60%), radial-gradient(700px 400px at -5% 110%, rgba(29,53,87,.9), transparent 60%), var(--bv-ink); padding-top: clamp(3.5rem, 8vw, 6rem) !important; padding-bottom: clamp(3.5rem, 8vw, 6rem) !important; }
.bv-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.bv-hero__text .bv-lead { color: #C7D3E2; }
.bv-hero__card { background: var(--bv-ink-800); border: 1px solid var(--bv-ink-600); border-radius: var(--bv-radius-xl); box-shadow: 0 30px 60px -20px rgba(0,0,0,.55), 0 0 0 1px rgba(47,214,160,.06); overflow: hidden; }
.bv-hero__bar { display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem; border-bottom: 1px solid var(--bv-ink-600); background: rgba(255,255,255,.02); }
.bv-hero__bar span { width: .65rem; height: .65rem; border-radius: 50%; background: var(--bv-ink-600); }
.bv-hero__bar em { margin-left: .6rem; font: 500 .78rem var(--bv-font-mono); color: var(--bv-mist); font-style: normal; }
.bv-hero__card pre.bv-code { margin: 0; background: transparent; border: 0; border-radius: 0; padding: 1.1rem 1.25rem 1rem; font-size: .8125rem; line-height: 1.65; }
.bv-hero__note { margin: 0; padding: 0 1.25rem 1rem; font-size: .75rem; color: var(--bv-mist); }

/* ---------- 8. Cards and grids ---------- */
.bv-grid { display: grid; gap: 1.25rem; margin-top: 2rem; }
.bv-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bv-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bv-card { background: var(--bv-white); border: 1px solid var(--bv-divider); border-radius: var(--bv-radius-lg); padding: 1.5rem; box-shadow: 0 1px 2px rgba(11,22,38,.04); transition: box-shadow .15s ease, border-color .15s ease; }
.bv-card:hover { border-color: var(--bv-slate-300); box-shadow: 0 10px 28px -14px rgba(11,22,38,.25); }
.bv-card__icon { display: inline-flex; width: 2.6rem; height: 2.6rem; align-items: center; justify-content: center; border-radius: 10px; background: var(--bv-verdict-trusted-bg); color: var(--bv-green); margin-bottom: 1rem; }
.bv-card__icon--text { font: 700 .8125rem var(--bv-font-mono); letter-spacing: .02em; width: auto; min-width: 2.6rem; padding: 0 .7rem; }
.bv-card h3 { margin: 0 0 .4rem !important; font-size: 1.1875rem !important; }
.bv-card p { margin: 0; color: var(--bv-text-muted); font-size: .96875rem; line-height: 1.58; }
.bv-band--paper .bv-card { background: var(--bv-white); }

/* ---------- 9. Tables ---------- */
.bv-table { margin: 1.5rem auto 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bv-table table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--bv-white); border: 1px solid var(--bv-divider); border-radius: var(--bv-radius-lg); overflow: hidden; font-size: .9375rem; }
.bv-table th { text-align: left; font: 600 .78rem/1.3 var(--bv-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--bv-slate-600); background: var(--bv-paper); padding: .8rem 1rem; border-bottom: 1px solid var(--bv-divider); white-space: nowrap; }
.bv-table td { padding: .85rem 1rem; border-bottom: 1px solid var(--bv-divider); vertical-align: top; line-height: 1.5; color: var(--bv-text); border-left: 0; border-right: 0; border-top: 0; }
.bv-table tr:last-child td { border-bottom: 0; }
.bv-table tbody tr:nth-child(even) td { background: #FBFCFE; }
.bv-band--paper .bv-table table { background: var(--bv-white); }
.bv-table .bv-num, .bv-table td.bv-num { text-align: right; font-variant-numeric: tabular-nums; font-family: var(--bv-font-mono); font-size: .875rem; white-space: nowrap; }
.bv-table--verdicts td:first-child { white-space: nowrap; width: 1%; padding-right: 1.5rem; }
.bv-table--sources td:first-child { font: 600 .75rem var(--bv-font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--bv-slate-600); white-space: nowrap; }
.bv-table td code { white-space: nowrap; }

/* ---------- 10. Verdict badges (extends tokens.css, adds icons) ---------- */
.bv-badge::before { display: none; }
.bv-badge__icon { flex: none; }

/* ---------- 11. Code ---------- */
.bv-codeblock { position: relative; margin: 1.25rem auto !important; }
.bv-code__label { position: absolute; top: .6rem; right: .8rem; font: 500 .7rem var(--bv-font-mono); color: var(--bv-mist); text-transform: uppercase; letter-spacing: .08em; }
pre.bv-code { font-variant-ligatures: none; margin: 0; background: var(--bv-ink); color: #DCE6F2; border: 1px solid var(--bv-ink-600); border-radius: var(--bv-radius-lg); padding: 1.15rem 1.3rem; overflow-x: auto; font-size: .8125rem; line-height: 1.65; tab-size: 2; max-height: 30rem; }
pre.bv-code code { background: none !important; padding: 0 !important; color: inherit; font-size: inherit; white-space: pre; }
.bv-k { color: #7CC4F2; } .bv-s { color: #2FD6A0; } .bv-n { color: #F5B83D; } .bv-b { color: #BFB3FF; } .bv-c { color: #7A8CA5; } .bv-cmd { color: #F5B83D; }

/* ---------- 12. Verdict / limits two-column ---------- */
.bv-twocol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.75rem; }
.bv-twocol > div { background: var(--bv-white); border: 1px solid var(--bv-divider); border-radius: var(--bv-radius-lg); padding: 1.4rem 1.5rem; }
.bv-twocol h3 { margin: 0 0 .7rem; font-size: 1.1rem; }
ul.bv-ticks, ul.bv-crosses { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
ul.bv-ticks li, ul.bv-crosses li { position: relative; padding-left: 1.7rem; line-height: 1.5; font-size: .96875rem; }
ul.bv-ticks li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.05rem; height: 1.05rem; background: var(--bv-verdict-trusted-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230A7A57' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/70% no-repeat; border-radius: 50%; }
ul.bv-crosses li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.05rem; height: 1.05rem; background: var(--bv-verdict-unknown-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%233E4C5F' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4.5 8h7'/%3E%3C/svg%3E") center/70% no-repeat; border-radius: 50%; }
.bv-band--dark ul.bv-ticks li::before { background-color: #0F3A33; }
ul.bv-ticks--wide { max-width: 52rem; gap: .9rem; }

/* ---------- 13. Pricing ---------- */
.bv-pricecallout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 2rem; align-items: center; }
.bv-pricecallout .bv-lead { color: #C7D3E2; }
.bv-pricecallout p + p, .bv-pricecallout h2 + p { margin-top: 1rem; }
.bv-pricecallout .bv-eyebrow { margin-bottom: .6rem; }
.bv-pricecallout__price { background: var(--bv-ink-800); border: 1px solid var(--bv-ink-600); border-radius: var(--bv-radius-xl); padding: 2rem 1.5rem; text-align: center; display: grid; gap: .35rem; }
.bv-pricecallout__amt { font: 700 3.5rem/1 var(--bv-font-heading); color: var(--bv-mint); }
.bv-pricecallout__unit { font: 500 .9rem var(--bv-font-mono); color: var(--bv-mist); text-transform: uppercase; letter-spacing: .08em; }
.bv-pricecallout__free { margin-top: .75rem; display: inline-block; justify-self: center; font: 600 .875rem var(--bv-font-body); color: var(--bv-ink); background: var(--bv-mint); padding: .4rem .8rem; border-radius: var(--bv-radius-pill); }
.bv-pricecards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.bv-pricecard { background: var(--bv-white); border: 1px solid var(--bv-divider); border-radius: var(--bv-radius-xl); padding: 2rem; display: flex; flex-direction: column; gap: 1.1rem; }
.bv-pricecard--main { border: 2px solid var(--bv-green); box-shadow: 0 18px 40px -22px rgba(10,122,87,.45); }
.bv-pricecard__tag { margin: 0; font: 600 .78rem var(--bv-font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--bv-green); }
.bv-pricecard__amt { margin: 0; font: 700 3rem/1 var(--bv-font-heading); color: var(--bv-ink); }
.bv-pricecard__amt span { font: 500 1rem var(--bv-font-body); color: var(--bv-text-muted); }
.bv-pricecard ul { flex: 1; align-content: start; }
.bv-pricecard .bv-btn { align-self: flex-start; }

/* ---------- 14. Docs helpers ---------- */
.bv-toc { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.bv-toc a { font: 500 .8125rem var(--bv-font-mono); text-decoration: none; padding: .4rem .8rem; border-radius: var(--bv-radius-pill); background: var(--bv-white); border: 1px solid var(--bv-slate-300); color: var(--bv-ink); }
.bv-toc a:hover { border-color: var(--bv-green); color: var(--bv-green); }
.bv-linklist { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; gap: .6rem; }
.bv-linklist li { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; background: var(--bv-white); border: 1px solid var(--bv-divider); border-radius: var(--bv-radius-md); padding: .8rem 1rem; }
.bv-linklist li span { color: var(--bv-text-muted); font-size: .9rem; }
.bv-linklist code { background: none !important; color: var(--bv-link); padding: 0 !important; word-break: break-all; }
.bv-band > ol.wp-block-list, .bv-band > ul.wp-block-list { padding-left: 1.4rem; display: grid; gap: .55rem; }

/* ---------- 15. Coverage ---------- */
.bv-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.bv-stats > div { text-align: center; padding: 1.5rem 1rem; border: 1px solid var(--bv-divider); border-radius: var(--bv-radius-lg); background: var(--bv-white); }
.bv-stats strong { display: block; font: 700 2.1rem/1.1 var(--bv-font-heading); color: var(--bv-ink); font-variant-numeric: tabular-nums; }
.bv-stats span { font: 500 .78rem var(--bv-font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--bv-slate-600); }

/* ---------- 16. FAQ ---------- */
.bv-faq { display: grid; gap: .75rem; margin-top: 1.75rem !important; }
.bv-faq .wp-block-details { background: var(--bv-white); border: 1px solid var(--bv-divider); border-radius: var(--bv-radius-lg); padding: 0 1.25rem; margin: 0 !important; }
.bv-band--paper .bv-faq .wp-block-details { background: var(--bv-white); }
.bv-faq summary { cursor: pointer; font: 600 1.0625rem/1.4 var(--bv-font-heading); padding: 1.05rem 0; list-style: none; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.bv-faq summary::-webkit-details-marker { display: none; }
.bv-faq summary::after { content: ""; flex: none; width: .6rem; height: .6rem; border-right: 2px solid var(--bv-green); border-bottom: 2px solid var(--bv-green); transform: rotate(45deg); transition: transform .15s ease; margin-right: .2rem; }
.bv-faq details[open] summary::after { transform: rotate(-135deg); }
.bv-faq details[open] summary { border-bottom: 1px solid var(--bv-divider); }
.bv-faq details > p { margin: 0 !important; padding: 1rem 0 1.25rem; color: var(--bv-text-muted); line-height: 1.62; }

/* ---------- 17. Legal pages ---------- */
.bv-legal h2.bv-legal-h { font-size: 1.35rem !important; margin-top: 2.2rem !important; margin-bottom: .5rem !important; font-weight: 600 !important; }
.bv-legal p, .bv-legal li { line-height: 1.68; }
.bv-legal ul, .bv-legal ol { padding-left: 1.3rem; display: grid; gap: .4rem; }
.bv-draftbanner, .bv-legalbanner { display: grid; gap: .3rem; margin-top: 1.5rem; padding: 1rem 1.25rem; border: 1.5px solid var(--bv-divider); background: #fff; color: var(--bv-text); border-radius: var(--bv-radius-md); font-size: .9375rem; max-width: 46rem; }
.bv-draftbanner strong, .bv-legalbanner strong { font: 700 1rem var(--bv-font-heading); }
.bv-legal .bv-table { margin-top: .75rem; }


/* ---------- 19. Footer ---------- */
.bv-footer { background: var(--bv-ink); color: var(--bv-mist); padding: clamp(2.5rem, 6vw, 4rem) 24px 2rem; margin-top: 0 !important; }
/* footer */
.bv-footer__inner { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2.5rem; }
.bv-footer .bv-logo svg { height: 32px; }
.bv-footer p { color: var(--bv-mist); font-size: .9375rem; margin: .9rem 0 0; max-width: 22rem; }
.bv-footer h4 { line-height: 1.62; color: #fff; font-size: .8125rem !important; font-family: var(--bv-font-mono) !important; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 .9rem; font-weight: 600; }
.bv-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.bv-footer a { color: #fff; text-decoration: none; font-size: .9375rem; }
.bv-footer a:hover { color: var(--bv-mint); text-decoration: underline; }
.bv-footer .bv-footer__bottom { max-width: 1120px; margin: 2.5rem auto 0 !important; padding-top: 1.5rem; border-top: 1px solid var(--bv-ink-600); display: flex; flex-wrap: wrap; gap: .5rem 2rem; justify-content: space-between; font-size: .875rem; color: var(--bv-mist); }
.bv-footer__bottom p { margin: 0; font-size: .875rem; max-width: none; }
.bv-footer__bottom .bv-footer__flag { color: #fff; font-weight: 500; }

/* ---------- 20. Responsive ---------- */
@media (max-width: 900px) {
  .bv-hero__grid, .bv-pricecallout, .bv-pricecards, .bv-twocol { grid-template-columns: 1fr; }
  .bv-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bv-footer__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .bv-band { padding: 2.75rem 18px !important; }
  .bv-grid--3, .bv-grid--2 { grid-template-columns: 1fr; }
  .bv-header__inner { gap: .75rem; padding: .65rem 16px; }
  .bv-logo svg { height: 28px; }
  .bv-header .wp-block-buttons { display: none; }
  .bv-nav .wp-block-navigation__container { gap: 1rem; }
  .bv-nav { font-size: .875rem; }
  .bv-table { overflow-x: auto; }
  .bv-table th { white-space: normal; }
  .bv-table table { font-size: .875rem; }
  .bv-table th, .bv-table td { padding: .65rem .5rem; }
  .bv-table td:first-child code { font-size: .78em; padding: .1em .3em; }
  .bv-table--verdicts thead { display: none; }
  .bv-table--verdicts tr, .bv-table--verdicts td { display: block; width: auto; }
  .bv-table--verdicts td:first-child { padding-bottom: 0; border-bottom: 0; white-space: normal; }
  .bv-table--verdicts td:last-child { padding-top: .45rem; }
  .bv-table td code { white-space: normal; word-break: break-word; }
  .bv-table td:first-child code { white-space: nowrap; word-break: normal; }
  .bv-footer__inner { grid-template-columns: 1fr; gap: 1.75rem; }
  .bv-pricecallout__amt { font-size: 3rem; }
  .bv-stats strong { font-size: 1.6rem; }
  .bv-cta .wp-block-button, .bv-cta .wp-block-button__link { width: 100%; }
  pre.bv-code { font-size: .75rem; }
}
@media (max-width: 430px) {
  .bv-header__inner { gap: .5rem; }
  .bv-logo svg { height: 24px; }
  .bv-nav .wp-block-navigation__container { gap: .85rem; flex-wrap: nowrap; }
  .bv-nav.wp-block-navigation, .bv-nav .wp-block-navigation-item, .bv-nav .wp-block-navigation-item__content { font-size: .875rem !important; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
.bv-legal > h2.bv-legal-h:first-child { margin-top: 0 !important; }

/* ---------- breadcrumbs (1.0.4) ---------- */
.bv-breadcrumb { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; font-size: .875rem; color: var(--bv-text-muted); margin: 0 0 .75rem; }
.bv-breadcrumb a { color: var(--bv-link); text-decoration: none; }
.bv-breadcrumb a:hover { text-decoration: underline; }
.bv-breadcrumb__sep { color: var(--bv-slate, #5B6B80); opacity: .7; }
.bv-breadcrumb [aria-current="page"] { color: var(--bv-text-muted); }

/* needs_review (added 1.0.5) reuses the caution palette */
.bv-badge--needs-review { --bv-badge-fg: var(--bv-verdict-caution-fg); --bv-badge-bg: var(--bv-verdict-caution-bg); --bv-badge-border: var(--bv-verdict-caution-border); border-style: dashed; }

/* ---------- Feedback form (/feedback/, plugin 1.0.6) ---------- */
.bv-fb { max-width: 46rem; }
.bv-fb-form { display: grid; gap: 1.6rem; background: var(--bv-white); border: 1px solid var(--bv-divider); border-radius: var(--bv-radius-lg, 14px); padding: clamp(1.25rem, 4vw, 2.25rem); }
.bv-fb-q { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: .5rem; }
.bv-fb-q legend, .bv-fb-legend { font: 600 1.0625rem/1.35 var(--bv-font-heading); color: var(--bv-ink); padding: 0; margin-bottom: .35rem; }
.bv-fb-label { font: 500 .9375rem/1.4 var(--bv-font-body); color: var(--bv-text); margin-top: .4rem; }
.bv-fb-hint { margin: 0 !important; font-size: .875rem; color: var(--bv-text-muted); }
.bv-fb-req, .bv-fb-opt { font: 500 .7rem var(--bv-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--bv-slate-500); margin-left: .35rem; }
.bv-fb-req { color: var(--bv-green); }
.bv-fb-choice { display: flex; align-items: center; gap: .55rem; font-size: 1rem; cursor: pointer; padding: .15rem 0; }
.bv-fb-choice input { width: 1.05rem; height: 1.05rem; accent-color: var(--bv-green); margin: 0; }
.bv-fb-input { width: 100%; box-sizing: border-box; font: 400 1rem/1.45 var(--bv-font-body); color: var(--bv-ink); background: var(--bv-white); border: 1.5px solid var(--bv-slate-300); border-radius: var(--bv-radius-md, 10px); padding: .65rem .8rem; }
.bv-fb-input:focus { border-color: var(--bv-green); outline: 3px solid rgba(47,214,160,.35); outline-offset: 0; }
.bv-fb-input--short { max-width: 18rem; font-family: var(--bv-font-mono); }
textarea.bv-fb-input { resize: vertical; min-height: 4.2rem; }
.bv-fb-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.bv-fb-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.2rem; }
.bv-fb-actions button.bv-btn { display: inline-flex; align-items: center; font: 600 1rem/1.2 var(--bv-font-body); padding: .85rem 1.4rem; border-radius: var(--bv-radius-md, 10px); border: 1.5px solid transparent; background: var(--bv-green); color: var(--bv-white); cursor: pointer; }
.bv-fb-actions button.bv-btn:hover { transform: translateY(-1px); }
.bv-fb-actions button.bv-btn[disabled] { opacity: .6; cursor: progress; transform: none; }
.bv-fb-fine { font-size: .8125rem; color: var(--bv-text-muted); }
.bv-fb-error { margin: 0 !important; padding: .7rem .9rem; border-radius: var(--bv-radius-md, 10px); background: var(--bv-verdict-high-risk-bg); color: var(--bv-verdict-high-risk-fg); border: 1px solid var(--bv-verdict-high-risk-border); font-size: .9375rem; }
.bv-fb-thanks { background: var(--bv-white); border: 1px solid var(--bv-verdict-trusted-border); border-radius: var(--bv-radius-lg, 14px); padding: clamp(1.25rem, 4vw, 2.25rem); display: grid; gap: .8rem; }
.bv-fb-thanks:focus { outline: none; }
.bv-fb-thanks .bv-h2 { margin: 0 !important; }
.bv-fb-error[hidden], .bv-fb-thanks[hidden] { display: none !important; }
body.bv-fb-is-thanks .bv-fb-form { display: none !important; }
body.bv-fb-is-thanks .bv-fb-thanks { display: grid !important; }
