/* Casino review pages converted by _publisher/build_casino_pages.py.
   Decision-first order: terms and pros/cons before the long read. */
:root { --vx-col: var(--maxw); --vx-muted: #666C74; }

/* One column edge for the whole page: the hero used to start wider than the body. */
[data-review-v2] .hero .verdict { max-width: var(--vx-col); }
[data-review-v2] .hero { padding-top: var(--sp-5); padding-bottom: var(--sp-5); }
[data-review-v2] .wrap.updated { max-width: var(--vx-col); margin-top: var(--sp-4); margin-bottom: var(--sp-5); color: var(--vx-muted); }
[data-review-v2] .verdict { align-items: flex-start; gap: var(--sp-5); }
[data-review-v2] .verdict > .brand__logo { width: 120px; height: 66px; flex: none; margin-top: 4px; }
[data-review-v2] .verdict__body { gap: var(--sp-3); flex: 1 1 380px; min-width: 0; }
[data-review-v2] .verdict__body h1 { font-size: clamp(28px, 3vw, 36px); line-height: 1.12; }
[data-review-v2] .verdict__body > .btn--cta { align-self: flex-start; min-height: 48px; }
[data-review-v2] .verdict .compliance { margin-top: 0; color: var(--vx-muted); }
[data-review-v2] .compliance a { color: var(--emerald-d); }

/* Reading width: 72ch of this font ran to about 85 characters a line. */
main[data-review-v2] .prose p,
main[data-review-v2] .prose ul,
main[data-review-v2] .prose ol { max-width: none; }

/* Key terms */
.vx-terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); align-self: stretch; margin: 0; }
.vx-term { min-width: 0; padding: var(--sp-2) var(--sp-3); background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius); }
.vx-term dt { font-size: var(--f-13); color: var(--vx-muted); }
.vx-term dd { margin: 0; font-size: var(--f-15); font-weight: 600; line-height: 1.35; color: var(--ink); }
[data-review-v2] .verdict__body .vx-note { margin: 0; font-size: var(--f-15); line-height: 1.5; color: var(--ink-70); }

/* Pros and cons */
.vx-proscons h2 { font-size: var(--f-26); margin-bottom: var(--sp-4); }
.vx-proscons h3 { margin: 0 0 var(--sp-2); font-family: var(--sans); font-size: var(--f-15); font-weight: 700; letter-spacing: 0; color: var(--ink); }
.vx-proscons ul { list-style: none; margin: 0; padding: 0; }
.vx-proscons .pros { color: var(--ink); }
.vx-proscons li { font-size: var(--f-15); line-height: 1.5; }

/* Section navigation */
.vx-nav { max-width: var(--vx-col); margin-bottom: var(--sp-7); }
.vx-nav__title { margin: 0; font-size: var(--f-13); font-weight: 600; color: var(--vx-muted); }
.vx-nav ul {
  display: flex;
  gap: var(--sp-5);
  margin: 0;
  padding: 0;
  overflow-x: auto;
  list-style: none;
  border-bottom: 1px solid var(--hairline);
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
  mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
}
.vx-nav ul::-webkit-scrollbar { display: none; }
.vx-nav li { flex: none; }
.vx-nav a { display: flex; align-items: center; min-height: 44px; font-size: var(--f-15); font-weight: 500; white-space: nowrap; color: var(--ink-70); text-decoration: none; }
.vx-nav a:hover { color: var(--emerald-d); text-decoration: underline; text-underline-offset: 4px; }
.vx-nav a:focus-visible { outline: 2px solid var(--emerald); outline-offset: -2px; }
[data-review-v2] h2[id] { scroll-margin-top: 88px; }

/* Facts table */
.vx-facts tr[hidden] { display: none; }
.vx-facts__more {
  display: block;
  width: 100%;
  min-height: 48px;
  margin-top: var(--sp-3);
  font: inherit;
  font-size: var(--f-15);
  font-weight: 600;
  color: var(--emerald-d);
  background: var(--surface);
  border: 1px solid var(--emerald);
  border-radius: var(--radius);
  cursor: pointer;
}
.vx-facts__more[hidden] { display: none; }

/* Pop-up buttons carry a longer label than "Играй сега" */
[data-review-v2] button[data-alt-open].btn--cta { white-space: normal; text-align: center; line-height: 1.25; }

@media (max-width: 899px) {
  /* The bar for the casino under review replaces the roulette bar here. */
  body:has([data-review-v2]) .mrb { display: none; }
  .mrb-on [data-review-v2] .sticky-cta.is-visible { transform: translateY(0); }
}

@media (max-width: 700px) {
  [data-review-v2] .hero { padding-top: var(--sp-3); }
  /* Logo and score share the first row; the headline gets the full width. */
  [data-review-v2] .verdict { flex-flow: row wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); }
  [data-review-v2] .verdict > .brand__logo { order: 1; width: 104px; height: 58px; margin-top: 0; }
  [data-review-v2] .verdict__score { order: 2; flex-direction: row; align-items: center; gap: var(--sp-2); margin: 0 0 0 auto; }
  [data-review-v2] .verdict__score .rating-dial { width: 64px; height: 64px; font-size: var(--f-20); }
  [data-review-v2] .verdict__body { order: 3; flex: 0 0 100%; width: 100%; }
  [data-review-v2] .verdict__body h1 { font-size: 26px; }
  [data-review-v2] .verdict__body > .btn--cta { align-self: stretch; text-align: center; justify-content: center; }
  .vx-terms { grid-template-columns: minmax(0, 1fr); gap: 0; background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius); }
  .vx-term { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-4); border: 0; border-radius: 0; }
  .vx-term + .vx-term { border-top: 1px solid var(--hairline); }
  .vx-term dd { text-align: right; }
  .vx-nav { margin-bottom: var(--sp-6); }
}


/* ==========================================================================
   Visual layer matching the blog: plain page header, flat white cards, hairline
   dividers. The one CTA colour stays the site's green. Layout rules above stay.
   ========================================================================== */

/* Hero: a plain page header, like the blog's */
[data-review-v2] .hero { padding: var(--sp-4) 0 0; overflow: visible; }
[data-review-v2] .hero::before,
[data-review-v2] .hero::after { display: none; }
[data-review-v2] .hero .verdict { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--sp-4); }
[data-review-v2] .verdict__bonus { font-weight: 600; line-height: 1.3; }
[data-review-v2] .verdict .compliance { border-top: 1px solid var(--hairline); }

/* Section rhythm: hairline dividers and one heading size, like blog topics */
main[data-review-v2] > section.wrap:not(.vx-proscons)::before,
.vx-col > section:not(:first-child)::before {
  content: "";
  display: block;
  height: 1px;
  margin-bottom: var(--sp-5);
  background: var(--hairline);
}
main[data-review-v2] h2 { font-size: var(--f-26); line-height: 1.2; }
main[data-review-v2] .prose h2 { padding-top: 0; }
main[data-review-v2] .prose h2::before { display: none; }
main[data-review-v2] .prose h2:not(:first-child) { margin-top: var(--sp-6); }
main[data-review-v2] .prose h3 { font-size: var(--f-20); }
[data-review-v2] .vx-nav { margin-bottom: var(--sp-6); }

/* The tabs already draw a line directly above the first section. */
main[data-review-v2] > .vx-nav + section.wrap::before { display: none; }

/* Same page width as the blog (--maxw) and the same text + sidebar grid as articles */
main[data-review-v2] > .wrap,
main[data-review-v2] > section.wrap { max-width: var(--maxw); }
.vx-col > .wrap { max-width: none; margin: 0 0 var(--sp-6); padding: 0; }
main[data-review-v2] .vx-col .prose { max-width: none; }
main[data-review-v2] > .vx-layout { margin-bottom: var(--sp-7); }
.vx-offer { padding: var(--sp-5); background: var(--surface); border: 1px solid var(--hairline); border-radius: 14px; }
.vx-offer .brand__logo { width: 104px; height: 58px; margin-bottom: var(--sp-3); }
.vx-offer__name { margin: 0; font-family: var(--serif); font-size: var(--f-20); font-weight: 700; color: var(--ink); }
.vx-offer__bonus { margin: 2px 0 var(--sp-3); font-size: var(--f-15); font-weight: 600; line-height: 1.35; color: var(--ink); }
.vx-offer .vx-terms { grid-template-columns: minmax(0, 1fr); gap: 0; }
.vx-offer .vx-term { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); padding: 6px 0; background: none; border: 0; border-radius: 0; }
.vx-offer .vx-term + .vx-term { border-top: 1px solid var(--hairline); }
.vx-offer .vx-term dt { flex: none; }
.vx-offer .vx-term dd { font-size: var(--f-13); text-align: right; }
.vx-offer .btn--cta { width: 100%; margin-top: var(--sp-3); }
.vx-offer__rg { margin: var(--sp-3) 0 0; font-size: var(--f-13); line-height: 1.5; color: var(--vx-muted); }
.vx-side-nav { margin-top: var(--sp-4); }
.vx-side-nav ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--sp-4); margin: var(--sp-1) 0 0; padding: 0; list-style: none; }
.vx-side-nav a { display: block; padding: 4px 0; font-size: var(--f-15); color: var(--ink-70); text-decoration: none; }
.vx-side-nav a:hover { color: var(--emerald-d); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 981px) {
  main[data-review-v2] > .vx-nav { display: none; }
  [data-review-v2] .sticky-cta { display: none; }
}
@media (max-width: 980px) {
  .vx-aside { display: none; }
}

/* Licence badge keeps its full text next to the register link */
[data-review-v2] .card--casino .compliance { flex-wrap: wrap; }
[data-review-v2] .card--casino .compliance .badge--nap { flex: 0 1 auto; }

/* Flat white cards */
[data-review-v2] .vx-proscons .pros,
[data-review-v2] .vx-proscons .cons,
[data-review-v2] .card--casino {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: 14px;
  box-shadow: none;
}

/* Score bars */
[data-review-v2] .score-bars { max-width: none; gap: var(--sp-3); }
[data-review-v2] .score-bar { height: 6px; }

/* Facts: a hairline list rather than a shaded table */
[data-review-v2] .spec-table { max-width: none; border-radius: 14px; box-shadow: none; }
[data-review-v2] .spec-table tbody tr:nth-child(even) { background: none; }
[data-review-v2] .spec-table th {
  font-family: var(--sans);
  font-size: var(--f-15);
  font-weight: 500;
  color: var(--ink-70);
  background: none;
}
[data-review-v2] .spec-table td { font-size: var(--f-15); font-weight: 500; color: var(--ink); }
[data-review-v2] .spec-table th,
[data-review-v2] .spec-table td { padding: var(--sp-3) var(--sp-5); border-bottom-color: var(--hairline); }
[data-review-v2] .spec-table tr:last-child th { border-bottom: none; }

/* Mid-page offer: a flat card with the standard green button */
[data-review-v2] .post-cta--panel {
  max-width: none;
  margin: var(--sp-6) 0;
  padding: var(--sp-5) var(--sp-6);
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: 14px;
}
[data-review-v2] .post-cta--panel .post-cta__sub,
[data-review-v2] .post-cta--panel .post-cta__rg { color: var(--vx-muted); }

/* Comparison cards */
[data-review-v2] .card--casino .pros { padding: 0; font-size: var(--f-15); line-height: 1.5; color: var(--ink-70); background: none; border-radius: 0; }
[data-review-v2] .card--casino .compliance { color: var(--vx-muted); border-top: 1px solid var(--hairline); }
[data-review-v2] .card--casino .btn--cta { width: 100%; white-space: normal; }

/* Score beside the name, so the card opens with one compact row */
[data-review-v2] .card-grid .card--casino { position: relative; grid-row: span 5; }
[data-review-v2] .card--casino .brand { padding-right: 68px; min-height: 56px; }
[data-review-v2] .card--casino .rating-dial { position: absolute; top: var(--sp-5); right: var(--sp-5); --dial-size: 56px; font-size: var(--f-17); }

/* Guides: the blog's text tabs instead of pills */
[data-review-v2] .related-guides { gap: 0 var(--sp-5); border-bottom: 1px solid var(--hairline); }
[data-review-v2] .related-guides a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  font-size: var(--f-15);
  font-weight: 500;
  color: var(--ink-70);
  background: none;
  border: 0;
  border-radius: 0;
}
[data-review-v2] .related-guides a:hover { color: var(--emerald-d); text-decoration: underline; text-underline-offset: 4px; transform: none; }

@media (max-width: 700px) {
  [data-review-v2] .post-cta--panel { padding: var(--sp-5) var(--sp-4); }
  [data-review-v2] .spec-table th,
  [data-review-v2] .spec-table td { padding: var(--sp-3) var(--sp-4); }
  main[data-review-v2] h2 { font-size: 22px; }
  [data-review-v2] .card--casino .brand__logo { width: 72px; height: 44px; }
  /* The pop-up label is too long to share the bar with the offer text. */
  [data-review-v2] .sticky-cta:has([data-alt-open]) .sticky-cta__stack { display: none; }
  [data-review-v2] .sticky-cta:has([data-alt-open]) .btn--cta { flex: 1 1 100%; width: 100%; }
}


/* ==========================================================================
   Hero card: headline facts on the left, score breakdown on a tinted panel on
   the right. Structure comes from the card, as on the blog, not from a dark fill.
   ========================================================================== */
[data-review-v2] .hero .verdict {
  display: grid;
  grid-template-columns: 136px minmax(0, 1fr) 340px;
  gap: 0 var(--sp-5);
  align-items: stretch;
  max-width: calc(var(--maxw) - 2 * var(--sp-4));
  padding: 0;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: 16px;
  box-shadow: var(--shadow);
}
[data-review-v2] .verdict > .brand__logo { width: 112px; height: 64px; margin: var(--sp-6) 0 0 var(--sp-6); box-sizing: border-box; }
[data-review-v2] .verdict__body { padding: var(--sp-6) 0; }

/* Terms as ruled rows: they read cleanly at this width */
[data-review-v2] .verdict__body .vx-terms { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
[data-review-v2] .verdict__body .vx-term { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-2) 0; background: none; border: 0; border-radius: 0; }
[data-review-v2] .verdict__body .vx-term + .vx-term { border-top: 1px solid var(--hairline); }
[data-review-v2] .verdict__body .vx-term dt { flex: none; }
[data-review-v2] .verdict__body .vx-term dd { text-align: right; }
[data-review-v2] .verdict .compliance { padding-top: 0; border-top: 0; }

/* Score panel */
.vx-scorecard { display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-6) var(--sp-5); background: var(--emerald-t); }
[data-review-v2] .vx-scorecard .verdict__score { display: flex; flex-direction: row; align-items: center; gap: var(--sp-3); margin: 0; }
[data-review-v2] .vx-scorecard .verdict__score-label { margin: 0; color: var(--ink-70); }
main[data-review-v2] .vx-scorecard h2 { margin: var(--sp-2) 0 0; font-size: var(--f-17); line-height: 1.3; }
[data-review-v2] .vx-scorecard .score-bars { gap: var(--sp-2); }
[data-review-v2] .vx-scorecard .score-bars__row { grid-template-columns: 76px minmax(0, 1fr) 30px; gap: var(--sp-2); }
[data-review-v2] .vx-scorecard .score-bars__row span:first-child { font-size: var(--f-13); font-weight: 500; }
[data-review-v2] .vx-scorecard .score-bars__val { font-size: var(--f-13); }
[data-review-v2] .vx-scorecard .score-bar { background: #CFE3DB; }

@media (max-width: 980px) {
  [data-review-v2] .hero .verdict { grid-template-columns: 136px minmax(0, 1fr); margin: 0 var(--sp-4); max-width: none; }
  [data-review-v2] .verdict__body { padding-right: var(--sp-5); }
  .vx-scorecard { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  [data-review-v2] .hero .verdict { display: block; }
  [data-review-v2] .verdict > .brand__logo { margin: var(--sp-4) var(--sp-4) 0; }
  [data-review-v2] .verdict__body { width: auto; padding: var(--sp-3) var(--sp-4) var(--sp-4); }
  .vx-scorecard { padding: var(--sp-4); }
  [data-review-v2] .vx-scorecard .verdict__score { margin: 0; }
  [data-review-v2] .vx-terms { background: none; border-width: 1px 0; border-radius: 0; }
  [data-review-v2] .verdict__body .vx-term { padding: var(--sp-2) 0; }
}


/* ==========================================================================
   Soft brand tint for the hero, sidebar and mid-page offer: pale mint into warm
   paper. Enough presence to hold the card together while the green CTA stays
   the strongest thing on it. Text stays --ink / --ink-70 (4.5:1 or better).
   ========================================================================== */
:root {
  --vx-tint: linear-gradient(135deg, #E4F2EC 0%, #F1F4EA 55%, #F8F2E2 100%);
  --vx-tint-line: rgba(10, 91, 66, .16);
  --vx-tint-panel: rgba(15, 123, 90, .1);
}
[data-review-v2] .hero .verdict,
[data-review-v2] .vx-aside,
[data-review-v2] .post-cta--panel {
  background: var(--vx-tint);
  border-color: var(--vx-tint-line);
}
[data-review-v2] .hero .verdict { box-shadow: none; }
[data-review-v2] .vx-scorecard { background: var(--vx-tint-panel); }
[data-review-v2] .vx-scorecard .score-bar { background: rgba(10, 91, 66, .16); }
[data-review-v2] .verdict__body .vx-terms,
[data-review-v2] .verdict__body .vx-term + .vx-term,
[data-review-v2] .vx-offer .vx-term + .vx-term { border-color: var(--vx-tint-line); }
[data-review-v2] .vx-term dt,
[data-review-v2] .verdict .compliance,
[data-review-v2] .verdict .compliance__note,
[data-review-v2] .vx-offer__rg,
[data-review-v2] .post-cta--panel .post-cta__sub,
[data-review-v2] .post-cta--panel .post-cta__rg { color: var(--ink-70); }
[data-review-v2] .verdict .badge--nap { background: rgba(255, 255, 255, .75); }

/* Sidebar: one card holding the offer and the page links */
[data-review-v2] .vx-aside { padding: var(--sp-5); border: 1px solid var(--vx-tint-line); border-radius: 14px; }
.vx-offer { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 0 var(--sp-3); padding: 0; background: none; border: 0; border-radius: 0; }
.vx-offer .brand__logo { grid-row: 1 / span 2; width: 88px; height: 50px; margin: 0; }
.vx-offer__name { align-self: end; font-size: var(--f-17); line-height: 1.25; }
.vx-offer__bonus { align-self: start; margin: 0; }
.vx-offer .vx-terms,
.vx-offer .btn--cta,
.vx-offer__rg { grid-column: 1 / -1; }
.vx-offer .vx-terms { margin-top: var(--sp-3); border-top: 1px solid var(--vx-tint-line); border-bottom: 1px solid var(--vx-tint-line); }
.vx-side-nav { margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 1px solid var(--vx-tint-line); }
.vx-side-nav .vx-nav__title { color: var(--ink-70); }
.vx-side-nav ul { gap: 0 var(--sp-3); }
.vx-side-nav a { padding: 3px 0; font-size: var(--f-13); }
.vx-side-nav a[aria-current="true"] { font-weight: 700; color: var(--emerald-d); }


/* Compliance: badges and the register link share one centred row; the warning
   gets its own line instead of breaking mid-sentence after them. */
[data-review-v2] .verdict .compliance { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
[data-review-v2] .verdict .compliance .badge { flex: none; margin: 0; }
[data-review-v2] .verdict .compliance a { line-height: 1.3; }
[data-review-v2] .verdict .compliance__note { flex: 0 0 100%; margin: 0; line-height: 1.4; }
.vx-offer__rg { display: flex; align-items: center; gap: var(--sp-2); }
.vx-offer__rg .badge { flex: none; margin: 0; }

/* The dial leads the score panel at every width. */
[data-review-v2] .vx-scorecard .verdict__score { order: -1; }


/* Section tabs: the blog's underlined row, pinned under the header on desktop.
   Sidebar and heading offsets clear header (64px) + tabs (45px). */
.vx-nav a[aria-current="true"] { font-weight: 700; color: var(--emerald-d); box-shadow: inset 0 -2px 0 var(--emerald); }
@media (min-width: 981px) {
  main[data-review-v2] > .vx-nav {
    display: block;
    position: sticky;
    top: 64px;
    z-index: 30;
    margin-bottom: var(--sp-5);
    background: var(--paper);
  }
  .vx-nav__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .vx-nav ul { justify-content: space-between; gap: var(--sp-4); overflow: visible; -webkit-mask-image: none; mask-image: none; }
  /* Added to the page-wide scroll-padding-top of 88px. */
  [data-review-v2] h2[id] { scroll-margin-top: 40px; }
  main[data-review-v2] .post-aside { top: 125px; }
}
@media (min-width: 981px) and (min-height: 720px) {
  main[data-review-v2] .post-aside { max-height: calc(100vh - 137px); }
}

@media (max-width: 980px) {
  /* Added to the page-wide scroll-padding-top of 88px. */
  [data-review-v2] h2[id] { scroll-margin-top: 0; }
}

/* While pinned the tabs become a full-width bar: a tint and a soft shadow set
   them apart from the white header above and the text scrolling underneath. */
@media (min-width: 981px) {
  main[data-review-v2] > .vx-nav.is-stuck { background: #EDF5F1; }
  main[data-review-v2] > .vx-nav.is-stuck::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100vmax;
    right: -100vmax;
    z-index: -1;
    background: #EDF5F1;
    box-shadow: 0 8px 16px -8px rgba(20, 22, 26, .22);
  }
  main[data-review-v2] > .vx-nav.is-stuck ul { border-bottom-color: transparent; }
  main[data-review-v2] .post-aside { top: 133px; }
}
@media (min-width: 981px) and (min-height: 720px) {
  main[data-review-v2] .post-aside { max-height: calc(100vh - 145px); }
}


/* Offers from the roulette register */
.vx-offers h2 { margin-bottom: var(--sp-4); }
.vx-offers__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--sp-4); margin: 0; padding: 0; list-style: none; }
.vx-card { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-4); background: var(--surface); border: 1px solid var(--hairline); border-radius: 14px; }
.vx-card[hidden] { display: none; }
.vx-card--main { background: var(--vx-tint); border-color: var(--vx-tint-line); }
.vx-card__meta { margin: 0; font-size: var(--f-13); line-height: 1.4; color: var(--ink-70); }
.vx-card__meta span { font-weight: 700; color: var(--emerald-d); }
main[data-review-v2] .vx-card__title { margin: 0; font-size: var(--f-17); line-height: 1.3; letter-spacing: -.006em; }
.vx-card__terms { margin: 0; }
.vx-card__terms div { display: flex; justify-content: space-between; gap: var(--sp-2); padding: 4px 0; font-size: var(--f-13); line-height: 1.35; border-top: 1px solid var(--hairline); }
.vx-card--main .vx-card__terms div { border-color: var(--vx-tint-line); }
.vx-card__terms dt { flex: none; color: var(--ink-70); }
.vx-card__terms dd { margin: 0; font-weight: 600; text-align: right; color: var(--ink); }
.vx-card__hint { margin: 0; font-size: var(--f-13); line-height: 1.4; color: var(--ink-70); }
.vx-card__detail { font-size: var(--f-13); color: var(--emerald-d); }
.vx-card .btn--cta { width: 100%; margin-top: auto; }
.vx-offers__rg { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin: var(--sp-3) 0 0; font-size: var(--f-13); line-height: 1.5; color: var(--ink-70); }
.vx-offers__rg .badge { flex: none; margin: 0; }
@media (max-width: 700px) {
  .vx-offers__grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); }
  .vx-card .btn--cta { margin-top: var(--sp-1); }
}

.vx-offer__kicker { grid-column: 1 / -1; margin: 0 0 var(--sp-3); font-size: var(--f-13); font-weight: 700; color: var(--emerald-d); }
[data-review-v2] .verdict .badge--warn { flex: 0 1 auto; }
main[data-review-v2] > .qt-wrap { max-width: var(--maxw); margin-top: var(--sp-5); }
.vx-offer__kicker + .brand__logo { grid-row: 2 / span 2; }
[data-review-v2] .hero .vx-scorecard p { max-width: none; margin: 0; font-size: var(--f-13); line-height: 1.5; color: var(--ink-70); }
[data-review-v2] .vx-scorecard .score-note a { color: var(--emerald-d); }

/* Long licence notes wrap instead of running off a small phone. */
[data-review-v2] .compliance .badge { max-width: 100%; white-space: normal; }
