/* OddsVANTA trust pages: components used inside page content.
   Scoped to .ov-trust so nothing leaks into the rest of the theme. */
.ov-trust > * + * { margin-top: 1.15em; }
.ov-trust > *:first-child { margin-top: 0; }
.ov-trust a[href^="tel:"] { white-space: nowrap; }

/* On-this-page menu (collapsed by default, works without JS) */
.ov-toc { border: 1px solid var(--line); border-radius: var(--radius); background: var(--ink-850); font-size: var(--fs-base); }
.ov-toc > summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 var(--s-5); cursor: pointer; list-style: none; font: 600 var(--fs-base)/1.2 var(--font-body); color: var(--text); }
.ov-toc > summary::-webkit-details-marker { display: none; }
.ov-toc > summary::after { content: "+"; color: var(--ember); font-size: 1.5rem; line-height: 1; transition: transform var(--t); }
.ov-toc[open] > summary::after { transform: rotate(45deg); }
.ov-trust .ov-toc ol { margin: 0; padding: 0 var(--s-5) var(--s-4) 2.6rem; }
.ov-trust .ov-toc li + li { margin-top: 0; }
.ov-trust .ov-toc a { display: block; padding: .5rem 0; text-decoration: none; color: var(--text-2); }
.ov-trust .ov-toc a:hover { color: var(--ember); }

/* Quick-answer box */
.ov-summary { padding: var(--s-5); border-left: 3px solid var(--ember); background: var(--ink-850); border-radius: 0 var(--radius) var(--radius) 0; }
.ov-trust .ov-summary h2 { margin-top: 0; font-size: var(--fs-lg); }
.ov-summary p:first-of-type { color: var(--text); }
.ov-summary > * + * { margin-top: 1em; }

/* Helpline strip */
.ov-help { border: 1px solid var(--line-strong); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--verified-tint), transparent 60%), var(--ink-850); overflow: hidden; font-size: var(--fs-base); line-height: 1.55; }
.ov-trust .ov-help p { margin: 0; }
.ov-help__intro { padding: var(--s-5) var(--s-5) var(--s-4); color: var(--text-2); }
.ov-help__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.ov-help__item { padding: var(--s-4) var(--s-5) var(--s-5); border-top: 1px solid var(--line); }
.ov-help__item + .ov-help__item { border-left: 1px solid var(--line); }
.ov-help__where { font-size: var(--fs-sm); color: var(--text-3); }
.ov-trust .ov-help__num { display: inline-block; margin: .3rem 0 .35rem; padding-block: .15rem; font: 800 clamp(1.35rem, 1.1rem + 1vw, 1.7rem)/1.15 var(--font-display); letter-spacing: -.02em; color: var(--verified); text-decoration: none; font-variant-numeric: tabular-nums; }
.ov-trust .ov-help__num:hover { color: var(--text); }
.ov-help__item p:last-child { font-size: var(--fs-sm); color: var(--text-2); }
.ov-help__crisis { padding: var(--s-4) var(--s-5); border-top: 1px solid var(--line); font-size: var(--fs-sm); color: var(--text-2); background: var(--ink-900); }

/* Callouts */
.ov-note { padding: var(--s-4) var(--s-5); border-left: 3px solid var(--verified); background: var(--ink-850); border-radius: 0 var(--radius) var(--radius) 0; }
.ov-alert { padding: var(--s-5); border: 1px solid var(--caution); border-radius: var(--radius); background: var(--caution-tint); color: var(--text-2); }
.ov-alert > * + * { margin-top: 1em; }
.ov-formula { padding: var(--s-4) var(--s-5); border: 1px solid var(--line); border-radius: var(--radius); background: var(--ink-850); text-align: center; font: 700 var(--fs-lg)/1.3 var(--font-display); color: var(--text); }

/* Lists */
.ov-trust ul.ov-pledge, .ov-trust ul.ov-signs { list-style: none; padding-left: 0; }
.ov-pledge li { position: relative; padding-left: 1.6rem; }
.ov-pledge li::before { content: ""; position: absolute; left: 0; top: .55em; width: .7rem; height: .4rem; border-left: 2px solid var(--verified); border-bottom: 2px solid var(--verified); transform: rotate(-45deg); }
.ov-trust .ov-signs { display: grid; gap: .55rem; }
.ov-trust .ov-signs li + li { margin-top: 0; }
.ov-signs li { position: relative; padding: .75rem 1rem .75rem 2.6rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--ink-850); font-size: var(--fs-base); }
.ov-signs li::before { content: ""; position: absolute; left: 1rem; top: 1.05rem; width: .85rem; height: .85rem; border: 2px solid var(--caution); border-radius: 3px; }

/* Rating scale */
.ov-trust .ov-scale { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); gap: .5rem; list-style: none; padding: 0; }
.ov-trust .ov-scale li { margin: 0; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--ink-850); font-size: var(--fs-sm); line-height: 1.4; }
.ov-scale b { display: block; font: 700 var(--fs-lg)/1.1 var(--font-display); color: var(--text); font-variant-numeric: tabular-nums; }
.ov-scale span { color: var(--text-2); font-weight: 600; }

/* Labels */
.ov-tag { display: inline-block; padding: .15rem .6rem; border-radius: 999px; border: 1px solid; font: 600 var(--fs-sm)/1.4 var(--font-body); }
.ov-tag--tested { color: var(--verified); border-color: var(--verified); background: var(--verified-tint); }
.ov-tag--research { color: var(--caution); border-color: var(--caution); background: var(--caution-tint); }
.ov-tag--sponsor { color: var(--ember); border-color: var(--ember); background: var(--ember-tint); }

/* Tables */
.ov-table { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); }
.ov-trust table caption { text-align: left; padding: var(--s-3) .9rem; font-weight: 600; color: var(--text); border-bottom: 1px solid var(--line); }
.ov-trust table { margin: 0; line-height: 1.5; }
.ov-trust th, .ov-trust td { vertical-align: top; }
.ov-trust tr:last-child td { border-bottom: 0; }
.ov-trust td.w, .ov-trust td.num { white-space: nowrap; color: var(--text); font-variant-numeric: tabular-nums; font-weight: 600; }

/* FAQ and sources sit inside the content column */
.ov-trust .faq, .ov-trust .sources { margin-top: var(--s-7); }
.ov-trust .faq h2 { margin-top: 0; }
.ov-trust .faq details:first-of-type { border-top: 1px solid var(--line); }
.ov-trust .faq details > div p { margin: 0; }
.ov-trust .sources h2 { margin-top: 0; }
.ov-trust .sources li + li { margin-top: 0; }
.ov-trust .rg-band { display: block; margin-top: var(--s-7); }
.ov-trust .rg-band p + p { margin-top: var(--s-3); }
.ov-trust .ov-fineprint { font-size: var(--fs-sm); color: var(--text-3); }

/* ---------- Mobile ---------- */
@media (max-width: 760px) {
  body.ov-trust-page .prose { font-size: 1.0625rem; line-height: 1.7; padding-top: var(--s-5) !important; }
  body.ov-trust-page .article-head h1 { font-size: clamp(1.75rem, 1.2rem + 3vw, 2.25rem); }
  body.ov-trust-page .article-head__lede { font-size: var(--fs-base); }
  .ov-trust .prose h2, .ov-trust h2 { margin-top: 1.9em; }
  .ov-summary, .ov-note, .ov-alert { padding: var(--s-4); }
  .ov-trust .ov-summary h2 { font-size: var(--fs-md); }
  .ov-help__intro { padding: var(--s-4) var(--s-4) var(--s-3); }
  .ov-help__item, .ov-help__crisis { padding: var(--s-4); }
  .ov-help__item + .ov-help__item { border-left: 0; }
  .ov-toc > summary { padding: 0 var(--s-4); }
  .ov-trust .ov-toc ol { padding: 0 var(--s-4) var(--s-3) 2.3rem; }
  .ov-trust .faq summary { font-size: var(--fs-base); min-height: 52px; align-items: center; }
  .ov-trust .sources { padding: var(--s-4); }
  .ov-trust .sources a { display: inline-block; padding-block: .2rem; }
  .ov-trust .rg-band { padding: var(--s-5); }

  /* Tables become stacked cards */
  .ov-table--stack { overflow: visible; border: 0; border-radius: 0; }
  .ov-trust table.stack, .ov-trust table.stack tbody, .ov-trust table.stack tr, .ov-trust table.stack td { display: block; width: 100%; }
  .ov-trust table.stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ov-trust table.stack caption { display: block; padding: 0 0 var(--s-3); border: 0; font-size: var(--fs-base); }
  .ov-trust table.stack tr { margin-bottom: var(--s-3); border: 1px solid var(--line); border-radius: var(--radius); background: var(--ink-850); overflow: hidden; }
  .ov-trust table.stack td { padding: .55rem var(--s-4); border-bottom: 1px solid var(--line); white-space: normal; }
  .ov-trust table.stack tr td:last-child { border-bottom: 0; }
  .ov-trust table.stack td:first-child { padding-top: var(--s-3); background: var(--ink-800); color: var(--text); font-weight: 600; font-size: var(--fs-base); }
  .ov-trust table.stack td:not(:first-child)[data-label]::before { content: attr(data-label); display: block; margin-bottom: .1rem; font-size: var(--fs-xs); font-weight: 600; color: var(--text-3); }
  .ov-trust table.stack td.w, .ov-trust table.stack td.num { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-4); }
  .ov-trust table.stack td.w::before, .ov-trust table.stack td.num::before { margin: 0 !important; }
}
@media (max-width: 520px) {
  .ov-trust .ov-scale { grid-template-columns: 1fr 1fr; }
  .ov-trust .ov-scale li:last-child { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  body.ov-trust-page .site-footer__top { grid-template-columns: 1fr; gap: var(--s-5); }
  body.ov-trust-page .site-footer ul { gap: 0; }
  body.ov-trust-page .site-footer li a { display: block; padding: .6rem 0; }
  body.ov-trust-page .site-footer__bottom { flex-direction: column; }
}
