:root{ --vc-border:#374151; --vc-fg:#e9eef8; --vc-sold-bg:#1f2937; }
.faq-chip__status {
  font-size: 0.95rem;
  font-weight: 600;
  color: #e5e7eb;
}
.faq-chip__status--info {
  color: #60a5fa;
}
.faq-chip__status--muted {
  color: rgba(232, 236, 255, 0.72);
}
.faq-chip__status--positive {
  color: #4ade80;
}
.faq-chip__status--warning {
  color: #fbbf24;
}
.faq-chip__status--negative {
  color: #f87171;
}
.card {
  background: rgba(17, 24, 39, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.panel-cta-secondary #clearBtn {
  align-self: flex-start;
}

/* Checkout CTA normalization (Vault Thunder Board) */
#reserveBtn,
#stripeBtn,
#bankPayBtn,
#bankSmartBtn,
#clearBtn {
  display: block;
  width: 100%;
  padding: 16px 20px;
  border-radius: 14px;
  font-weight: 600;
}

.pay-tile,
.bank-tile,
.stripe-tile {
  display: none !important;
}

.panel:has(#reserveBtn) {
  margin-bottom: 16px;
}

.panel:has(#clearBtn) {
  margin-top: 16px;
}
.game-meta-links {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.game-meta-links__link {
  text-decoration: none;
}
.game-meta-links__link:focus-visible {
  outline: 2px solid var(--brand, #60a5fa);
  outline-offset: 2px;
}
@media (max-width: 560px) {
  .game-meta-links__link--faq {
    background: linear-gradient(135deg, #facc15, #fbbf24);
    color: #111827;
    border-color: rgba(17, 24, 39, 0.32);
    font-weight: 700;
  }
  .game-meta-links__link--faq:focus-visible {
    outline-color: #111827;
  }
}
.vtb-card__note {
  margin-top: 8px;
  font-size: 0.85rem;
  line-height: 1.4;
  color: rgba(229, 231, 235, 0.72);
}

.vtb-card__note strong,
.vtb-card__note a {
  color: inherit;
}

.vc-board{ display:grid; grid-template-columns:repeat(10,1fr); gap:10px; max-width:680px; }
@media (max-width:1024px){ .vc-board{ grid-template-columns:repeat(8,1fr) } }
@media (max-width:820px){  .vc-board{ grid-template-columns:repeat(6,1fr) } }
@media (max-width:560px){  .vc-board{ grid-template-columns:repeat(5,1fr) } }
.vc-cell{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  width:100%; height:auto; border-radius:12px; border:1px solid var(--vc-border);
  background:#111827; color:var(--vc-fg); font-weight:800; cursor:pointer;
  font-variant-numeric:tabular-nums; transition:filter .12s, box-shadow .12s, transform .12s;
}
.vc-cell .vc-number{
  display:block; width:100%; text-align:center; line-height:1.1; margin-bottom:2px;
}
.vc-cell .vc-label{
  display:block; font-size:0.65em; line-height:1.15; color:#9ca3af; text-align:center;
}
.vc-cell:hover{ filter:brightness(1.08); }
.vc-cell.is-picked{
  background:linear-gradient(180deg,#1e3a8a,#152a52); border-color:#60a5fa; color:#fff;
  box-shadow:0 0 0 2px rgba(96,165,250,.35), inset 0 0 0 1px rgba(255,255,255,.06); transform:scale(1.02);
}
.vc-cell.is-res,.vc-cell.is-sold{background:var(--vc-sold-bg);color:#9ca3af;cursor:not-allowed}
.vc-cell.is-res::after{content:"RES";position:absolute;top:4px;right:6px;font-size:10px;font-weight:900;padding:2px 6px;border-radius:999px;background:#334155;color:#e9eef8}
.vc-cell.is-sold::after{content:"SOLD";position:absolute;top:0;right:0;padding:2px 10px;font-size:10px;font-weight:900;background:#991b1b;color:#fff;transform:rotate(45deg) translate(35%,-70%);transform-origin:top right;pointer-events:none}

/* --- VTB mobile spacing tidy ------------------------------------------------ */
@media (max-width: 480px) {

  /* Base vertical rhythm for stacked blocks under the hero */
  #game .panel { --vtb-stack: 8px; }

  #game .panel-controls,
  #game .panel-extra,
  #game .grid-card,
  #game details.panel {
    margin: var(--vtb-stack) 0 !important;
  }

  /* “What is 5 + 20?” block + terms row: sit inline and tight */
  #game .panel-skill,
  #game .terms-confirm {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  #game .panel-skill input[type="text"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #game .terms-confirm span {
    min-width: 0 !important;
    padding-right: 6px !important;
    overflow-wrap: anywhere !important;
  }

  #game .terms-confirm input[type="checkbox"] {
    margin: 0 !important;
  }

  /* Inputs: modest height to match compact look */
  #game input[type="text"],
  #game input[type="email"],
  #game input[type="tel"],
  #game .form-control {
    height: 40px !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    padding: .5rem .75rem !important;
  }

  /* CTA buttons: Reserve / Play Now / Clear */
  #game .panel-cta[role="group"] {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  #game .panel-cta-secondary {
    display: flex !important;
    gap: 8px !important;
  }

  #game .panel-cta[role="group"] .btn {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    font-size: 14px !important;
    padding: 8px 14px !important;
    border-radius: 10px !important;
  }

/* Number grid: smaller gap + smaller tiles on mobile */
  #grid { gap: 6px !important; }

  #grid .vc-cell,
  #grid button {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 44px !important;
    font-size: 14px !important;
    padding: 0 !important;
    border-radius: 10px !important;
  }
}
