/*
 * LivePanthers layout integrity
 * - uncropped featured and section artwork
 * - two-column mobile content-card grids
 * - semantic responsive tables inside dedicated scrollers
 */

.article-featured-image-inner,
.article-featured-image--topic .article-featured-image-inner {
  aspect-ratio: auto !important;
  overflow: visible;
}

.article-featured-image-inner img,
.article-featured-image--topic .article-featured-image-inner img,
body[class*="single-lp_"] .article-body .lp-section-image img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center;
}

body.postid-627 .article-featured-image,
body.postid-628 .article-featured-image,
body.postid-629 .article-featured-image,
body.postid-642 .article-featured-image {
  display: block;
}

.lp-responsive-table-wrap,
main .comparison-table-wrapper,
main .lp-bookmaker-table-wrap,
main .table-scroll-wrapper,
main .wp-block-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
  .content-grid,
  .related-pages-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem;
  }

  .content-card,
  .betting-card,
  .related-page-card {
    min-width: 0;
    max-width: 100%;
  }

  .content-card-body,
  .betting-card {
    padding: 0.75rem;
  }

  .content-card-logo-area {
    padding: 0.75rem;
  }

  .content-card-body h2,
  .content-card-body h3,
  .content-card-heading,
  .content-card-heading-sm,
  .betting-card h2,
  .betting-card h3,
  .betting-card-title {
    font-size: 0.9rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .content-card-body p,
  .betting-card p {
    font-size: 0.75rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .content-card-cta,
  .betting-card .content-card-cta {
    max-width: 100%;
    padding: 0.45rem 0.6rem;
    gap: 0.3rem;
    font-size: 0.68rem;
    line-height: 1.25;
    white-space: normal;
  }

  main table {
    display: table !important;
    width: 100%;
    max-width: none;
    overflow: visible !important;
    border-collapse: collapse;
  }

  main table.lp-table-cols-3 { min-width: 620px; }
  main table.lp-table-cols-4 { min-width: 760px; }
  main table.lp-table-cols-5 { min-width: 900px; }
  main table.lp-table-cols-6 { min-width: 1020px; }

  main table.lp-table-cols-1,
  main table.lp-table-cols-2 {
    min-width: 100%;
    table-layout: fixed;
  }

  main table th,
  main table td {
    display: table-cell;
    vertical-align: top;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }
}

/* WordPress Custom CSS has an older one-column provider override. */
@media (max-width: 640px) {
  body.page-id-38.page-template-page-providers .content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
  }

  body.page-id-38.page-template-page-providers .content-card-logo-area {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    padding: 0.5rem !important;
    overflow: hidden !important;
  }

  body.page-id-38.page-template-page-providers .content-card-logo-area img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}

/* 2026-09-02 accessibility pass: keep provider labels readable on the red hero. */
.provider-hero-stat-label,
.provider-hero-disclaimer {
  color: hsl(var(--primary-foreground) / 0.88);
}

/* The article-link rule is more specific than the gold button utility. */
body.postid-629 main .lp-priority-cta .btn-gold,
body.postid-629 main .lp-priority-cta .btn-gold:hover {
  color: #700808;
  text-decoration: none;
}
