/* Inner list + article chrome. Homepage modules in rich.css stay untouched. */

.content-page {
  padding: 2.4rem 0 3.2rem;
}

.content-lead {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  min-width: 0;
  padding: 28px 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow-card);
}

.casino-lead-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-bottom: 2.2rem;
}

.content-lead--media {
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  align-items: stretch;
  padding: 0;
  overflow: hidden;
}

.content-lead--media .content-lead__copy {
  padding: 28px 32px 28px 8px;
}

.content-lead__media {
  display: grid;
  min-height: 240px;
  background: var(--header);
}

.content-lead__media img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}

.content-lead__kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.content-lead h2 {
  margin: 0 0 10px;
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 800;
  letter-spacing: -0.03em;
  overflow-wrap: anywhere;
}

.content-lead:hover h2 {
  color: var(--brand);
}

.content-lead p {
  margin: 0;
  color: var(--ink-soft);
  font-size: var(--text-meta);
  line-height: 1.55;
}

.content-lead__meta {
  margin-top: 14px !important;
  color: var(--ink-faint) !important;
  font-size: 14px;
}

.content-lead__cta {
  display: inline-flex;
  margin-top: 14px;
  color: var(--brand);
  font-size: 15px;
  font-weight: 700;
}

.listing-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 6px;
  background: var(--header);
  color: #fff;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.listing-mark--lg {
  width: 120px;
  height: 120px;
  font-size: 36px;
}

.listing-block {
  margin-top: 2.6rem;
}

.listing-block > h2 {
  margin: 0 0 1.1rem;
  font-size: var(--heading-section);
  font-weight: 800;
}

.listing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.listing-card,
.news-listing {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.listing-card:hover,
.news-listing:hover {
  border-color: #8bbfc1;
  box-shadow: var(--shadow-card);
}

.listing-card a,
.news-listing a {
  display: grid;
  min-height: 100%;
  padding: 18px;
}

.listing-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  color: var(--ink-faint);
  font-size: 13px;
  font-weight: 600;
}

.listing-card h3,
.news-listing h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}

.listing-card:hover h3,
.news-listing:hover h3 {
  color: var(--brand);
}

.listing-card p,
.news-listing p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.5;
}

.listing-card__foot,
.news-listing__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-top: 16px;
  color: var(--brand);
  font-size: 14px;
  font-weight: 700;
}

.listing-card__foot time {
  color: var(--ink-faint);
  font-weight: 600;
}

.news-listing a {
  padding: 0 0 18px;
}

.news-listing__media {
  position: relative;
  height: 168px;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  background: var(--header);
}

.news-listing__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-listing__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 52px;
  min-height: 52px;
  display: grid;
  place-items: center;
  padding: 6px 4px;
  border-radius: 4px;
  background: #fff;
  color: var(--ink);
  line-height: 1.05;
  text-align: center;
}

.news-listing__badge strong {
  display: block;
  font-size: 18px;
  font-weight: 800;
}

.news-listing__badge span {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.news-listing h3,
.news-listing p,
.news-listing__foot {
  padding-left: 18px;
  padding-right: 18px;
}

.news-listing h3 {
  margin-top: 14px;
}

.how-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.how-card {
  min-width: 0;
  padding: 22px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-soft);
}

.how-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
}

.how-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.55;
}

.catalog-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-top: 2.6rem;
  padding: 28px 32px;
  border-radius: 8px;
  background: var(--header);
  color: #fff;
}

.catalog-banner h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 24px;
}

.catalog-banner p {
  margin: 0;
  color: var(--header-ink-soft);
  font-size: 16px;
}

.catalog-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.catalog-banner a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 6px;
  background: var(--brand);
  color: #fff;
  font-weight: 700;
}

.catalog-banner a:hover {
  background: var(--brand-hover);
  color: #fff;
}

.content-page .faq-section {
  display: block;
  padding: 2.6rem 0 0;
}

.content-page .faq-intro {
  max-width: 52rem;
  margin-bottom: 8px;
}

.content-page .faq-intro h2 {
  margin: 0 0 8px;
}

.inner-trust {
  padding: 0 0 3rem;
}

/* Article / guide / news detail */

.article-shell {
  padding: 1.8rem 0 3.2rem;
}

.article-shell .crumb {
  color: var(--ink-faint);
  margin-bottom: 1.15rem;
}

.article-shell .crumb a:hover {
  color: var(--brand);
}

.article-kicker {
  margin: 0 0 12px;
  color: var(--brand);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.article-shell > .wrap > h1,
.article-head h1 {
  max-width: 22ch;
  margin: 0 0 1rem;
  font-size: var(--heading-page);
  font-weight: 800;
  letter-spacing: -0.03em;
  overflow-wrap: anywhere;
}

.article-standfirst {
  max-width: 62ch;
  margin: 0 0 1.6rem;
  color: var(--ink-soft);
  font-size: var(--text-lead);
  line-height: 1.6;
}

.article-figure {
  /* srp-news-cover-20260914：与正文列同宽并左对齐。
     原来 figure 直接占满 .wrap（--container 1400px），图会被拉宽/裁切，
     且左边缘和正文对不齐。.article-prose 与 .article-source 都是 52rem，这里跟上。 */
  margin: 0 0 1.6rem;
  overflow: hidden;
  border-radius: 8px;
  background: var(--surface-soft);
  max-width: 52rem;
}

.article-figure img {
  /* srp-news-cover-20260914：原来是 width:100% + max-height:420px + object-fit:cover。
     宽容器下这条会把横版封面**纵向裁掉**——1186×469 的图放进 1392px 容器需要 550px 高，
     被 max-height 压到 420px，cover 就从上下各切一刀（约 24%），正好切掉游戏名和人物。
     改成「等比缩放到装得下」：宽高都用 auto + 双 max 约束，浏览器按比例缩到装得下为止，
     既不裁切也不拉伸，也不会放大超过原始尺寸；比容器窄的竖图居中。 */
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 420px;
  margin-inline: auto;
  object-fit: contain;
}

.article-figure figcaption {
  padding: 10px 4px 0;
  color: var(--ink-faint);
  font-size: 14px;
}

/* srp-rtp-guide-20260914：正文里的数据表格。
   主题此前**没有**正文表格样式：.spec-table 是游戏页的两列规格表（th 写死 width:42%），
   .ranking-table 是首页榜单（table-layout:fixed + 7 列 nth-child 列宽），
   两者都套不到这篇的三列对照表上。发布前查过库：全站正文 <table> 出现 0 次，
   所以这段的影响面只可能是本指南，选择器再收进 .article-prose 里。
   宽度策略：表格给自己 min-width，由外层 wrap 承担横向滚动 —— 窄屏是
   「表格容器内部滚动」，页面本身不产生横向溢出。 */
.article-table-wrap {
  margin: 0 0 1.6rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.article-prose .article-table {
  width: 100%;
  min-width: 34rem;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--surface);
  font-variant-numeric: tabular-nums;
}

.article-prose .article-table th,
.article-prose .article-table td {
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  font-size: var(--text-meta);
  overflow-wrap: anywhere;
}

.article-prose .article-table thead th {
  background: var(--surface-soft);
  color: var(--ink-soft);
  font-weight: 700;
}

.article-prose .article-table tbody th {
  color: var(--ink);
  font-weight: 650;
}

.article-prose .article-table tbody tr:last-child th,
.article-prose .article-table tbody tr:last-child td {
  border-bottom: 0;
}

/* srp-rtp-guide-20260914：正文图表是「点开看原图」的链接（<a> 包 <img>），
   .prose a 会给链接画下划线，包在图上就成了一条压着图片的横线，这里去掉。
   只作用于正文里的 .article-figure，不影响正文普通文字链接。 */
.article-prose .article-figure a {
  text-decoration: none;
}

.content-index {
  max-width: 52rem;
  margin: 0 0 2rem;
  padding: 18px 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-soft);
}

.content-index > p {
  margin: 0 0 10px;
  color: var(--ink-faint);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.content-index ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.content-index li + li {
  border-top: 1px solid var(--line);
}

.content-index a {
  display: grid;
  grid-template-columns: 1.4rem minmax(0, 1fr);
  gap: 10px;
  padding: 8px 0;
  color: var(--ink);
  font-weight: 650;
  overflow-wrap: anywhere;
}

.content-index a span {
  color: var(--brand);
  font-variant-numeric: tabular-nums;
}

.content-index a:hover {
  color: var(--brand);
}

.article-prose {
  max-width: 52rem;
}

.article-prose h2 {
  margin: 2rem 0 0.7rem;
  padding-left: 14px;
  border-left: 4px solid var(--brand);
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.article-prose h2:first-child {
  margin-top: 0;
}

.article-prose p,
.article-prose li {
  color: var(--ink);
  font-size: var(--text-article);
  line-height: 1.72;
}

.article-prose ul {
  margin: 0 0 1.1rem;
}

.article-source {
  max-width: 52rem;
  margin: 1.6rem 0 0;
  color: var(--ink-faint);
  font-size: 14px;
}

.article-back {
  display: inline-flex;
  margin-top: 1.6rem;
  color: var(--brand);
  font-weight: 700;
}

.article-shell .faq-section {
  display: block;
  max-width: 52rem;
  padding: 2.2rem 0 0;
}

.article-shell .faq-intro h2 {
  margin: 0 0 8px;
}

.stat-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 2.2rem;
}

.stat-strip > div {
  min-width: 0;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.stat-strip strong {
  display: block;
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.stat-strip span {
  display: block;
  margin-top: 8px;
  color: var(--ink-soft);
  font-size: 14px;
}

.catalog-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 1.1rem;
}

.catalog-toolbar input,
.catalog-toolbar select {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  padding: 0 12px;
}

.catalog-toolbar input {
  flex: 1 1 220px;
}

.content-page .results-bar {
  margin-top: 0;
}

.content-page .games-grid,
.article-shell .games-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.content-page .pager {
  margin-top: 1.8rem;
}

.studio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.studio-lead {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.studio-lead:hover {
  border-color: #8bbfc1;
  box-shadow: var(--shadow-card);
}

.studio-lead a {
  display: grid;
  gap: 10px;
  min-height: 100%;
  padding: 20px 22px;
}

.studio-lead__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.studio-lead__head .provider-logo,
.studio-lead__head .provider-logo--fallback {
  max-width: 70px;
  height: 21px;
  object-fit: contain;
}

.studio-lead__count {
  display: block;
  margin: -4px 0 2px;
  color: var(--ink-faint);
  font-size: 13px;
  font-weight: 600;
}

.studio-lead h3 {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
}

.studio-lead:hover h3 {
  color: var(--brand);
}

.studio-lead p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.5;
}

.studio-lead ul {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  color: var(--ink-faint);
  font-size: 14px;
}

.studio-lead li + li {
  margin-top: 4px;
}

.studio-lead__cta {
  margin-top: 6px;
  color: var(--brand);
  font-weight: 700;
}

.studio-list {
  display: grid;
  gap: 10px;
}

.studio-row {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  min-height: 96px;
  padding: 14px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.studio-row:hover {
  border-color: #8bbfc1;
}

.studio-row .provider-logo,
.studio-row .provider-logo--fallback {
  max-width: none;
  width: 176px;
  height: 52px;
  object-fit: contain;
}

.studio-row h3 {
  margin: 0;
  font-size: 17px;
}

.studio-row:hover h3 {
  color: var(--brand);
}

.studio-row__count,
.studio-row__cta {
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.studio-row__count {
  color: var(--muted);
}

.studio-row__count {
  color: var(--ink-faint);
}

.studio-row__cta {
  color: var(--brand);
}

.detail-page .prose h2 {
  padding-left: 14px;
  border-left: 4px solid var(--brand);
}

.detail-page .faq-section {
  display: block;
  padding-top: 2rem;
}

.detail-page .games-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-page .games-grid .game-image {
  height: 200px;
}

.article-shell .provider-hero-mark {
  border: 1px solid var(--line);
}

@media (max-width: 1100px) {
  .content-lead,
  .content-lead--media {
    grid-template-columns: 1fr;
  }

  .content-lead--media .content-lead__copy {
    padding: 22px 22px 24px;
  }

  .content-lead__media {
    min-height: 200px;
  }

  .listing-mark--lg {
    width: 72px;
    height: 72px;
    font-size: 24px;
  }

  .content-page .games-grid,
  .article-shell .games-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .casino-lead-grid {
    grid-template-columns: 1fr;
  }

  .listing-grid,
  .how-grid,
  .studio-grid,
  .stat-strip {
    grid-template-columns: 1fr 1fr;
  }

  .article-shell > .wrap > h1,
  .article-head h1 {
    max-width: none;
  }

  .studio-row {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .studio-row .provider-logo {
    width: 96px;
    height: 28px;
  }

  .studio-row__count,
  .studio-row__cta {
    grid-column: 2;
  }
}

@media (max-width: 620px) {
  .content-lead {
    padding: 20px 18px;
  }

  .listing-grid,
  .how-grid,
  .studio-grid,
  .stat-strip {
    grid-template-columns: 1fr;
  }

  .news-listing__media {
    height: 180px;
  }

  .catalog-banner {
    padding: 22px 18px;
  }

  .content-page .games-grid,
  .article-shell .games-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .detail-page .games-grid {
    grid-template-columns: 1fr;
  }

  .detail-page .games-grid .game-image {
    height: 180px;
  }
}

/* ---------- 指南卡片带图（Ocean 扩展） ---------- */
.listing-card--media {
  display: block;
  padding: 0;
  overflow: hidden;
}
.listing-card--media a {
  display: block;
  height: 100%;
}
.listing-card__media {
  position: relative;
  height: 148px;
  overflow: hidden;
  background: #dce7ea;
}
.listing-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.22s ease;
}
.listing-card--media:hover .listing-card__media img {
  transform: scale(1.03);
}
.listing-card__media--ph {
  display: grid;
  place-items: center;
}
.listing-card__media--ph .listing-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #126774;
  color: #fff;
  font: 800 18px/1 Manrope, sans-serif;
}
.listing-card__body {
  padding: 14px 16px 16px;
}
.listing-card__kicker {
  display: block;
  margin-bottom: 6px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.listing-card--media h3 {
  margin: 0 0 6px;
  font: 700 17px/1.3 Manrope, sans-serif;
  letter-spacing: -0.1px;
}
.listing-card--media p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}


/* ===== provider-hub ===== */
.provider-hero { display:flex; gap:20px; align-items:flex-start; margin:12px 0 20px; }
.provider-hero-mark { flex:0 0 auto; }
.provider-hero-mark img { width:120px; height:64px; object-fit:contain; }
.provider-hero-body { min-width:0; }
.provider-hero-body h1 { margin:2px 0 6px; font-size:26px; }
.provider-hero .article-kicker { margin:0; }
.provider-meta { display:flex; flex-wrap:wrap; gap:6px 14px; margin:6px 0 0; color:#5b6b7c; font-size:13px; }
.provider-meta span::before { content:"· "; }
.provider-meta span:first-child::before { content:""; }

.hub-nav { display:flex; gap:6px; overflow-x:auto; border-bottom:2px solid #e3e8ef; margin:0 0 22px; }
.hub-tab { padding:10px 14px; white-space:nowrap; color:#5b6b7c; font-weight:600; border-bottom:2px solid transparent; margin-bottom:-2px; }
.hub-tab:hover { color:var(--brand); }
.hub-tab.is-active { color:var(--brand); border-bottom-color:var(--brand); }
.hub-tab__n { margin-left:5px; font-size:12px; background:#eef2f7; color:#43505e; border-radius:9px; padding:1px 7px; }

.listing-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.listing-more { white-space:nowrap; font-weight:600; }

.hub-filters { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 16px; }
.hub-filters input[type="search"] { flex:1 1 220px; padding:8px 12px; border:1px solid #e3e8ef; border-radius:6px; }
.hub-filters select { padding:8px 10px; border:1px solid #e3e8ef; border-radius:6px; }

.casino-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.casino-card { border:1px solid #e3e8ef; border-radius:10px; padding:16px; background:#fff; display:flex; flex-direction:column; gap:8px; }
.casino-card__top { display:flex; gap:12px; align-items:center; }
.casino-logo { width:64px; height:40px; display:flex; align-items:center; justify-content:center; }
.casino-logo img { max-width:100%; max-height:100%; object-fit:contain; }
.casino-logo--ph { background:#eef2f7; border-radius:8px; font-weight:800; color:#43505e; font-size:18px; }
.casino-card__name { margin:0; font-size:17px; }
.own-tag { display:inline-block; margin-top:3px; font-size:12px; background:#eaf4ee; color:#1c6b3c; border-radius:8px; padding:2px 8px; }
.casino-card__bonus { margin:0; font-weight:700; font-size:15px; }
.casino-card__note { margin:0; font-size:13px; color:#5b6b7c; }
.casino-card__feat { list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
.casino-card__feat li { font-size:12px; background:#f4f7fa; border-radius:8px; padding:3px 9px; color:#43505e; }
.casino-card__cta { margin-top:auto; display:flex; gap:10px; padding-top:6px; }

.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.news-card { border:1px solid #e3e8ef; border-radius:10px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.news-card__img { display:block; aspect-ratio:16/9; background:#eef2f7; }
.news-card__img img { width:100%; height:100%; object-fit:cover; display:block; }
.news-card__ph { display:flex; align-items:center; justify-content:center; height:100%; color:#8594a4; }
.news-card__body { padding:12px 14px; display:flex; flex-direction:column; gap:6px; }
.news-card__body time { font-size:12px; color:#5b6b7c; }
.news-card__body h3 { margin:0; font-size:15px; line-height:1.35; }
.news-card__body p { margin:0; font-size:13px; color:#43505e; }

@media (max-width: 720px) {
  .casino-grid { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:1fr; }
  .provider-hero { flex-direction:column; }
}
/* ===== bonus page ===== */
.bonus-card { border:1px solid #e3e8ef; border-radius:12px; padding:20px; background:#fff; display:flex; flex-direction:column; gap:10px; }
.bonus-card--featured { background:#12203a; border-color:#12203a; color:#fff; }
.bonus-card--featured .bonus-card__headline { color:#7ee0a3; }
.bonus-card--featured .own-tag { background:rgba(126,224,163,.15); color:#7ee0a3; }
.bonus-card__top { display:flex; gap:14px; align-items:center; }
.bonus-card__brand { width:110px; height:44px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:8px; padding:6px 10px; }
.bonus-card__brand img { max-width:100%; max-height:100%; object-fit:contain; }
.bonus-card__brandph { font-weight:800; color:#12203a; }
.bonus-card__id h2 { margin:0; font-size:20px; }
.bonus-card__name { margin:0; font-size:18px; }
.bonus-card__headline { margin:0; font-size:19px; font-weight:800; }
.bonus-card__summary { margin:0; font-size:14px; color:#43505e; }
.bonus-card--featured .bonus-card__summary { color:#c8d2e2; }
.bonus-card__feat { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; }
.bonus-card__feat li { font-size:13px; background:#f4f7fa; border-radius:8px; padding:4px 10px; color:#43505e; }
.bonus-card--featured .bonus-card__feat li { background:rgba(255,255,255,.12); color:#e6ecf5; }
.bonus-card__cta { display:flex; gap:10px; margin-top:2px; }
.bonus-card__note { margin:0; font-size:12.5px; color:#5b6b7c; line-height:1.55; }
.bonus-card--featured .bonus-card__note { color:#aebad0; }
.bonus-card--featured .bonus-card__note a { color:#7ee0a3; }
.bonus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; }
.extra-promo { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.extra-promo li { font-size:14px; }
.extra-promo a { display:block; border:1px solid #e3e8ef; border-radius:8px; padding:10px 14px; }
.lead-sm { color:#5b6b7c; margin:0 0 12px; }
.faq-plain { display:flex; flex-direction:column; gap:14px; }
.faq-plain h3 { margin:0 0 4px; font-size:16px; }
.faq-plain p { margin:0; color:#43505e; }
.bonus-footer-note { font-size:12.5px; color:#5b6b7c; margin:18px 0 0; }
@media (max-width: 900px) { .bonus-grid { grid-template-columns:1fr; } }
/* ===== logo 框放大（用户反馈框太小） ===== */
.provider-hero-mark img { width:220px; height:72px; }
.studio-lead__head .provider-logo,
.studio-lead__head .provider-logo--fallback { max-width:120px; height:36px; }
.studio-row .provider-logo,
.studio-row .provider-logo--fallback { width:220px; height:64px; }
.provider-grid img,
.provider-grid .provider-logo { height:34px; }
@media (max-width: 720px) {
  .studio-row .provider-logo,
  .studio-row .provider-logo--fallback { width:130px; height:38px; }
}
/* ===== hub 文章列宽（与游戏/赌场区块对齐，消除单边空白） ===== */
.provider-hub .article-prose { max-width: none; }

/* ===== logo 框放大（用户反馈框太小） ===== */
.provider-hero-mark img { width:220px; height:72px; }
.studio-lead__head .provider-logo,
.studio-lead__head .provider-logo--fallback { max-width:120px; height:36px; }
.studio-row .provider-logo,
.studio-row .provider-logo--fallback { width:220px; height:64px; }
.provider-grid img,
.provider-grid .provider-logo { height:34px; }
@media (max-width: 720px) {
  .studio-row .provider-logo,
  .studio-row .provider-logo--fallback { width:130px; height:38px; }
}
/* ===== logo 尺寸统一：目录页(推荐卡+列表卡) 与首页厂商条一致 ===== */
.studio-lead__head .provider-logo,
.studio-lead__head .provider-logo--fallback,
.studio-row .provider-logo,
.studio-row .provider-logo--fallback,
.provider-grid img,
.provider-grid .provider-logo {
  width: auto;
  max-width: 200px;
  height: 40px;
  object-fit: contain;
}
@media (max-width: 720px) {
  .studio-row .provider-logo,
  .studio-row .provider-logo--fallback { max-width: 130px; height: 34px; }
}
/* ===== 厂商头部通栏 + 大 logo ===== */
.provider-hero {
  display: block;
  margin: 14px 0 20px;
  padding: 20px 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #f3f7f8;
}
.provider-hero-inner { display: flex; gap: 28px; align-items: center; }
.provider-hero-mark img { width: 300px; height: 96px; }
@media (max-width: 720px) {
  .provider-hero-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .provider-hero-mark img { width: 220px; height: 70px; }
}
/* ===== hub hero 修复（覆盖 fix6 的通栏 hack）：左 logo 右介绍两栏、无溢出、无滚动条 ===== */
.provider-hero { display:block; width:auto; margin:14px 0 20px; padding:0; background:none; }
.provider-hero-inner { display:flex; gap:28px; align-items:center; }
.provider-hero-mark { flex:0 0 280px; height:110px; display:flex; align-items:center; justify-content:center; }
.provider-hero-mark img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.provider-hero-body { flex:1 1 auto; min-width:0; }
.provider-hero .article-standfirst { max-width:none; margin-bottom:0; }
/* 单张赌场卡占满整行（有关联数据不足时不出现空列） */
.casino-grid > .casino-card:first-child:last-child { grid-column:1 / -1; }
@media (max-width: 720px) {
  .provider-hero-inner { flex-direction:column; align-items:flex-start; gap:12px; }
  .provider-hero-mark { flex:0 0 auto; width:100%; height:auto; justify-content:flex-start; }
  .provider-hero-mark img { max-height:80px; }
}
/* ===== hero 平分：logo 区与介绍区各占 50% ===== */
.provider-hero-inner { gap:36px; }
.provider-hero-mark { flex:1 1 50%; height:auto; min-height:150px; display:flex; align-items:center; justify-content:center; }
.provider-hero-mark img { width:auto; height:auto; max-width:100%; max-height:160px; object-fit:contain; }
.provider-hero-body { flex:1 1 50%; }
@media (max-width: 720px) {
  .provider-hero-mark { min-height:0; justify-content:flex-start; }
}
/* ===== hero 终版：40/60 两栏 + L 形衔接线 + 大 logo ===== */
.provider-hero-inner { display:flex; align-items:stretch; gap:0; min-height:220px; }
.provider-hero-mark { flex:0 0 40%; min-width:0; display:flex; align-items:center; justify-content:center; padding:16px 10px; }
.article-shell .provider-hero-mark { border:none; }
.provider-hero-mark img { width:260px; height:auto; max-width:92%; max-height:110px; object-fit:contain; }
.provider-hero-body {
  flex:1 1 60%; min-width:0;
  display:flex; flex-direction:column; justify-content:center;
  border-left:2px solid var(--brand);
  border-bottom:2px solid var(--brand);
  border-bottom-left-radius:20px;
  padding:14px 28px 24px 30px;
  background:linear-gradient(90deg, rgba(18,103,116,.06), rgba(18,103,116,0) 65%);
}
.provider-hero-body h1 { font-size:29px; }
.provider-hero .article-standfirst { font-size:18px; line-height:1.65; margin-bottom:0; }
@media (max-width: 720px) {
  .provider-hero-inner { flex-direction:column; min-height:0; }
  .provider-hero-mark { flex:0 0 auto; width:100%; justify-content:flex-start; padding:10px 4px; }
  .provider-hero-mark img { width:220px; max-height:90px; }
  .provider-hero-body { border-left:none; border-bottom:2px solid var(--brand); border-bottom-left-radius:0; border-radius:0; padding:12px 4px 20px; background:none; }
}

/* ===== 赌场卡片终版：上部左品牌区+右内容，底部操作区 ===== */
.casino-card { padding:24px; border:1px solid #dfe6ee; border-radius:12px; background:#fff; display:flex; flex-direction:column; gap:0; }
.casino-grid { gap:22px; }
.casino-card__main { display:flex; gap:24px; flex:1 1 auto; min-width:0; }
.casino-card__brand { flex:0 0 180px; height:110px; display:flex; align-items:center; justify-content:center; background:#f4f7fa; border-radius:10px; padding:10px; overflow:hidden; }
.casino-card__brand--dark { background:#12203a; }
.casino-card__brand img { width:auto; height:auto; max-width:160px; max-height:90px; object-fit:contain; }
.casino-card__brandph { font-weight:800; font-size:17px; color:#43505e; text-align:center; }
.casino-card__brand--dark .casino-card__brandph { color:#fff; }
.casino-card__content { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.casino-card__name { margin:0; font-size:21px; font-weight:800; }
.casino-card__summary { margin:0; font-size:14px; color:#43505e; line-height:1.55; }
.casino-card__bonus { margin:0; font-size:15px; font-weight:700; }
.casino-card__note { margin:0; font-size:14px; color:#5b6b7c; line-height:1.5; }
.casino-card__feat { margin:2px 0 0; }
.casino-card__bar { margin-top:18px; padding-top:16px; border-top:1px solid #e6ebf1; display:flex; align-items:center; gap:12px; }
.casino-card__resena { margin-right:auto; font-weight:600; font-size:15px; }
.casino-card__visit { display:inline-flex; align-items:center; justify-content:center; height:42px; padding:0 24px; border-radius:8px; background:#126774; color:#fff; font-weight:700; font-size:15px; }
.casino-card__visit:hover { background:#0d525e; color:#fff; }
@media (max-width: 720px) {
  .casino-card__main { flex-direction:column; }
  .casino-card__brand { flex:0 0 auto; width:100%; height:90px; }
  .casino-card__bar { flex-wrap:wrap; }
}
/* ===== logo 可见图案放大到 300px + 底部基线对齐 + 标签栏桌面不滚动 ===== */
.provider-hero-mark img { width:300px; max-width:94%; max-height:120px; }
.provider-hero-mark { border-bottom:2px solid transparent; }
.hub-nav { flex-wrap:wrap; overflow-x:visible; }
@media (max-width: 720px) {
  .hub-nav { flex-wrap:nowrap; overflow-x:auto; }
  .provider-hero-mark img { width:240px; }
}
/* ===== hero 终版2：统一浅青绿底 + 圆角 + 轻量短L分隔（1px #B8D4D8） ===== */
.provider-hero { background:#EEF6F7; border-radius:14px; }
.provider-hero-inner { min-height:0; padding:28px 32px; display:flex; align-items:center; gap:0; }
.provider-hero-mark { flex:0 0 40%; min-width:0; display:flex; align-items:center; justify-content:center; padding:0; background:transparent; border:none; border-bottom:none; position:relative; }
.provider-hero-mark::after { content:""; position:absolute; right:0; top:24px; bottom:24px; width:1px; background:#B8D4D8; }
.provider-hero-mark::before { content:""; position:absolute; right:0; bottom:24px; width:32px; height:24px; border-left:1px solid #B8D4D8; border-bottom:1px solid #B8D4D8; border-bottom-left-radius:12px; }
.provider-hero-mark img { width:300px; max-width:92%; max-height:120px; }
.provider-hero-body { flex:1 1 60%; min-width:0; display:flex; flex-direction:column; justify-content:center; padding:0 0 0 32px; background:transparent; border:none; }
.provider-hero-body h1 { font-size:29px; }
.provider-hero .article-standfirst { font-size:18px; line-height:1.65; }
@media (max-width: 720px) {
  .provider-hero-inner { flex-direction:column; align-items:flex-start; padding:20px 18px; }
  .provider-hero-mark { flex:0 0 auto; width:100%; justify-content:flex-start; }
  .provider-hero-mark::after, .provider-hero-mark::before { display:none; }
  .provider-hero-body { padding:14px 0 0; }
  .provider-hero-mark img { width:240px; }
}
/* ===== hero 分隔线终版：单条 1px 竖线，110px 高，垂直居中（去掉 J 形钩） ===== */
.provider-hero-mark::after { top:50%; bottom:auto; transform:translateY(-50%); height:110px; right:-16px; background:#B8D4D8; }
.provider-hero-mark::before { display:none; }
@media (max-width: 720px) {
  .provider-hero-mark::after { display:none; }
}
/* ===== 赌场卡片字体规格（仅卡片内部） ===== */
.casino-card__name { font-family:"Manrope",sans-serif; font-size:24px; font-weight:700; color:#16283c; }
.casino-card__summary { font-family:"Inter",sans-serif; font-size:18px; font-weight:400; line-height:1.65; color:#33475b; }
.casino-card__bonus { font-family:"Inter",sans-serif; font-size:18px; font-weight:600; color:#16283c; }
.casino-card__note { font-family:"Inter",sans-serif; font-size:16px; font-weight:400; line-height:1.6; color:#4a5a6a; }
.casino-card__note a { font-family:"Inter",sans-serif; font-size:16px; }
.casino-card__feat li { font-family:"Inter",sans-serif; font-size:14px; color:#4a5a6a; }
.casino-card__visit { font-family:"Inter",sans-serif; font-size:16px; font-weight:600; }
.casino-card__resena { font-family:"Inter",sans-serif; font-size:16px; font-weight:600; }
.casino-card__bar { margin-top:auto; }
.casino-card__main { padding-bottom:18px; }
/* ===== 赌场推荐区：一行一家横向紧凑列表 ===== */
.casino-grid { grid-template-columns:1fr; gap:16px; }
.casino-card { display:grid; grid-template-columns:180px minmax(0,1fr) 150px; gap:24px; align-items:center; padding:20px 24px; }
.casino-card__brand { width:180px; height:100px; flex:none; }
.casino-card__content { gap:6px; }
.casino-card__side { display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:8px; }
.casino-card__resena { font-size:14px; font-weight:600; }
@media (max-width: 980px) {
  .casino-card { grid-template-columns:180px minmax(0,1fr); }
  .casino-card__side { grid-column:2; flex-direction:row; align-items:center; justify-content:flex-start; gap:14px; }
}
@media (max-width: 720px) {
  .casino-card { grid-template-columns:1fr; }
  .casino-card__brand { width:100%; }
  .casino-card__side { grid-column:auto; }
}
/* ===== 赌场卡片字号微调 + 按钮规格修复 ===== */
.casino-card__name { font-size:22px; font-weight:700; }
.casino-card__summary { font-size:16px; line-height:1.6; }
.casino-card__bonus { font-size:16px; font-weight:600; }
.casino-card__note { font-size:15px; line-height:1.6; }
.casino-card__note a { font-size:15px; }
.casino-card__feat li { font-size:13px; }
.own-tag { font-size:13px; }
.casino-card__visit {
  display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
  width:150px; min-height:44px; height:auto; padding:12px 16px;
  font-size:15px; font-weight:600; line-height:20px; white-space:nowrap; flex-shrink:0;
}
/* ===== /casino/ 紧凑卡 logo ===== */
.bonus-card__brand--small { width:110px; height:44px; align-self:flex-start; }
/* ===== 目录页 img 直接命中：统一 40px 高（之前的规则只命中 fallback span，漏了裸 img） ===== */
.studio-lead img, .studio-lead__head img, .studio-row img {
  width:auto; height:40px; max-width:320px; object-fit:contain; display:block;
}

/* ===== 目录页列表行 logo 限宽（防超宽压字） ===== */
.studio-row img { max-width: 200px; }

/* ===== 赌场列表统一行卡 + 详情页（2026-09-14） ===== */
/* srp-casino-card-unify-20260914：厂商 Casinos 子页里「已核实关联」的卡片列表后面紧跟着
   「Casinos de nuestra selección」标题，默认外边距不够，两块会贴在一起、看起来像同一块。 */
.casino-rows { display: grid; gap: 14px; margin: 0 0 26px; }
.casino-row {
  display: grid; grid-template-columns: 184px minmax(0, 1fr) auto;
  gap: 20px; align-items: center;
  padding: 16px 20px;
  border: 1px solid var(--line); border-radius: 14px; background: #fff;
}
.casino-row__brand {
  width: 160px; height: 90px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden;
}
.casino-row__brand img { max-width: 140px; max-height: 72px; width: auto; height: auto; object-fit: contain; display: block; }
.casino-row__brandph { font-weight: 800; color: var(--ink); }
.casino-row__name { margin: 0 0 2px; font-size: 22px; font-weight: 800; line-height: 1.2; }
.casino-row__name a { color: var(--ink); text-decoration: none; }
.casino-row__name a:hover { color: var(--brand); }
.casino-row__summary { margin: 6px 0 0; font-size: 15px; line-height: 1.55; color: var(--ink-soft); }
.casino-row__bonus { margin: 6px 0 0; font-size: 15px; color: var(--ink); }
/* srp-casino-card-unify-20260914：行卡吸收了原网格卡（.casino-card）的两项信息——
   红利补充说明 + 条款链接、支付方式/游戏类型标签，所以补上这两组样式。
   原先只有 .casino-card__note / .casino-card__feat 有规则，行卡输出这两个类会全裸。
   暗底（本站品牌卡）单独一套浅色文字，保证对比度。 */
.casino-row__note { margin: 6px 0 0; font-size: 14px; line-height: 1.55; color: var(--ink-soft); }
.casino-row__note a { color: var(--brand); font-weight: 600; }
.casino-row__feat { margin: 8px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.casino-row__feat li {
  padding: 3px 10px; border: 1px solid var(--line); border-radius: 999px;
  font-size: 12.5px; line-height: 1.4; color: var(--ink-soft); background: #f7f9fb;
}
.casino-row--own .casino-row__note { color: rgba(255,255,255,.78); }
.casino-row--own .casino-row__note a { color: #bfe6ea; }
.casino-row--own .casino-row__feat li {
  border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); color: rgba(255,255,255,.88);
}
.casino-row__side { display: flex; flex-direction: column; gap: 8px; min-width: 150px; }
.casino-row__side .btn { width: 150px; text-align: center; box-sizing: border-box; }
.casino-row--own { background: var(--header); border-color: var(--header); }
.casino-row--own .casino-row__name a { color: #ffffff; }
.casino-row--own .casino-row__name a:hover { color: #bfe6ea; }
.casino-row--own .casino-row__summary { color: rgba(255,255,255,.82); }
.casino-row--own .casino-row__bonus { color: #ffffff; }
.casino-row--own .casino-row__brand { background: #fff; }
/* ===== 通用赌场推荐块（2026-09-14）：标题 + 简介 + 横向赌场卡 =====
   同一份标记用在 /casino/、厂商赌场子页和游戏详情页三处，样式只有这一套。 */
.section-intro {
  margin: 0 0 1.2rem;
  font-size: 15.5px; line-height: 1.65; color: var(--ink-soft);
  max-width: 82ch;
}
/* 标题紧邻简介时收紧一点，避免 h2 默认的 1.1rem 下边距把两者拉太开 */
.listing-block > h2 + .section-intro,
.listing-block > h1 + .section-intro { margin-top: -0.45rem; }
.prose-list { margin: 10px 0 0; padding-left: 20px; }
.prose-list li { margin: 6px 0; }
.casino-detail__hero {
  display: grid; grid-template-columns: 184px minmax(0, 1fr) auto;
  gap: 22px; align-items: center;
  padding: 22px; margin: 18px 0 20px;
  border: 1px solid var(--line); border-radius: 16px; background: #fff;
}
.casino-detail__hero--dark { background: var(--header); border-color: var(--header); }
.casino-detail__brand {
  width: 160px; height: 90px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden;
}
.casino-detail__brand img { max-width: 140px; max-height: 72px; width: auto; height: auto; object-fit: contain; }
.casino-detail__brandph { font-weight: 800; color: var(--ink); }
.casino-detail__hero h1 { margin: 2px 0 4px; font-size: 30px; line-height: 1.15; color: var(--ink); }
.casino-detail__hero--dark h1 { color: #ffffff; }
.casino-detail__hero--dark .article-kicker { color: #9fd4d8; }
.casino-detail__summary { margin: 8px 0 0; font-size: 16px; line-height: 1.6; color: var(--ink-soft); }
.casino-detail__hero--dark .casino-detail__summary { color: rgba(255,255,255,.85); }
.casino-detail__cta { display: flex; flex-direction: column; gap: 8px; min-width: 160px; }
.casino-detail__ficha { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.casino-detail__cell { border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 14px 16px; }
.casino-detail__cell h2 { margin: 0 0 8px; font-size: 13px; font-weight: 800; color: var(--ink-faint); letter-spacing: .02em; text-transform: uppercase; }
.casino-detail__headline { margin: 0; font-size: 16px; font-weight: 700; color: var(--ink); }
.casino-detail__note { margin: 6px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-faint); }
.casino-detail__note a { color: var(--brand); }
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.chips li { padding: 4px 10px; border-radius: 999px; background: var(--accent-soft); color: var(--ink); font-size: 13.5px; font-weight: 700; }
@media (max-width: 900px) {
  .casino-row { grid-template-columns: 1fr; gap: 12px; }
  .casino-row__brand { width: 100%; height: 76px; }
  .casino-row__side { flex-direction: row; flex-wrap: wrap; }
  .casino-row__side .btn { width: auto; min-width: 140px; flex: 1; }
  .casino-detail__hero { grid-template-columns: 1fr; }
  .casino-detail__brand { width: 100%; height: 76px; }
  .casino-detail__ficha { grid-template-columns: 1fr; }
  .casino-detail__cta { flex-direction: row; flex-wrap: wrap; }
}

/* ===== 赌场行卡：超宽字标 logo 加宽（RushBet 486×61） ===== */
.casino-row--widelogo { grid-template-columns: 284px minmax(0, 1fr) auto; }
.casino-row--widelogo .casino-row__brand { width: 260px; }
.casino-row--widelogo .casino-row__brand img { max-width: 236px; }
.casino-detail__hero--widelogo { grid-template-columns: 284px minmax(0, 1fr) auto; }
.casino-detail__hero--widelogo .casino-detail__brand { width: 260px; }
.casino-detail__hero--widelogo .casino-detail__brand img { max-width: 236px; }
@media (max-width: 900px) {
  .casino-row--widelogo { grid-template-columns: 1fr; }
  .casino-row--widelogo .casino-row__brand { width: 100%; }
  .casino-detail__hero--widelogo { grid-template-columns: 1fr; }
  .casino-detail__hero--widelogo .casino-detail__brand { width: 100%; }
}

/* ===== 赌场详情页统一布局：三框+居中正文+按钮（2026-09-14-b） ===== */
.casino-detail__ficha { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.casino-detail__cell {
  display: flex; flex-direction: column;
  border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 16px 18px;
}
.casino-detail__cell h2 { margin: 0 0 8px; font-size: 13px; font-weight: 800; color: var(--ink-faint); letter-spacing: .02em; text-transform: uppercase; }
.casino-detail__placeholder { margin: 0; color: var(--ink-faint); font-size: 14.5px; font-style: italic; }
/* 正文 960px 居中单栏（文字保持左对齐；无侧栏） */
.casino-detail .article-prose { max-width: 960px; margin-left: auto; margin-right: auto; }
.casino-detail .listing-block { max-width: 960px; margin-left: auto; margin-right: auto; }
.casino-detail .article-back { display: block; max-width: 960px; margin: 1.4rem auto 0; }
/* 按钮：统一尺寸 + 白底上下文 ghost 深蓝描边（默认 ghost 是白字，只适合深色背景） */
.casino-detail__cta .btn { width: 170px; min-height: 44px; justify-content: center; box-sizing: border-box; text-align: center; }
.casino-row:not(.casino-row--own) .btn--ghost,
.casino-detail__hero:not(.casino-detail__hero--dark) .btn--ghost,
.provider-hub .btn--ghost {
  color: var(--ink); border-color: #c3d2d9; background: #fff;
}
.casino-row:not(.casino-row--own) .btn--ghost:hover,
.casino-detail__hero:not(.casino-detail__hero--dark) .btn--ghost:hover,
.provider-hub .btn--ghost:hover {
  color: var(--brand); border-color: var(--brand); background: #fff;
}
.casino-detail__hero--dark .btn--ghost { color: #ffffff; border-color: rgba(255, 255, 255, .55); }
.casino-detail__hero--dark .btn--ghost:hover { border-color: var(--accent); background: rgba(255, 255, 255, .08); }
.btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 900px) {
  .casino-detail__ficha { grid-template-columns: 1fr; }
  .casino-detail .article-prose,
  .casino-detail .listing-block,
  .casino-detail .article-back { max-width: none; margin-left: 0; margin-right: 0; }
  .casino-detail__cta .btn { width: auto; flex: 1; min-width: 140px; }
}

/* ===== Logo 统一 160×90 + 正文铺满（2026-09-14-c） ===== */
/* 撤销 RushBet 加宽变体：所有赌场同一 Logo 容器 160×90 */
.casino-row--widelogo { grid-template-columns: 184px minmax(0, 1fr) auto; }
.casino-row--widelogo .casino-row__brand { width: 160px; }
.casino-row--widelogo .casino-row__brand img { max-width: 140px; }
.casino-detail__hero--widelogo { grid-template-columns: 184px minmax(0, 1fr) auto; }
.casino-detail__hero--widelogo .casino-detail__brand { width: 160px; }
.casino-detail__hero--widelogo .casino-detail__brand img { max-width: 140px; }
/* 正文铺满主容器：与顶部卡片和三框同宽（撤销 960px 居中与字符宽度限制） */
.casino-detail .article-prose { max-width: none; margin-left: 0; margin-right: 0; }
.casino-detail .article-prose p,
.casino-detail .article-prose li { max-width: none; }
.casino-detail .listing-block { max-width: none; margin-left: 0; margin-right: 0; }
.casino-detail .article-back { max-width: none; margin: 1.4rem 0 0; }

/* ===== Stadiobet 透明 logo：深色上下文无白板（2026-09-14-d） ===== */
.casino-row--own .casino-row__brand { background: transparent; border: none; }
.casino-detail__hero--dark .casino-detail__brand { background: transparent; border: none; }

/* ===== 资讯双分类 Tab + 卡片分类标签（2026-09-14） ===== */
.news-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.news-tab { padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-weight: 700; font-size: 14px; text-decoration: none; }
.news-tab:hover { border-color: var(--brand); color: var(--brand); }
.news-tab.is-active { background: var(--brand); border-color: var(--brand); color: #fff; }
.news-tab.is-active:hover { color: #fff; }
.news-listing { position: relative; }
.news-listing__cat { position: absolute; top: 10px; left: 10px; z-index: 2; background: rgba(7, 49, 73, .88); color: #fff; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.news-listing__cat--inline { position: static; display: inline-block; margin: 0 0 2px; }


/* ===== srp-home-h1-20260914：首页唯一可见 H1（紧凑排版，沿用 quick-find 视觉；非整屏横幅） ===== */
.quick-find-intro h1 { margin: 0 0 10px; font: 800 28px/1.22 Manrope, sans-serif; letter-spacing: -.4px; color: var(--ink); }
.home-hero .hero-title { display: block; margin: 14px 0 12px; font: 800 clamp(42px, 3.8vw, 52px)/1.08 Manrope, sans-serif; letter-spacing: -1.6px; color: #fff; }
@media (max-width: 900px) { .home-hero .hero-title { max-width: 520px; } }
@media (max-width: 620px) {
    .quick-find-intro h1 { font-size: 22px; }
    .home-hero .hero-title { position: relative; z-index: 3; max-width: 310px; margin-top: 12px; font-size: 34px; line-height: 1.08; }
}

/* ===== srp-provider-split-20260914：厂商页标题在非「Información」标签下退为同级视觉文本 ===== */
.provider-hero-name { margin: 2px 0 6px; font-size: 26px; font-weight: 700; line-height: 1.2; }
.provider-hero-body h1.provider-hero-name { margin: 2px 0 6px; font-size: 26px; }

/* ===== srp-mecanicas-20260914：玩法页底部返回入口 ===== */
.listing-back { margin: 22px 0 0; }

/* ===== srp-pages-20260914：政策/介绍页的更新日期行（反映真实内容更新，非自动生成） ===== */
.article-updated { margin: 0 0 18px; font-size: 13px; letter-spacing: .2px; color: #5b7183; text-transform: none; }

/* ===== srp-newscat-20260914：资讯三分类切换的窄屏收紧 =====
   三个胶囊在 ≥360px 宽度下排成一行（默认 16px 内边距会让总宽超容器而折行）；
   ≤340px 仍允许换行，绝不横向溢出。 */
@media (max-width: 480px) {
    .news-tabs { gap: 6px; margin-bottom: 14px; }
    .news-tab { padding: 7px 12px; font-size: 13px; }
}
@media (max-width: 340px) {
    .news-tab { padding: 6px 10px; font-size: 12.5px; }
}

/* ===== srp-article-layout-20260914：指南 / 新闻详情页改成「左正文 + 右目录」 =====
   改前的问题：目录 .toc--inline 通栏横在正文上方，正文又被 .article-prose 限在 52rem，
   右侧留一大片空白；h1 还被 22ch 硬限宽，长标题折行过多。

   这里不新造一套布局，而是复用游戏详情页那一套（.detail-top-grid / .detail-sidebar /
   .toc.toc-fold，见 ocean.css 与 template/toc.php）：同样的栏宽、栏距、sticky 行为与
   手机折叠交互。--oc-aside-w / --oc-aside-gap 就是 .detail-top-grid 用的那两个数值，
   一处定义两处消费，避免哪天只改一边导致两种详情页宽度不一致。 */
:root {
    --oc-aside-w: 280px;
    --oc-aside-gap: 24px;
}

/* 标题 / 导语 / 封面按正文主列宽度排，左边缘与正文对齐；不再用 22ch / 62ch 硬限宽 */
.article-shell .article-head {
    max-width: calc(100% - var(--oc-aside-w) - var(--oc-aside-gap));
}

.article-shell .article-head h1,
.article-shell .article-head .article-standfirst,
.article-shell .article-head .article-figure {
    max-width: none;
}

.article-shell .article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--oc-aside-w);
    gap: var(--oc-aside-gap);
    align-items: start;
}

.article-shell .article-main {
    min-width: 0;
}

/* 列宽已经由网格决定，列内再套一层 52rem 等于白白窄掉一截（桌面约 1096px → 832px） */
.article-shell .article-layout .article-prose,
.article-shell .article-layout .article-source,
.article-shell .article-layout .faq-section {
    max-width: none;
}

/* 没有小标题的文章不摆两栏：否则右列空着、正文还被挤窄，正是这次要修的现象 */
.article-shell--flat .article-layout {
    grid-template-columns: minmax(0, 1fr);
}

.article-shell--flat .article-head {
    max-width: none;
}

/* 正文里的裸插图（不在 .article-figure 内的）：等比缩到列宽内，不裁切、不放大、不溢出 */
.article-prose > img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 900px) {
    /* 手机单列：目录是 .detail-sidebar 里的第一个子项，靠 order:-1 落到正文之前并折叠，
       右列宽度与栏距一并归零，不留侧栏空档 */
    .article-shell .article-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .article-shell .article-head {
        max-width: none;
    }
}
