/* casino-v2.css — SHARED .cv2 design system (core). Page-specific overrides live in
   cv2-home.css (#capy-homepage, front page) and cv2-reviews.css (#capy-reviews-v2, /top-casinos/).
   Edit only the file for the page you're working on; this core is shared by all V2 surfaces. */

/* ============================================================
   Casino Capybara V2 design system (CC-99 redesign).
   Shared layer for Guides / Reviews / Prediction templates.
   Own module file (Cloudflare-cache-safe). Scope: .cv2
   Mobile-first; breakpoints 768 (tablet) / 1024 (desktop).
   ============================================================ */

/* Global cv2 tokens — so cards rendered via the [capy_casino] shortcode OUTSIDE a .cv2
   wrapper (casino archive, hub pages) still resolve var()-based colors. Without this the
   .cv2-btn--green gradient collapsed to a ghosted/transparent button on those surfaces. */

:root {
  --cv2-gold: var(--capy-gold, #fbbf24);
  --cv2-gold-deep: #d4af37;
  --cv2-green: var(--capy-green, #22c55e);
  --cv2-green-deep: #16a34a;
  --cv2-blue: #60a5fa;
  --cv2-bg: #0a0f1a;
  --cv2-panel: #121a2b;
  --cv2-card: #141d30;
  --cv2-card-hover: #1b2640;
  --cv2-line: rgba(255,255,255,.08);
  --cv2-line-gold: rgba(251,191,36,.30);
  --cv2-ink: #f8fafc;
  --cv2-body: #cbd5e1;
  --cv2-muted: #94a3b8;
}

.cv2 {
  --cv2-gold: var(--capy-gold, #fbbf24);
  --cv2-gold-deep: #d4af37;
  --cv2-green: var(--capy-green, #22c55e);
  --cv2-green-deep: #16a34a;
  --cv2-blue: #60a5fa;
  --cv2-bg: #0a0f1a;
  --cv2-panel: #121a2b;
  --cv2-panel-2: #16203400;
  --cv2-card: #141d30;
  --cv2-card-hover: #1b2640;
  --cv2-line: rgba(255,255,255,.08);
  --cv2-line-gold: rgba(251,191,36,.30);
  --cv2-ink: #f8fafc;
  --cv2-body: #cbd5e1;
  --cv2-muted: #94a3b8;
  --cv2-radius: 14px;
  --cv2-gap: clamp(14px, 2vw, 22px);
  max-width: 1200px;
  margin-inline: auto;
  color: var(--cv2-body);
}

.cv2 *, .cv2 *::before, .cv2 *::after { box-sizing: border-box; }

/* default icon size — specific component rules below override this */

.cv2 svg { width:18px; height:18px; flex:0 0 auto; vertical-align:middle; }

/* page wrapper — clears the fixed header, gives the V2 view breathing room */

/* top padding must clear the overlaying (transparent) #masthead header (~84px) or the
   breadcrumb/eyebrow tuck UNDER it and show through. Trimmed from the original 104px
   max so content still sits higher than before, but not under the header. */
.cv2-page { padding: clamp(74px, 8vw, 92px) clamp(14px, 4vw, 28px) 64px; background:
  radial-gradient(120% 60% at 50% -10%, rgba(251,191,36,.05), transparent 60%); }

.cv2-crumb { max-width:1200px; margin:0 auto 18px; font-size:12.5px; color:var(--cv2-muted,#94a3b8); }

.cv2-crumb a { color:inherit; text-decoration:none; }

.cv2-crumb a:hover { color:#fbbf24; }

/* ---- typography helpers ---- */

.cv2 .cv2-eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cv2-gold); margin:0 0 12px; }

.cv2 h1, .cv2 h2, .cv2 h3 { font-family: var(--font-display, 'Playfair Display', Georgia, serif); color:var(--cv2-ink); margin:0; line-height:1.15; }

.cv2 .cv2-gold { color:var(--cv2-gold); }

/* ============================================================ HERO */

.cv2-hero { position:relative; display:grid; grid-template-columns:1fr; gap:20px; align-items:center; padding:8px 0 4px; }

.cv2-hero__copy { min-width:0; }

.cv2-hero h1 { font-size:clamp(2rem, 7vw, 3.1rem); font-weight:900; letter-spacing:-.5px; }

.cv2-hero__sub { color:var(--cv2-body); font-size:clamp(.98rem,2.4vw,1.1rem); line-height:1.6; margin:14px 0 0; max-width:60ch; }

.cv2-hero__art { justify-self:center; max-width:320px; width:100%; }

/* No mix-blend-mode — the DALL-E hero is a self-contained transparent illustration
   (matches the home hero); screen-blend washed it out. */
.cv2-hero__art img { width:100%; height:auto; display:block; filter:drop-shadow(0 14px 36px rgba(0,0,0,.45)); }

@media (min-width:768px) {
  .cv2-hero { grid-template-columns:1.04fr .96fr; gap:26px; padding:14px 0 8px; }
  .cv2-hero__art { max-width:560px; justify-self:end; }
  .cv2-hero__art img { transform:translateX(-7%); }   /* pull the mascot left into the gap (mirrors home) */
}

/* ============================================================ QUICK ACTIONS */

.cv2-quick { display:grid; grid-template-columns:1fr; gap:12px; margin:22px 0 0; }

@media (min-width:768px) {
  .cv2-quick { grid-template-columns:repeat(3,1fr); }
}

.cv2-qbtn { display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:12px; background:var(--cv2-card); border:1px solid var(--cv2-line); text-decoration:none; transition:.18s; min-height:64px; }

.cv2-qbtn:hover,.cv2-qbtn:focus-within { border-color:var(--cv2-line-gold); background:var(--cv2-card-hover); transform:translateY(-1px); }

.cv2-qbtn__ico { flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:rgba(251,191,36,.10); color:var(--cv2-gold); }

.cv2-qbtn--safe .cv2-qbtn__ico { background:rgba(34,197,94,.12); color:var(--cv2-green); }

.cv2-qbtn--learn .cv2-qbtn__ico { background:rgba(96,165,250,.12); color:var(--cv2-blue); }

.cv2-qbtn__ico svg { width:22px; height:22px; }

.cv2-qbtn__t { display:block; color:var(--cv2-ink); font-weight:700; font-size:1rem; line-height:1.2; }

.cv2-qbtn__s { display:block; color:var(--cv2-muted); font-size:12.5px; margin-top:2px; }

.cv2-qbtn__arr { margin-left:auto; color:var(--cv2-muted); }

.cv2-qbtn:hover .cv2-qbtn__arr { color:var(--cv2-gold); }

/* ============================================================ TRUST STRIP */

.cv2-trust { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; margin:18px 0 0; padding:12px 16px; border:1px solid var(--cv2-line); border-radius:12px; background:rgba(255,255,255,.015); }

.cv2-trust span { display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--cv2-muted); }

.cv2-trust span svg { width:15px; height:15px; color:var(--cv2-gold); flex:0 0 auto; }

/* Hide the "Best for:" line on desktop cards (kept on mobile where there's room). */
@media (min-width:768px) { .cv2-cc__best, .cv2-offer__best { display:none; } }

/* ============================================================ SECTION HEADERS */

.cv2-section { margin-top:clamp(34px, 5vw, 54px); }

.cv2-section__head { display:flex; align-items:flex-start; gap:12px; margin-bottom:16px; }

.cv2-section__ico { flex:0 0 30px; width:30px; height:30px; color:var(--cv2-gold); }

.cv2-section__ico svg { width:28px; height:28px; }

.cv2-section__titles { min-width:0; flex:1; }

.cv2-kicker { display:block; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--cv2-gold); margin-bottom:4px; }

.cv2-section__head h2 { font-size:clamp(1.35rem, 3.4vw, 1.7rem); font-weight:800; }

.cv2-section__intro { color:var(--cv2-muted); font-size:.92rem; margin:5px 0 0; }

.cv2-viewall { margin-left:auto; flex:0 0 auto; align-self:center; color:var(--cv2-gold); font-weight:600; font-size:13px; text-decoration:none; white-space:nowrap; }

.cv2-viewall:hover { text-decoration:underline; }

/* ============================================================ CARD GRID + GUIDE CARD */

.cv2-grid { display:grid; grid-template-columns:1fr; gap:var(--cv2-gap); }

.cv2-grid--3 { }

.cv2-grid--4 { }

@media (min-width:560px) {
  .cv2-grid { grid-template-columns:repeat(2,1fr); }
}

@media (min-width:1024px) {
  .cv2-grid--3 { grid-template-columns:repeat(3,1fr); }
  .cv2-grid--4 { grid-template-columns:repeat(4,1fr); }
}

.cv2-card { position:relative; display:flex; flex-direction:column; background:var(--cv2-card); border:1px solid var(--cv2-line); border-radius:var(--cv2-radius); padding:18px; transition:.18s; min-height:170px; }

.cv2-card:hover,.cv2-card:focus-within { border-color:var(--cv2-line-gold); background:var(--cv2-card-hover); box-shadow:0 8px 30px rgba(0,0,0,.35); transform:translateY(-2px); }

.cv2-card__link { position:absolute; inset:0; z-index:1; border-radius:var(--cv2-radius); }

.cv2-card__top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }

.cv2-tag { font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cv2-gold); background:rgba(251,191,36,.12); border-radius:5px; padding:4px 8px; }

.cv2-tag--feat { color:#bbf7d0; background:rgba(34,197,94,.16); }

.cv2-card__ico { width:34px; height:34px; color:var(--cv2-gold); flex:0 0 auto; }

.cv2-card__ico svg { width:34px; height:34px; }

.cv2-card h3 { font-size:1.08rem; font-weight:700; margin-bottom:6px; }

.cv2-card:hover h3 { color:var(--cv2-gold); }

.cv2-card__desc { font-size:13.5px; color:var(--cv2-body); line-height:1.5; margin:0; flex:1; }

.cv2-card__foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; }

.cv2-card__meta { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--cv2-muted); }

.cv2-card__meta svg { width:14px; height:14px; }

.cv2-card__read { color:var(--cv2-gold); font-weight:600; font-size:13px; display:inline-flex; align-items:center; gap:5px; }

.cv2-card__read svg { width:14px; height:14px; }

/* featured guide cards: a touch larger image area */

.cv2-card--feat { background:linear-gradient(180deg, rgba(251,191,36,.05), rgba(20,29,48,1) 60%); }

/* ============================================================ CTA BRIDGE */

.cv2-bridge { margin-top:clamp(34px,5vw,54px); display:flex; flex-wrap:wrap; align-items:center; gap:18px; padding:22px clamp(18px,3vw,30px); border-radius:18px; background:radial-gradient(120% 160% at 0% 0%, rgba(251,191,36,.10), rgba(20,29,48,.6)); border:1px solid var(--cv2-line-gold); }

.cv2-bridge__art { flex:0 0 76px; width:76px; height:76px; }

.cv2-bridge__art img { width:100%; height:auto; mix-blend-mode:screen; }

.cv2-bridge__copy { flex:1 1 240px; min-width:0; }

.cv2-bridge__copy h3 { font-size:1.3rem; font-weight:800; }

.cv2-bridge__copy p { margin:5px 0 0; color:var(--cv2-muted); font-size:.92rem; }

.cv2-bridge__cta { flex:0 0 auto; }

/* ============================================================ BUTTONS */

.cv2-btn { display:inline-flex; align-items:center; gap:9px; padding:13px 22px; border-radius:11px; font-weight:700; font-size:14px; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:.18s; }

.cv2-btn svg { width:17px; height:17px; }

.cv2-btn--green { background:linear-gradient(135deg, var(--cv2-green), var(--cv2-green-deep)); color:#04210f; box-shadow:0 6px 20px rgba(34,197,94,.25); }

.cv2-btn--green:hover { filter:brightness(1.06); transform:translateY(-1px); }

.cv2-btn--gold { background:transparent; border-color:var(--cv2-gold); color:var(--cv2-gold); }

.cv2-btn--gold:hover { background:rgba(251,191,36,.10); }

/* ============================================================ FAQ (CSS-only) */

.cv2-faq { margin-top:18px; display:grid; gap:10px; }

.cv2-faq details { border:1px solid var(--cv2-line); border-radius:12px; background:var(--cv2-card); overflow:hidden; }

.cv2-faq summary { cursor:pointer; list-style:none; padding:15px 18px; font-weight:600; color:var(--cv2-ink); display:flex; align-items:center; justify-content:space-between; gap:12px; }

.cv2-faq summary::-webkit-details-marker { display:none; }

.cv2-faq summary::after { content:"+"; color:var(--cv2-gold); font-size:20px; line-height:1; flex:0 0 auto; }

.cv2-faq details[open] summary::after { content:"\2212"; }

.cv2-faq details[open] summary { color:var(--cv2-gold); }

.cv2-faq__body { padding:0 18px 16px; color:var(--cv2-body); font-size:14px; line-height:1.6; }

/* ============================================================ LISTING (reviews/top-casinos) */

.cv2-listing { display:grid; grid-template-columns:1fr; gap:24px; margin-top:24px; }

@media (min-width:1024px) {
  .cv2-listing { grid-template-columns:1fr 300px; align-items:start; }
}

.cv2-listing__main { min-width:0; display:flex; flex-direction:column; gap:18px; }

.cv2-listing__rail { display:flex; flex-direction:column; gap:18px; }

@media (min-width:1024px) {
  .cv2-listing__rail { position:sticky; top:90px; }
}

/* filter + trust bar */

.cv2-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 16px; border:1px solid var(--cv2-line); border-radius:12px; background:var(--cv2-panel); margin-top:6px; }

.cv2-toolbar__btn { display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border:1px solid var(--cv2-line); border-radius:9px; color:var(--cv2-body); font-size:13px; font-weight:600; background:transparent; }

.cv2-toolbar__btn svg { width:15px; height:15px; }

.cv2-toolbar__count { color:var(--cv2-ink); font-weight:700; }

.cv2-toolbar__note { margin-left:auto; color:var(--cv2-muted); font-size:12px; text-align:right; max-width:240px; }

/* ============================================================ CASINO CARD (V2 mockup) */

/* self-contained: the card is also rendered via [capy_casino] OUTSIDE a .cv2 wrapper
   (archive, hubs), so it can't rely on `.cv2 *` for box-sizing. width:100% keeps it
   filling its flex/grid container even with container-type active. */

.cv2-ccard { position:relative; container-type:inline-size; box-sizing:border-box; width:100%; border:1px solid var(--cv2-line); border-radius:16px; background:var(--cv2-card); padding:20px; transition:.18s; }

.cv2-ccard, .cv2-ccard *, .cv2-ccard *::before, .cv2-ccard *::after { box-sizing:border-box; }

.cv2-ccard--feat { border-color:var(--cv2-gold); box-shadow:0 0 0 1px rgba(251,191,36,.25), 0 18px 52px rgba(0,0,0,.45); background:linear-gradient(180deg, rgba(251,191,36,.06), var(--cv2-card) 42%); }

.cv2-ccard__rank { position:absolute; top:-1px; left:20px; display:flex; flex-direction:column; align-items:center; justify-content:center; width:38px; height:46px; border-radius:0 0 8px 8px; font-weight:800; font-size:15px; color:#04210f; background:linear-gradient(180deg,#fbbf24,#d4af37); z-index:2; }

.cv2-ccard__rank svg { width:11px; height:11px; }

.cv2-ccard--silver .cv2-ccard__rank { background:linear-gradient(180deg,#e5e7eb,#9ca3af); color:#1f2937; }

.cv2-ccard--bronze .cv2-ccard__rank { background:linear-gradient(180deg,#f0b27a,#b45309); color:#2a1404; }

/* head: logo | identity | trust-score | actions */

/* Narrow card (mobile / 2-up): logo + name on row 1 (left-aligned, flush with the body below),
   trust chip + CTA on full-width rows under it. No 46px indent, no stray centering. */

.cv2-ccard__head { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px 12px; align-items:center; }

.cv2-ccard__head > .cv2-ccard__trust, .cv2-ccard__head > .cv2-ccard__actions { grid-column:1 / -1; }

@container (max-width:599px) {
  .cv2-ccard__logo { width:56px; height:56px; flex-basis:56px; }
  .cv2-ccard__trust { flex-direction:row; justify-content:flex-start; align-items:center; gap:8px; width:max-content; max-width:100%; padding:7px 12px; }
  .cv2-ccard__trust b { font-size:1.15rem; }
  .cv2-ccard__rank { left:auto; right:0; top:0; width:28px; height:28px; border-radius:0 0 0 9px; font-size:12.5px; }
  .cv2-ccard__rank svg { display:none; }
}

/* container-query: the 4-col head only applies when the CARD itself is wide enough. */

@container (min-width:600px) {
  .cv2-ccard__head { grid-template-columns:92px minmax(0,1fr) auto auto; }
  .cv2-ccard__head > .cv2-ccard__trust, .cv2-ccard__head > .cv2-ccard__actions { grid-column:auto; }
}

.cv2-ccard__logo { width:92px; height:92px; flex:0 0 92px; border-radius:12px; background:#0f1626; border:1px solid var(--cv2-line); display:flex; align-items:center; justify-content:center; padding:10px; overflow:hidden; }

.cv2-ccard--feat .cv2-ccard__logo { border-color:var(--cv2-line-gold); }

.cv2-ccard__logo img { display:block; width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain; }

/* intentional monogram fallback when an operator logo isn't uploaded (vs a bare letter) */

.cv2-ccard__logo--mono { background:linear-gradient(135deg, rgba(251,191,36,.22), rgba(251,191,36,.06)); border-color:var(--cv2-line-gold); padding:0; }

.cv2-ccard__mono { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:var(--cv2-gold); font-weight:800; font-size:30px; letter-spacing:.5px; }

.cv2-ccard__id { min-width:0; }

.cv2-ccard__name { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }

.cv2-ccard__name h3, .cv2-ccard__h1 { font-size:1.3rem; font-weight:800; line-height:1.15; margin:0; }

.cv2-page .cv2-ccard__h1 { font-size:1.55rem; }

.cv2-badge { font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:4px 8px; border-radius:5px; background:rgba(251,191,36,.16); color:var(--cv2-gold); white-space:nowrap; }

.cv2-badge--green { background:rgba(34,197,94,.16); color:#86efac; }

.cv2-ccard__rate { display:flex; align-items:center; gap:8px; margin-top:7px; flex-wrap:wrap; }

.cv2-stars { color:var(--cv2-gold); font-size:15px; letter-spacing:1px; }

.cv2-ccard__trusted { font-size:12px; color:var(--cv2-muted); }

.cv2-ccard__readlink { display:inline-block; margin-top:8px; color:var(--cv2-gold); font-weight:600; font-size:13px; text-decoration:none; }

.cv2-ccard__readlink:hover { text-decoration:underline; }

.cv2-ccard__trust { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; min-width:98px; padding:10px 14px; border:1px solid rgba(34,197,94,.35); border-radius:12px; background:rgba(34,197,94,.06); }

.cv2-ccard__trust svg { width:19px; height:19px; color:var(--cv2-green); }

.cv2-ccard__trust b { font-size:1.35rem; font-weight:800; color:var(--cv2-green); line-height:1.1; }

.cv2-ccard__trust small { font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--cv2-muted); }

.cv2-ccard__actions { display:flex; flex-direction:column; gap:7px; align-items:stretch; min-width:184px; }

.cv2-ccard__actions .cv2-btn { justify-content:center; }

.cv2-ccard__actions .cv2-ccard__readlink { text-align:center; margin-top:0; }

/* welcome offer */

.cv2-ccard__offer { margin-top:16px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; border:1px solid rgba(34,197,94,.22); background:rgba(34,197,94,.05); border-radius:12px; padding:14px 16px; }

.cv2-offer__k { font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#86efac; }

.cv2-offer__v { color:var(--cv2-ink); font-size:1.08rem; font-weight:700; margin-top:4px; line-height:1.35; }

.cv2-offer__v b { color:var(--cv2-gold); }

.cv2-exclusive { flex:0 0 auto; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--cv2-gold); border:1px solid var(--cv2-line-gold); border-radius:999px; padding:4px 10px; white-space:nowrap; }

/* feature strip (up to 6) */

.cv2-ccard__features { display:grid; grid-template-columns:repeat(2,1fr); gap:11px 16px; margin-top:14px; }

@container (min-width:520px) {
  .cv2-ccard__features { grid-template-columns:repeat(3,1fr); }
}

@container (min-width:900px) {
  .cv2-ccard__features { grid-template-columns:repeat(6,1fr); }
}

.cv2-feat { display:flex; align-items:flex-start; gap:8px; }

.cv2-feat svg { width:18px; height:18px; color:var(--cv2-green); flex:0 0 auto; margin-top:1px; }

.cv2-feat b { display:block; font-size:12px; font-weight:700; color:var(--cv2-body); line-height:1.2; }

.cv2-feat span { display:block; font-size:11px; color:var(--cv2-muted); line-height:1.3; margin-top:1px; }

/* score bars (5) */

.cv2-ccard__scores { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 16px; margin-top:16px; padding-top:15px; border-top:1px solid var(--cv2-line); }

@container (min-width:520px) {
  .cv2-ccard__scores { grid-template-columns:repeat(5,1fr); gap:14px; }
}

.cv2-sbar__l { display:flex; align-items:center; gap:5px; font-size:11.5px; color:var(--cv2-muted); }

.cv2-sbar__l svg { width:13px; height:13px; }

.cv2-sbar__v { font-weight:800; color:var(--cv2-green); font-size:14px; margin:2px 0 4px; }

.cv2-sbar__bar { height:5px; border-radius:3px; background:rgba(255,255,255,.08); overflow:hidden; }

.cv2-sbar__bar i { display:block; height:100%; border-radius:3px; background:linear-gradient(90deg,#22c55e,#16a34a); }

/* ============================================================ RAIL MODULES */

.cv2-module { border:1px solid var(--cv2-line); border-radius:14px; background:var(--cv2-card); padding:16px 18px; }

.cv2-module h3 { font-size:1.05rem; font-weight:800; margin-bottom:12px; }

.cv2-rank-row { display:flex; align-items:center; gap:10px; margin:9px 0; font-size:13px; }

.cv2-rank-row svg { width:16px; height:16px; color:var(--cv2-gold); flex:0 0 auto; }

.cv2-rank-row .cv2-rank-l { color:var(--cv2-body); flex:1; }

.cv2-rank-row .cv2-rank-w { color:var(--cv2-ink); font-weight:800; }

.cv2-rank-bar { height:5px; border-radius:3px; background:rgba(255,255,255,.07); overflow:hidden; margin-top:3px; }

.cv2-rank-bar i { display:block; height:100%; background:linear-gradient(90deg,#fbbf24,#d4af37); }

.cv2-module__link { display:inline-block; margin-top:10px; color:var(--cv2-gold); font-weight:600; font-size:13px; text-decoration:none; }

.cv2-quiz__row { display:flex; align-items:center; gap:9px; font-size:13px; color:var(--cv2-body); margin:8px 0; }

.cv2-quiz__row svg { width:16px; height:16px; color:var(--cv2-green); }

/* ============================================================ PREDICTION: comparison strip */

.cv2-compare { display:grid; grid-template-columns:1fr; gap:14px; }

@media (min-width:768px) {
  .cv2-compare { grid-template-columns:repeat(3,1fr); }
}

.cv2-compare__card { border:1px solid var(--cv2-line); border-radius:14px; background:var(--cv2-card); padding:18px; }

.cv2-compare__card--hl { border-color:var(--cv2-line-gold); background:linear-gradient(180deg, rgba(251,191,36,.05), var(--cv2-card) 50%); }

.cv2-compare__h { display:flex; align-items:center; gap:10px; margin-bottom:8px; }

.cv2-compare__h svg { width:26px; height:26px; color:var(--cv2-gold); }

.cv2-compare__h h3 { font-size:1.1rem; font-weight:800; }

.cv2-compare__card--hl .cv2-compare__h h3 { color:var(--cv2-gold); }

.cv2-compare__card > p { color:var(--cv2-muted); font-size:13px; margin:0 0 12px; }

.cv2-compare ul { margin:0; padding:0; list-style:none; }

.cv2-compare ul li { display:flex; gap:8px; font-size:13px; color:var(--cv2-body); padding:5px 0; }

.cv2-compare ul li svg { width:15px; height:15px; color:var(--cv2-green); flex:0 0 auto; margin-top:1px; }

/* featured review module */

.cv2-frev { border:1px solid var(--cv2-line-gold); border-radius:16px; background:linear-gradient(180deg, rgba(251,191,36,.05), var(--cv2-card) 55%); padding:22px; }

.cv2-frev__k { display:inline-block; font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#04210f; background:var(--cv2-gold); border-radius:5px; padding:4px 9px; margin-bottom:12px; }

.cv2-frev__grid { display:grid; grid-template-columns:1fr; gap:16px; align-items:start; }

@media (min-width:860px) {
  .cv2-frev__grid { grid-template-columns:1.2fr 1fr; }
}

.cv2-frev h3 { font-size:1.4rem; font-weight:800; margin-bottom:8px; }

.cv2-frev p { color:var(--cv2-body); font-size:14px; line-height:1.6; margin:0 0 14px; }

.cv2-frev__tags { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }

.cv2-frev__tags span { font-size:11px; color:var(--cv2-body); border:1px solid var(--cv2-line); border-radius:999px; padding:5px 11px; }

.cv2-frev__cta { display:flex; flex-wrap:wrap; gap:10px; }

.cv2-frev__score { display:flex; align-items:center; gap:8px; margin-top:14px; font-size:13px; color:var(--cv2-muted); }

.cv2-frev__score b { color:var(--cv2-gold); font-size:1.1rem; }

/* eligibility notice */

.cv2-notice { display:flex; flex-wrap:wrap; gap:14px; align-items:center; border:1px solid rgba(96,165,250,.3); background:rgba(96,165,250,.06); border-radius:12px; padding:16px 18px; margin-top:22px; }

.cv2-notice__ico { flex:0 0 30px; color:var(--cv2-blue); }

.cv2-notice__ico svg { width:28px; height:28px; }

.cv2-notice__t { flex:1 1 320px; font-size:13px; color:var(--cv2-body); line-height:1.55; }

.cv2-notice__t b { color:var(--cv2-ink); }

/* product-model / reviews-guides simple cards (reuse cv2-grid) */

.cv2-pcard { position:relative; border:1px solid var(--cv2-line); border-radius:14px; background:var(--cv2-card); padding:18px; transition:.18s; }

.cv2-pcard:hover { border-color:var(--cv2-line-gold); background:var(--cv2-card-hover); }

.cv2-pcard__link { position:absolute; inset:0; z-index:1; }

.cv2-pcard__ico { width:30px; height:30px; color:var(--cv2-gold); margin-bottom:10px; }

.cv2-pcard__ico svg { width:30px; height:30px; }

.cv2-pcard h3 { font-size:1.02rem; font-weight:700; margin-bottom:6px; }

.cv2-pcard p { color:var(--cv2-body); font-size:13px; line-height:1.5; margin:0 0 12px; }

.cv2-pcard__more { color:var(--cv2-gold); font-weight:600; font-size:13px; }

/* prose block */

.cv2-prose { color:var(--cv2-body); font-size:14.5px; line-height:1.7; max-width:75ch; }

.cv2-prose h2 { font-size:clamp(1.3rem,3vw,1.6rem); font-weight:800; margin-bottom:10px; }

/* ============================================================ REVIEW BODY (the_content prose) */

.cv2-review-body h2 { font-size:clamp(1.25rem,3vw,1.55rem); font-weight:800; color:var(--cv2-ink); margin:26px 0 10px; }

.cv2-review-body h3 { font-size:1.1rem; font-weight:700; color:var(--cv2-ink); margin:20px 0 8px; }

.cv2-review-body p { margin:0 0 14px; }

.cv2-review-body a { color:var(--cv2-gold); }

.cv2-review-body ul, .cv2-review-body ol { margin:0 0 14px; padding-left:20px; }

.cv2-review-body li { margin:5px 0; }

.cv2-review-body img { max-width:100%; height:auto; border-radius:12px; }

.cv2-review-body table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13.5px; }

.cv2-review-body th, .cv2-review-body td { border:1px solid var(--cv2-line); padding:9px 12px; text-align:left; }

.cv2-review-body th { background:var(--cv2-panel); color:var(--cv2-ink); }

/* ============================================================ CARD: key-terms chips + best-for */

.cv2-ccard__actions .cv2-ccard__readlink { text-align:center; margin-top:0; }

.cv2-ccard__terms { display:flex; flex-direction:column; gap:3px; margin-top:4px; padding-top:8px; border-top:1px dashed var(--cv2-line); }

.cv2-ccard__terms span { display:flex; align-items:center; gap:5px; font-size:10.5px; color:var(--cv2-muted); }

.cv2-ccard__terms svg { width:11px; height:11px; color:var(--cv2-green); flex:0 0 auto; }

.cv2-offer__best { display:flex; align-items:center; gap:6px; margin-top:8px; font-size:12px; color:#86efac; }

.cv2-offer__best svg { width:14px; height:14px; flex:0 0 auto; }

/* ============================================================ REVIEW PAGE: at-a-glance / final word / pros-cons */

.cv2-glance { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }

@media(min-width:680px) {
  .cv2-glance { grid-template-columns:repeat(4,1fr); }
}

.cv2-stat { border:1px solid var(--cv2-line); border-radius:12px; background:var(--cv2-card); padding:14px 16px; }

.cv2-stat__l { display:flex; align-items:center; gap:6px; font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--cv2-muted); }

.cv2-stat__l svg { width:14px; height:14px; color:var(--cv2-gold); }

.cv2-stat__v { color:var(--cv2-ink); font-weight:700; font-size:14px; margin-top:5px; line-height:1.3; }

.cv2-finalword { display:grid; grid-template-columns:1fr; gap:18px; align-items:center; border:1px solid var(--cv2-line-gold); border-radius:18px; padding:24px; background:radial-gradient(120% 160% at 0% 0%, rgba(251,191,36,.10), rgba(20,29,48,.7)); }

@media(min-width:760px) {
  .cv2-finalword { grid-template-columns:118px 1fr auto; }
}

.cv2-finalword__art img { width:118px; height:auto; mix-blend-mode:screen; }

.cv2-finalword__body h3 { font-size:1.3rem; font-weight:800; margin-bottom:8px; }

.cv2-finalword__body p { color:var(--cv2-body); font-size:14px; line-height:1.6; margin:0; }

.cv2-finalword__score { text-align:center; min-width:120px; }

.cv2-finalword__score b { display:block; font-size:2rem; font-weight:800; color:var(--cv2-gold); line-height:1; }

.cv2-finalword__score small { font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--cv2-muted); }

.cv2-proscons { display:grid; grid-template-columns:1fr; gap:16px; }

@media(min-width:760px) {
  .cv2-proscons { grid-template-columns:1fr 1fr; }
}

.cv2-pc { border:1px solid var(--cv2-line); border-radius:14px; padding:18px 20px; background:var(--cv2-card); }

.cv2-pc--pro { border-color:rgba(34,197,94,.25); background:rgba(34,197,94,.04); }

.cv2-pc--con { border-color:rgba(248,113,113,.22); background:rgba(248,113,113,.04); }

.cv2-pc h3 { font-size:1.05rem; font-weight:800; margin-bottom:12px; display:flex; align-items:center; gap:8px; }

.cv2-pc--pro h3 { color:#86efac; }

.cv2-pc--con h3 { color:#fca5a5; }

.cv2-pc ul { list-style:none; margin:0; padding:0; }

.cv2-pc li { display:flex; gap:9px; font-size:13.5px; color:var(--cv2-body); padding:6px 0; line-height:1.5; }

.cv2-pc li svg { width:16px; height:16px; flex:0 0 auto; margin-top:1px; }

.cv2-pc--pro li svg { color:var(--cv2-green); }

.cv2-pc--con li svg { color:#f87171; }

/* CC-99: V1 hub lists (/canada/, /crypto-casinos/) stay 2-up on wide; top-casinos main is
   full-width (mockup). Card internals adapt to card width via the @container queries above,
   so no per-column feature/score overrides are needed. */

@media (min-width:1180px) {
  .capy-casino-list, .capy-casino-group__list { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
  .capy-casino-list > .cv2-ccard--feat, .capy-casino-group__list > .cv2-ccard--feat { grid-column:1 / -1; }
}

/* tighten the card a touch overall */

.cv2-ccard { padding:16px 18px 14px; }

.cv2-ccard__mid { margin-top:12px; }

/* ============================================================ FRONT PAGE V2 (FP1-4) */

.cv2-fphero { display:grid; grid-template-columns:1fr; gap:28px; align-items:center; padding:8px 0 0; }

@media(min-width:920px) {
  .cv2-fphero { grid-template-columns:1.02fr 1fr; gap:32px; }
}

.cv2-fphero h1 { font-size:clamp(2.2rem,6vw,3.4rem); font-weight:900; letter-spacing:-.5px; line-height:1.1; }

.cv2-fphero__sub { color:var(--cv2-body); font-size:clamp(1rem,2.2vw,1.12rem); line-height:1.6; margin:16px 0 22px; max-width:54ch; }

.cv2-fphero__cta { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

.cv2-fphero__art { position:relative; justify-self:center; max-width:560px; width:100%; }

.cv2-fphero__art > img { width:100%; height:auto; display:block; mix-blend-mode:screen; filter:drop-shadow(0 16px 50px rgba(251,191,36,.2)); }

.cv2-fphero__score { position:absolute; right:6%; top:8%; background:rgba(10,15,26,.85); backdrop-filter:blur(6px); border:1px solid var(--cv2-line-gold); border-radius:14px; padding:12px 16px; text-align:center; box-shadow:0 8px 30px rgba(0,0,0,.4); }

.cv2-fphero__score b { display:block; font-size:1.7rem; font-weight:800; color:var(--cv2-green); line-height:1; }

.cv2-fphero__score small { font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--cv2-muted); }

/* value/trust row */

.cv2-valrow { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:30px; }

@media(min-width:680px) {
  .cv2-valrow { grid-template-columns:repeat(4,1fr); }
}

@media(min-width:1100px) {
  .cv2-valrow { grid-template-columns:repeat(5,1fr); }
}

.cv2-val { display:flex; gap:10px; align-items:flex-start; border:1px solid var(--cv2-line); border-radius:12px; background:var(--cv2-card); padding:13px 14px; }

.cv2-val__ico { color:var(--cv2-gold); flex:0 0 auto; }

.cv2-val__ico svg { width:20px; height:20px; }

.cv2-val b { display:block; font-size:12.5px; color:var(--cv2-ink); line-height:1.2; }

.cv2-val span { display:block; font-size:11px; color:var(--cv2-muted); margin-top:2px; line-height:1.3; }

/* explore by category tiles */

.cv2-cats { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }

@media(min-width:620px) {
  .cv2-cats { grid-template-columns:repeat(3,1fr); }
}

@media(min-width:980px) {
  .cv2-cats { grid-template-columns:repeat(6,1fr); }
}

.cv2-cat { display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center; border:1px solid var(--cv2-line); border-radius:14px; background:var(--cv2-card); padding:18px 12px; text-decoration:none; transition:.18s; }

.cv2-cat:hover { border-color:var(--cv2-line-gold); background:var(--cv2-card-hover); transform:translateY(-2px); }

.cv2-cat__ico { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:rgba(251,191,36,.1); color:var(--cv2-gold); }

.cv2-cat__ico svg { width:22px; height:22px; }

.cv2-cat span { font-size:12.5px; font-weight:700; color:var(--cv2-ink); }

/* ============================================================ FP4: hero panel + compact picks */

.cv2-fphero-panel { border:1px solid var(--cv2-line); border-radius:22px; background:linear-gradient(160deg, rgba(255,255,255,.035), rgba(10,15,26,.35)); padding:clamp(20px,3.4vw,38px); }

.cv2-fphero__h1 { font-size:clamp(2rem,5vw,3rem); font-weight:900; letter-spacing:-.5px; line-height:1.08; }

.cv2-val { padding:11px 13px; }

.cv2-val b { font-size:12px; }

.cv2-val span { font-size:10.5px; }

.cv2-picks3 { display:grid; grid-template-columns:1fr; gap:16px; }

@media(min-width:680px) {
  .cv2-picks3 { grid-template-columns:repeat(2,1fr); }
}

@media(min-width:980px) {
  .cv2-picks3 { grid-template-columns:repeat(3,1fr); }
}

.cv2-cc { position:relative; display:flex; flex-direction:column; border:1px solid var(--cv2-line); border-radius:14px; background:var(--cv2-card); padding:16px; }

.cv2-cc--feat { border-color:var(--cv2-gold); box-shadow:0 0 0 1px rgba(251,191,36,.2); background:linear-gradient(180deg,rgba(251,191,36,.05),var(--cv2-card) 45%); }

.cv2-cc__rank { position:absolute; top:-9px; left:14px; width:24px; height:24px; display:grid; place-items:center; border-radius:6px; background:linear-gradient(180deg,#fbbf24,#d4af37); color:#04210f; font-weight:800; font-size:12px; }

.cv2-cc__head { display:flex; align-items:center; gap:12px; }

.cv2-cc__logo { width:54px; height:54px; flex:0 0 54px; border-radius:10px; background:#0f1626; border:1px solid var(--cv2-line); display:flex; align-items:center; justify-content:center; padding:7px; overflow:hidden; }

.cv2-cc__logo img { width:auto!important; height:auto!important; max-width:100%; max-height:100%; object-fit:contain; }

.cv2-cc__logo span { color:#fbbf24; font-weight:800; font-size:20px; }

.cv2-cc__id { min-width:0; flex:1; }

.cv2-cc__id h3 { font-size:1.05rem; font-weight:800; line-height:1.2; }

.cv2-cc__id .cv2-badge { margin-top:3px; }

.cv2-cc__rate { margin-top:3px; }

.cv2-cc__rate .cv2-stars { color:var(--cv2-gold); font-size:12px; }

.cv2-cc__score { text-align:center; flex:0 0 auto; }

.cv2-cc__score b { font-size:1.4rem; font-weight:800; color:var(--cv2-green); line-height:1; }

.cv2-cc__score small { font-size:11px; color:var(--cv2-muted); }

.cv2-cc__offer { margin-top:12px; border:1px solid rgba(34,197,94,.2); background:rgba(34,197,94,.05); border-radius:9px; padding:9px 11px; font-size:12.5px; color:var(--cv2-body); line-height:1.4; }

.cv2-cc__offer span { display:block; font-size:9.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#86efac; margin-bottom:2px; }

.cv2-cc__scores { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin-top:12px; padding-top:11px; border-top:1px solid var(--cv2-line); }

.cv2-cc__scores span { text-align:center; font-size:10px; color:var(--cv2-muted); }

.cv2-cc__scores i { display:block; font-style:normal; font-weight:800; font-size:13px; color:var(--cv2-green); }

.cv2-cc__cta { margin-top:13px; display:flex; flex-direction:column; gap:7px; align-items:center; }

.cv2-cc__cta .cv2-btn { width:100%; justify-content:center; }

.cv2-cc__read { color:var(--cv2-gold); font-weight:600; font-size:12.5px; text-decoration:none; }

/* ============================================================ FP4 pass 2: richer hero + picks + category */

/* compact card extras */

.cv2-cc__rate { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:5px; }

.cv2-cc__rate b { color:var(--cv2-green); font-weight:800; font-size:13px; }

.cv2-cc__word { display:inline-flex; align-items:center; gap:3px; font-size:10.5px; color:#86efac; }

.cv2-cc__word svg { width:12px; height:12px; }

.cv2-cc__best { margin-top:11px; font-size:12px; color:var(--cv2-body); }

.cv2-cc__best b { color:var(--cv2-ink); }

.cv2-cc__chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }

.cv2-cc__chips span { display:inline-flex; align-items:center; gap:4px; font-size:10.5px; color:var(--cv2-muted); border:1px solid var(--cv2-line); border-radius:6px; padding:3px 7px; }

.cv2-cc__chips svg { width:11px; height:11px; color:var(--cv2-green); }

.cv2-cc__cs i { color:var(--cv2-gold); }

.cv2-cc__cs { color:var(--cv2-gold); }

/* hero inline trust chips */

.cv2-fphero__trust { display:flex; flex-wrap:wrap; gap:8px 16px; margin:16px 0 18px; }

.cv2-fphero__trust span { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--cv2-body); }

.cv2-fphero__trust svg { width:15px; height:15px; color:var(--cv2-green); }

/* browse by market pills */

.cv2-markets { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:16px; }

.cv2-markets > b { font-size:12px; color:var(--cv2-muted); display:inline-flex; align-items:center; gap:6px; }

.cv2-markets > b svg { width:15px; height:15px; color:var(--cv2-gold); }

.cv2-markets a { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--cv2-body); border:1px solid var(--cv2-line); border-radius:999px; padding:5px 11px; text-decoration:none; }

.cv2-markets a:hover { border-color:var(--cv2-line-gold); color:var(--cv2-gold); }

/* methodology card (replaces the plain score badge) */

.cv2-methodcard { position:absolute; right:3%; top:5%; width:178px; background:rgba(10,15,26,.92); backdrop-filter:blur(6px); border:1px solid var(--cv2-line-gold); border-radius:14px; padding:14px; box-shadow:0 8px 30px rgba(0,0,0,.45); }

.cv2-methodcard__k { display:flex; align-items:center; gap:5px; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--cv2-gold); margin-bottom:6px; }

.cv2-methodcard__k svg { width:12px; height:12px; }

.cv2-methodcard b { display:block; font-size:1.9rem; font-weight:800; color:var(--cv2-green); line-height:1; }

.cv2-methodcard__w { font-size:12px; font-weight:700; color:#86efac; }

.cv2-methodcard p { font-size:10.5px; color:var(--cv2-muted); margin:6px 0 8px; }

.cv2-methodcard a { font-size:11.5px; color:var(--cv2-gold); font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:4px; }

.cv2-methodcard a svg { width:12px; height:12px; }

/* value row panel */

.cv2-valrow-panel { border:1px solid var(--cv2-line); border-radius:16px; background:var(--cv2-card); padding:14px; margin-top:26px; }

.cv2-valrow-panel .cv2-valrow { margin-top:0; }

.cv2-valrow-panel .cv2-val { border:none; background:transparent; padding:9px 11px; }

/* explore by category — horizontal cards with descriptions */

.cv2-cats { grid-template-columns:1fr; }

@media(min-width:620px) {
  .cv2-cats { grid-template-columns:repeat(2,1fr); }
}

@media(min-width:980px) {
  .cv2-cats { grid-template-columns:repeat(5,1fr); }
}

.cv2-cat { flex-direction:row; align-items:flex-start; text-align:left; gap:11px; padding:15px; }

.cv2-cat__ico { width:38px; height:38px; flex:0 0 38px; }

.cv2-cat__tx b { display:block; font-size:13px; font-weight:700; color:var(--cv2-ink); }

.cv2-cat__tx span { display:block; font-size:11px; color:var(--cv2-muted); margin-top:2px; line-height:1.35; }

/* ============================================================ FP4: why-trust 2-col, latest reviews, ready band */

.cv2-twocol { display:grid; grid-template-columns:1fr; gap:26px; }

@media(min-width:980px) {
  .cv2-twocol { grid-template-columns:1fr 1fr; align-items:start; }
}

.cv2-why { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }

.cv2-whyc { border:1px solid var(--cv2-line); border-radius:12px; background:var(--cv2-card); padding:16px; text-align:center; }

.cv2-whyc__ico { width:42px; height:42px; margin:0 auto 8px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(251,191,36,.3); color:var(--cv2-gold); }

.cv2-whyc__ico svg { width:20px; height:20px; }

.cv2-whyc b { display:block; font-size:13px; color:var(--cv2-ink); margin-bottom:4px; }

.cv2-whyc p { font-size:11px; color:var(--cv2-muted); line-height:1.4; margin:0; }

.cv2-latest { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }

.cv2-lr { position:relative; border:1px solid var(--cv2-line); border-radius:12px; background:var(--cv2-card); padding:14px; transition:.18s; }

.cv2-lr:hover { border-color:var(--cv2-line-gold); }

.cv2-lr__tag { font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:#86efac; background:rgba(34,197,94,.15); border-radius:5px; padding:3px 7px; }

.cv2-lr h4 { font-size:13px; font-weight:700; color:var(--cv2-ink); margin:9px 0 5px; line-height:1.3; }

.cv2-lr__meta { font-size:11px; color:var(--cv2-muted); }

.cv2-lr__score { color:var(--cv2-green); font-weight:800; font-size:13px; margin-top:6px; display:inline-block; }

.cv2-lr__link { position:absolute; inset:0; z-index:1; }

.cv2-ready { display:flex; flex-wrap:wrap; align-items:center; gap:18px; border:1px solid var(--cv2-line-gold); border-radius:18px; padding:24px clamp(18px,3vw,32px); background:radial-gradient(120% 200% at 0% 0%, rgba(251,191,36,.1), rgba(20,29,48,.6)); }

.cv2-ready__copy { flex:1 1 320px; }

.cv2-ready__copy h3 { font-size:1.4rem; font-weight:800; }

.cv2-ready__copy p { color:var(--cv2-muted); margin:5px 0 10px; font-size:.92rem; }

.cv2-ready__chips { display:flex; flex-wrap:wrap; gap:14px; }

.cv2-ready__chips span { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--cv2-body); }

.cv2-ready__chips svg { width:14px; height:14px; color:var(--cv2-green); }

/* ============================================================ FP4 pass 3: dealer hero + tighten + newsletter */

.cv2-fphero__art > img { mix-blend-mode:normal !important; filter:drop-shadow(0 18px 50px rgba(0,0,0,.5)) !important; }

.cv2-fphero { gap:24px; }

.cv2-fphero-panel { padding:clamp(18px,2.8vw,30px); }

.cv2-fphero__sub { margin:14px 0 16px; }

/* newsletter bar */

.cv2-news { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; border:1px solid var(--cv2-line); border-radius:14px; background:var(--cv2-card); padding:18px 22px; }

.cv2-news__t { flex:1 1 240px; }

.cv2-news__t b { display:block; color:var(--cv2-ink); font-size:14px; }

.cv2-news__t span { font-size:12px; color:var(--cv2-muted); }

.cv2-news form, .cv2-news__form { display:flex; gap:8px; flex:1 1 280px; }

.cv2-news input[type=email] { flex:1; padding:10px 13px; border-radius:9px; border:1px solid rgba(255,255,255,.14); background:#0c1322; color:#f8fafc; font-size:13px; }

.cv2-news__meta { display:flex; flex-wrap:wrap; gap:14px; }

.cv2-news__meta span { display:inline-flex; align-items:center; gap:6px; font-size:11.5px; color:var(--cv2-muted); }

.cv2-news__meta svg { width:14px; height:14px; color:var(--cv2-gold); }

/* ============================================================ FP4 pass 4: hero density + warm ambient */

/* warm glow behind the dealer art so the right column reads full, not empty */

.cv2-fphero__art::before { content:""; position:absolute; inset:-8% -2% -12% -2%; z-index:0; pointer-events:none;
  background:radial-gradient(58% 52% at 58% 46%, rgba(251,191,36,.18), rgba(251,191,36,.05) 45%, transparent 72%); filter:blur(6px); }

.cv2-fphero__art > img { position:relative; z-index:1; }

@media(min-width:920px) {
  .cv2-fphero { align-items:center; }
  .cv2-fphero__art { justify-self:end; }
  /* anchor art to the panel edge, kill the right-side air */
  .cv2-methodcard { width:190px; right:-2%; top:4%; }
  /* let the score card overlap the art edge like the mockup */
}

/* trim hero vertical dead space + give the panel a touch more presence */

.cv2-fphero-panel { background:linear-gradient(155deg, rgba(251,191,36,.05), rgba(255,255,255,.03) 30%, rgba(10,15,26,.4)); }

.cv2-fphero__cta { margin-top:4px; }

/* de-orphan the trailing SEO blurb: a quiet, left-aligned about strip inside page width,
   not a hero-sized floating card marooned above the footer. */

.capy-fp-seo-content { background:transparent !important; padding-top:clamp(6px,1.6vw,16px) !important; padding-bottom:clamp(22px,3.5vw,36px) !important; }

.capy-fp-seo-inner { max-width:1200px !important; background:transparent !important; border:none !important; border-radius:0 !important; padding:clamp(20px,3vw,30px) 20px 0 !important; border-top:1px solid var(--cv2-line) !important; }

.capy-fp-seo-inner h2 { font-size:clamp(1.3rem,3vw,1.7rem) !important; text-align:left !important; margin-bottom:14px !important; color:var(--cv2-ink) !important; }

.capy-fp-seo-inner p { font-size:.95rem !important; line-height:1.7 !important; color:var(--cv2-muted) !important; max-width:78ch; }

/* QA fix: tablet breadcrumb clearance (overlay header is taller than the 74px base min) */
@media (min-width:601px) and (max-width:1024px){ .cv2-page{ padding-top:96px; } }
