/* Casino Capybara V2 CSS polish layer - 2026-06-27
   Purpose: align partial/old global pages with the live CV2 system without changing imagery.
   Merge near the end of the active casino-v2.css module. */

/* ---------- Shared content shell ----------------------------------------------------------- */

.cv2-page,
.capy-hub-page,
.site-main.capy-main-container {
  color: var(--cv2-body, #cbd5e1);
  background:
    radial-gradient(95% 52% at 50% -12%, rgba(251, 191, 36, .07), transparent 62%),
    linear-gradient(180deg, rgba(10, 15, 26, .98), rgba(8, 13, 23, .98));
}

/* .capy-hub-page padding intentionally omitted: hub-pages.css already manages
   padding-top on capy-hub-page (news/casino archive). Only bare capy-main-container
   pages (non-hub content pages) need the padding from this polish layer. */
.site-main.capy-main-container {
  padding: clamp(82px, 8vw, 98px) clamp(14px, 4vw, 28px) 64px;
}

.capy-hub-page :where(a),
.site-main.capy-main-container :where(a),
.cv2-page :where(a) {
  text-underline-offset: 3px;
}

.capy-hub-page :where(a:hover, a:focus-visible),
.site-main.capy-main-container :where(a:hover, a:focus-visible),
.cv2-page :where(a:hover, a:focus-visible) {
  color: var(--cv2-gold, #fbbf24);
}

.capy-glass-panel,
.capy-news-article,
.cv2-content-panel {
  width: min(100%, 920px);
  margin-inline: auto;
  border: 1px solid var(--cv2-line, rgba(255, 255, 255, .10));
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(251, 191, 36, .035), rgba(20, 29, 48, .82) 34%, rgba(12, 19, 34, .92));
  box-shadow: 0 18px 54px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .04);
  padding: clamp(22px, 4vw, 38px);
}

.capy-glass-panel > :first-child,
.capy-news-article > :first-child,
.cv2-content-panel > :first-child {
  margin-top: 0;
}

.capy-glass-panel > :last-child,
.capy-news-article > :last-child,
.cv2-content-panel > :last-child {
  margin-bottom: 0;
}

/* ---------- Generic content typography ----------------------------------------------------- */

.cv2-content-h1,
.capy-glass-panel :where(.entry-title, h1),
.capy-news-article__title {
  font-family: var(--font-display, "Playfair Display", Georgia, serif);
  color: var(--cv2-ink, #f8fafc);
  font-size: clamp(2rem, 6vw, 3rem);
  line-height: 1.08;
  letter-spacing: 0;
  margin: 0 0 14px;
}

.capy-news-kicker,
.capy-glass-panel .capy-kicker,
.cv2-content-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 12px;
  color: var(--cv2-gold, #fbbf24);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.capy-news-article__meta,
.cv2-content-meta,
.capy-glass-panel .entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0 0 22px;
  color: var(--cv2-muted, #94a3b8);
  font-size: 12.5px;
}

.capy-news-article__body,
.capy-glass-panel .entry-content,
.cv2-review-body,
.cv2-prose {
  color: var(--cv2-body, #cbd5e1);
  font-size: clamp(15px, 1.45vw, 16px);
  line-height: 1.72;
}

.capy-news-article__body :where(h2, h3),
.capy-glass-panel .entry-content :where(h2, h3),
.cv2-review-body :where(h2, h3) {
  font-family: var(--font-display, "Playfair Display", Georgia, serif);
  color: var(--cv2-ink, #f8fafc);
  line-height: 1.18;
  letter-spacing: 0;
}

.capy-news-article__body h2,
.capy-glass-panel .entry-content h2,
.cv2-review-body h2 {
  margin: 34px 0 12px;
  padding-top: 22px;
  border-top: 1px solid var(--cv2-line, rgba(255, 255, 255, .10));
  font-size: clamp(1.35rem, 3vw, 1.75rem);
}

.capy-news-article__body h3,
.capy-glass-panel .entry-content h3,
.cv2-review-body h3 {
  margin: 24px 0 10px;
  font-size: clamp(1.1rem, 2vw, 1.25rem);
}

.capy-news-article__body :where(p, ul, ol),
.capy-glass-panel .entry-content :where(p, ul, ol),
.cv2-review-body :where(p, ul, ol) {
  margin-block: 0 16px;
}

.capy-news-article__body :where(ul, ol),
.capy-glass-panel .entry-content :where(ul, ol),
.cv2-review-body :where(ul, ol) {
  padding-left: 1.25rem;
}

.capy-news-article__body li,
.capy-glass-panel .entry-content li,
.cv2-review-body li {
  margin-block: 6px;
}

/* ---------- Mobile table containment ------------------------------------------------------- */

.cv2-page :where(.cv2-review-body, .entry-content, .cv2-prose, .capy-glass-panel) table,
.capy-hub-page table,
.site-main.capy-main-container table {
  max-width: 100%;
  border-collapse: collapse;
}

.cv2-page :where(.cv2-review-body, .entry-content, .cv2-prose, .capy-glass-panel) :where(th, td),
.capy-hub-page :where(th, td),
.site-main.capy-main-container :where(th, td) {
  border: 1px solid var(--cv2-line, rgba(255, 255, 255, .10));
  padding: 10px 12px;
  vertical-align: top;
}

.cv2-page :where(.cv2-review-body, .entry-content, .cv2-prose, .capy-glass-panel) th,
.capy-hub-page th,
.site-main.capy-main-container th {
  background: rgba(251, 191, 36, .08);
  color: var(--cv2-ink, #f8fafc);
}

@media (max-width: 720px) {
  .cv2-page,
  .capy-hub-page,
  .site-main.capy-main-container {
    overflow-x: clip;
  }

  .cv2-page :where(.cv2-review-body, .entry-content, .cv2-prose, .capy-glass-panel) table,
  .capy-hub-page table,
  .site-main.capy-main-container table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--cv2-line, rgba(255, 255, 255, .10));
    border-radius: 12px;
    background: var(--cv2-card, #141d30);
  }

  .cv2-page :where(.cv2-review-body, .entry-content, .cv2-prose, .capy-glass-panel) :where(thead, tbody, tr),
  .capy-hub-page :where(thead, tbody, tr),
  .site-main.capy-main-container :where(thead, tbody, tr) {
    min-width: 520px;
  }
}

/* ---------- News archive / news single bridge --------------------------------------------- */

.capy-news-single {
  display: block;
}

.capy-news-article {
  max-width: 880px;
}

.capy-news-article__head {
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--cv2-line, rgba(255, 255, 255, .10));
}

.capy-news-article__body {
  max-width: 72ch;
}

.capy-news-source,
.capy-news-related,
.capy-news-more,
.capy-news-pillars {
  margin-top: 28px;
  border: 1px solid var(--cv2-line, rgba(255, 255, 255, .10));
  border-radius: 14px;
  background: var(--cv2-card, #141d30);
  padding: 18px;
}

.capy-news-source__note {
  margin: 0 0 8px;
  color: var(--cv2-muted, #94a3b8);
  font-size: 13px;
}

.capy-news-source__link,
.capy-news-more__all {
  color: var(--cv2-gold, #fbbf24);
  font-weight: 700;
  text-decoration: none;
}

.capy-news-related__h,
.capy-news-more__h,
.capy-news-pillars__heading {
  font-family: var(--font-display, "Playfair Display", Georgia, serif);
  color: var(--cv2-ink, #f8fafc);
  font-size: 1.18rem;
  margin: 0 0 14px;
}

.capy-news-related__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 680px) {
  .capy-news-related__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.capy-news-related__card,
.capy-news-more__item,
.capy-news-pillars__link {
  border: 1px solid var(--cv2-line, rgba(255, 255, 255, .10));
  border-radius: 12px;
  background: rgba(255, 255, 255, .025);
}

.capy-news-related__card {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 72px;
  padding: 10px;
  color: var(--cv2-ink, #f8fafc);
  text-decoration: none;
}

.capy-news-related__thumb {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 10px;
  background: #0f1626;
}

.capy-news-more__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.capy-news-more__item {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
}

.capy-news-more__link {
  color: var(--cv2-ink, #f8fafc);
  font-weight: 700;
  text-decoration: none;
}

.capy-news-more__item time {
  flex: 0 0 auto;
  color: var(--cv2-muted, #94a3b8);
  font-size: 12px;
}

.capy-news-pillars__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.capy-news-pillars__link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  color: var(--cv2-body, #cbd5e1);
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
}

.capy-news-pillars__link--primary {
  border-color: rgba(251, 191, 36, .42);
  color: var(--cv2-gold, #fbbf24);
  background: rgba(251, 191, 36, .08);
}

/* ---------- Section/header resilience ------------------------------------------------------ */

.cv2-section__head {
  min-width: 0;
}

.cv2-section__titles,
.cv2-section__head h2,
.cv2-section__intro {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
}

@media (max-width: 600px) {
  /* CC-238 fix: section head must stack full-width (its first child is the titles
     block, NOT an icon) - the old 30px grid column crushed headings to vertical text. */
  .cv2-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .cv2-section__head .cv2-viewall {
    margin-left: 0;
    margin-top: 2px;
  }
  .capy-glass-panel,
  .capy-news-article,
  .cv2-content-panel {
    border-radius: 14px;
    padding: 20px 16px;
  }
  /* CC-238 fix: CTA bridge stacks tightly on mobile (kills the empty gap). */
  .cv2-bridge {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-height: auto;
  }
  .cv2-bridge__art { margin: 0; }
  .cv2-bridge__cta { width: 100%; }
  .cv2-bridge__cta .cv2-btn { width: 100%; justify-content: center; }
}
