/* WagerFlame Affiliate Manager v4.0 — Public CSS */

/* ── Variables ─────────────────────────────────────────────────────────────── */
:root {
  --wf-primary:    #f52537;
  --wf-secondary:  #ff9d00;
  --wf-dark:       #111827;
  --wf-gray:       #6b7280;
  --wf-light:      #f9fafb;
  --wf-border:     #e5e7eb;
  --wf-radius:     18px;
  --wf-shadow:     0 8px 30px rgba(0,0,0,.08);
  --wf-shadow-hover: 0 16px 40px rgba(245,37,55,.15);
}

/* ── Card Grid ─────────────────────────────────────────────────────────────── */
.wfam-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin: 24px 0;
}

/* Full-width list (casino/sportsbook) */
.wfam-card-list .wfam-card { max-width: 100%; }

/* ── Base Card ─────────────────────────────────────────────────────────────── */
.wfam-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--wf-border);
  border-radius: var(--wf-radius);
  padding: 22px;
  box-shadow: var(--wf-shadow);
  transition: transform .2s, box-shadow .2s;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.wfam-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--wf-shadow-hover);
}
.wfam-card--featured {
  border-color: var(--wf-secondary);
  border-width: 2px;
}

/* ── Rank Badge ────────────────────────────────────────────────────────────── */
.wfam-rank-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: linear-gradient(135deg, var(--wf-secondary), var(--wf-primary));
  color: #fff;
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

/* ── Inline Badges ─────────────────────────────────────────────────────────── */
.wfam-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
}
.wfam-badge--featured  { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.wfam-badge--sponsored { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.wfam-badge--crypto    { background: #fefce8; color: #713f12; border: 1px solid #fef08a; }
.wfam-badge--sport     { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.wfam-badge--game      { background: #f5f3ff; color: #5b21b6; border: 1px solid #ddd6fe; }

/* ── Card Top Row ──────────────────────────────────────────────────────────── */
.wfam-card-top {
  display: flex;
  gap: 14px;
  align-items: center;
}
.wfam-logo-wrap {
  flex-shrink: 0;
  width: 90px;
  height: 58px;
  border-radius: 12px;
  background: var(--wf-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.wfam-logo-img    { max-width: 100%; max-height: 100%; object-fit: contain; }
.wfam-placeholder { color: #fff; font-weight: 900; font-size: 16px; }
.wfam-card-info   { flex: 1; min-width: 0; }
.wfam-card-info h3 { margin: 0 0 6px; font-size: 18px; line-height: 1.2; }

/* ── Star Rating ───────────────────────────────────────────────────────────── */
.wfam-rating { display: flex; align-items: center; gap: 6px; }
.wfam-stars  { color: var(--wf-secondary); font-size: 16px; letter-spacing: 1px; }
.wfam-score  { font-weight: 700; color: var(--wf-gray); font-size: 13px; }

/* ── Bonus ─────────────────────────────────────────────────────────────────── */
.wfam-bonus {
  font-weight: 900;
  font-size: 17px;
  color: var(--wf-dark);
  line-height: 1.3;
}

/* ── Description ───────────────────────────────────────────────────────────── */
.wfam-desc { color: var(--wf-gray); font-size: 14px; margin: 0; line-height: 1.5; }

/* ── Mini Pros/Cons on card ────────────────────────────────────────────────── */
.wfam-mini-proscons {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wfam-pro, .wfam-con { font-size: 13px; }
.wfam-pro { color: #166534; }
.wfam-con { color: #991b1b; }

/* ── Sportsbook meta list ──────────────────────────────────────────────────── */
.wfam-sb-meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  color: var(--wf-gray);
}
.wfam-sb-meta li strong { color: var(--wf-dark); }

/* ── CTA Buttons ───────────────────────────────────────────────────────────── */
.wfam-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: auto;
}
.wfam-btn {
  display: inline-block;
  text-decoration: none;
  border-radius: 999px;
  padding: 10px 20px;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  transition: opacity .15s, transform .15s;
  border: none;
  cursor: pointer;
}
.wfam-btn:hover { opacity: .88; transform: translateY(-1px); }
.wfam-btn-primary  { background: linear-gradient(135deg, var(--wf-secondary), var(--wf-primary)); color: #fff; }
.wfam-btn-secondary{ background: var(--wf-light); color: var(--wf-dark); border: 1px solid var(--wf-border); }
.wfam-btn-lg  { padding: 14px 28px; font-size: 16px; }
.wfam-btn-sm  { padding: 7px 14px; font-size: 12px; }

/* ── Compliance / T&Cs ─────────────────────────────────────────────────────── */
.wfam-terms {
  display: block;
  color: var(--wf-gray);
  font-size: 11px;
  line-height: 1.4;
  margin-top: 4px;
}

/* ────────────────────────────────────────────────────────────────────────────
   Type-specific card overrides
   ────────────────────────────────────────────────────────────────────────── */

/* ── Slot card ─────────────────────────────────────────────────────────────── */
.wfam-card-slot {
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
}
.wfam-slot-image {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--wf-dark);
}
.wfam-slot-image img { width: 100%; height: 100%; object-fit: cover; }
.wfam-slot-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.wfam-slot-stat {
  background: var(--wf-light);
  border: 1px solid var(--wf-border);
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 12px;
}
.wfam-provider { color: var(--wf-gray); font-size: 13px; margin: 0; }

/* Volatility colour coding */
.wfam-vol--low    { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.wfam-vol--medium { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.wfam-vol--high   { background: #fef2f2; border-color: #fecaca; color: #991b1b; }

/* ── Tipster card ──────────────────────────────────────────────────────────── */
.wfam-card-tipster { border-left: 4px solid transparent; }
.wfam-result--won  { border-left-color: #16a34a; }
.wfam-result--lost { border-left-color: #dc2626; }
.wfam-result--void { border-left-color: var(--wf-gray); }
.wfam-tipster-header { display: flex; justify-content: space-between; align-items: center; }
.wfam-result-badge { font-size: 12px; font-weight: 700; }
.wfam-tip-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; }
.wfam-odds { background: var(--wf-dark); color: #fff; border-radius: 6px; padding: 2px 8px; font-weight: 800; font-size: 13px; }
.wfam-confidence { font-size: 14px; }
.wfam-event { font-size: 13px; color: var(--wf-gray); margin: 0; }
.wfam-date  { font-size: 12px; color: var(--wf-gray); margin: 0; }

/* ── Prediction Market card ────────────────────────────────────────────────── */
.wfam-operator, .wfam-category { font-size: 13px; color: var(--wf-gray); margin: 0; }

/* ── Guide / How To Play card ──────────────────────────────────────────────── */
.wfam-card-guide { flex-direction: row; gap: 16px; align-items: flex-start; }
.wfam-guide-image { flex-shrink: 0; width: 70px; height: 70px; border-radius: 12px; overflow: hidden; background: var(--wf-dark); }
.wfam-guide-image img { width: 100%; height: 100%; object-fit: cover; }
.wfam-guide-meta { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.wfam-difficulty { border-radius: 6px; padding: 2px 8px; font-size: 11px; font-weight: 700; }
.wfam-difficulty--beginner     { background: #f0fdf4; color: #166534; }
.wfam-difficulty--intermediate { background: #fffbeb; color: #92400e; }
.wfam-difficulty--advanced     { background: #fef2f2; color: #991b1b; }

/* ────────────────────────────────────────────────────────────────────────────
   Comparison Table
   ────────────────────────────────────────────────────────────────────────── */
.wfam-table-wrap { overflow-x: auto; margin: 24px 0; }
.wfam-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: var(--wf-radius);
  overflow: hidden;
  box-shadow: var(--wf-shadow);
}
.wfam-table th, .wfam-table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--wf-border);
  text-align: left;
  vertical-align: middle;
}
.wfam-table th { background: var(--wf-dark); color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; }
.wfam-table tr:last-child td { border-bottom: none; }
.wfam-table tr:hover td { background: var(--wf-light); }
.wfam-table-terms td { padding-top: 0; padding-bottom: 6px; border-bottom: 1px solid var(--wf-border); }
.wfam-table-terms small { color: var(--wf-gray); font-size: 11px; }

/* ────────────────────────────────────────────────────────────────────────────
   SEO Template Blocks
   ────────────────────────────────────────────────────────────────────────── */
.wfam-seo-template { margin-top: 32px; border-top: 2px solid var(--wf-border); padding-top: 28px; }

.wfam-toc {
  background: #fff7f0;
  border: 1px solid #fed7aa;
  border-radius: 14px;
  padding: 18px 22px;
  margin: 0 0 24px;
}
.wfam-toc strong { display: block; margin-bottom: 8px; font-size: 14px; }
.wfam-toc ul { margin: 0; padding-left: 18px; }
.wfam-toc li { margin: 5px 0; }
.wfam-toc a  { text-decoration: none; color: #9a3412; font-weight: 700; font-size: 14px; }
.wfam-toc a:hover { text-decoration: underline; }

.wfam-seo-section {
  background: #fff;
  border: 1px solid var(--wf-border);
  border-radius: var(--wf-radius);
  padding: 24px;
  margin: 20px 0;
  box-shadow: var(--wf-shadow);
}
.wfam-seo-section h2 { margin-top: 0; }

.wfam-pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wfam-pros-col, .wfam-cons-col { background: var(--wf-light); border-radius: 12px; padding: 16px; }
.wfam-pros-col h3, .wfam-cons-col h3 { margin-top: 0; font-size: 15px; }
.wfam-pros-col ul, .wfam-cons-col ul { margin: 0 0 0 18px; padding: 0; }
.wfam-pros-col li { color: #166534; margin: 4px 0; }
.wfam-cons-col li { color: #991b1b; margin: 4px 0; }

.wfam-detail-table { width: 100%; border-collapse: collapse; }
.wfam-detail-table th,
.wfam-detail-table td { padding: 12px 16px; border-bottom: 1px solid var(--wf-border); text-align: left; vertical-align: top; }
.wfam-detail-table th { width: 200px; background: var(--wf-light); font-weight: 700; font-size: 13px; }
.wfam-detail-table tr:last-child th,
.wfam-detail-table tr:last-child td { border-bottom: none; }

/* Score bar */
.wfam-score-bar-wrap { background: var(--wf-border); border-radius: 999px; height: 6px; width: 120px; display: inline-block; margin-right: 8px; vertical-align: middle; }
.wfam-score-bar { background: linear-gradient(90deg, var(--wf-secondary), var(--wf-primary)); height: 100%; border-radius: 999px; transition: width .4s; }

/* FAQ accordion */
.wfam-faq-list details { border: 1px solid var(--wf-border); border-radius: 12px; padding: 14px 18px; margin: 10px 0; background: #fff; }
.wfam-faq-list details[open] { border-color: var(--wf-secondary); }
.wfam-faq-list summary { cursor: pointer; font-weight: 800; font-size: 15px; list-style: none; }
.wfam-faq-list summary::-webkit-details-marker { display: none; }
.wfam-faq-list summary::before { content: '+ '; color: var(--wf-primary); }
.wfam-faq-list details[open] summary::before { content: '− '; }
.wfam-faq-list p { margin: 12px 0 0; color: var(--wf-gray); line-height: 1.6; }

/* Final CTA block */
.wfam-final-cta { background: linear-gradient(135deg, var(--wf-dark), #2a1008) !important; color: #fff; border: none !important; }
.wfam-final-cta h2, .wfam-final-cta p { color: #fff; }

.wfam-expertise { font-size: 13px; color: rgba(255,255,255,.7); }

/* Related grid */
.wfam-related-grid { margin-top: 16px; }

/* No results */
.wfam-no-results { color: var(--wf-gray); font-style: italic; text-align: center; padding: 32px; }

/* ────────────────────────────────────────────────────────────────────────────
   Responsive
   ────────────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .wfam-card-grid { grid-template-columns: 1fr; }

  .wfam-card-slot,
  .wfam-card-guide { flex-direction: column; }

  .wfam-slot-image,
  .wfam-guide-image { width: 100%; height: 160px; }

  .wfam-pros-cons { grid-template-columns: 1fr; }

  .wfam-detail-table th,
  .wfam-detail-table td { display: block; width: 100%; box-sizing: border-box; }
  .wfam-detail-table th { border-bottom: 0; }

  .wfam-actions { flex-direction: column; }
  .wfam-btn { text-align: center; width: 100%; }

  .wfam-card-top { gap: 10px; }
  .wfam-logo-wrap { width: 64px; height: 44px; }
}

@media (max-width: 480px) {
  .wfam-card { padding: 16px; }
  .wfam-bonus { font-size: 15px; }
}

/* WagerFlame Gutenberg/pre-built block helpers */
.wfam-block-placeholder {
    border: 1px dashed #f97316;
    border-radius: 12px;
    padding: 14px 16px;
    background: #fff7ed;
    color: #7c2d12;
    font-weight: 600;
}
.wfam-responsible-block {
    border-left: 4px solid #f97316;
    background: #fff7ed;
    border-radius: 14px;
    padding: 16px 18px;
    margin: 24px 0;
    color: #431407;
}
.wfam-responsible-block strong {
    display: block;
    margin-bottom: 6px;
}
.wfam-responsible-block p {
    margin: 0;
}

/* WagerFlame v4.2 — conversion and card polish fixes */
.wfam-card-grid--balanced {
  align-items: stretch;
}
.wfam-card-grid--balanced .wfam-card {
  height: 100%;
  min-height: 430px;
}
.wfam-card-casino,
.wfam-card-sportsbook,
.wfam-card-crypto,
.wfam-card-prediction {
  overflow: hidden;
}
.wfam-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--wf-secondary), var(--wf-primary));
  opacity: 0;
  transition: opacity .18s ease;
}
.wfam-card:hover::before,
.wfam-card--featured::before {
  opacity: 1;
}
.wfam-card--featured {
  box-shadow: 0 14px 46px rgba(255, 157, 0, .16);
}
.wfam-card-top {
  min-height: 82px;
}
.wfam-logo-wrap {
  width: 112px;
  height: 72px;
  padding: 10px;
  box-sizing: border-box;
  background: #0f172a;
  border: 1px solid rgba(255,255,255,.06);
}
.wfam-logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.wfam-card-info h3 {
  font-size: 20px;
  letter-spacing: -.02em;
}
.wfam-rating {
  gap: 8px;
  flex-wrap: wrap;
}
.wfam-stars {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 1.5px;
}
.wfam-stars--empty {
  color: var(--wf-gray);
  font-size: 13px;
  letter-spacing: 0;
}
.wfam-score-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  padding: 3px 9px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  font-size: 12px;
  font-weight: 900;
}
.wfam-score-pill--empty {
  background: var(--wf-light);
  border-color: var(--wf-border);
  color: var(--wf-gray);
}
.wfam-score-label {
  font-size: 12px;
  font-weight: 800;
  color: #475569;
}
.wfam-bonus {
  min-height: 44px;
  display: flex;
  align-items: center;
}
.wfam-desc {
  min-height: 42px;
}
.wfam-trust-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.wfam-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.wfam-chip--license {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}
.wfam-mini-proscons {
  min-height: 52px;
}
.wfam-mini-proscons:empty,
.wfam-trust-chips:empty,
.wfam-sb-meta:empty {
  display: none;
}
.wfam-card-footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(229, 231, 235, .85);
}
.wfam-actions {
  margin-top: 0;
  align-items: center;
}
.wfam-btn-primary {
  min-width: 140px;
  text-align: center;
  box-shadow: 0 10px 22px rgba(245, 37, 55, .18);
}
.wfam-btn-secondary {
  min-width: 108px;
  text-align: center;
}
.wfam-terms {
  margin-top: 12px;
}
.wfam-sb-meta {
  background: #f8fafc;
  border: 1px solid var(--wf-border);
  border-radius: 14px;
  padding: 12px;
}
.wfam-rank-badge {
  z-index: 2;
  top: 18px;
  right: 18px;
  font-size: 13px;
  padding: 7px 13px;
}
.wfam-badge {
  width: fit-content;
}
@media (max-width: 768px) {
  .wfam-card-grid--balanced .wfam-card { min-height: 0; }
  .wfam-logo-wrap { width: 86px; height: 58px; }
  .wfam-card-top { min-height: 66px; }
  .wfam-card-info h3 { font-size: 18px; }
  .wfam-bonus,
  .wfam-desc,
  .wfam-mini-proscons { min-height: 0; }
}


/* WagerFlame v4.3 — Canada-style vertical ranking rows */
.wfam-ranking-list {
  display: grid;
  gap: 12px;
  margin: 24px 0;
}
.wfam-ranking-row {
  background: #fff;
  border: 1px solid var(--wf-border);
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(15,23,42,.05);
  overflow: hidden;
}
.wfam-ranking-row--featured {
  border-color: #ff9d00;
  box-shadow: 0 10px 30px rgba(255,157,0,.12);
}
.wfam-ranking-main {
  display: grid;
  grid-template-columns: 160px 1.35fr 130px 120px 1.3fr 190px;
  gap: 22px;
  align-items: center;
  padding: 22px;
}
.wfam-ranking-brand { position: relative; display: grid; gap: 8px; align-items: center; }
.wfam-ranking-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 34px;
  height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  background: #f8fafc;
  color: #0f172a;
  font-weight: 900;
  font-size: 13px;
}
.wfam-ranking-logo {
  width: 150px;
  height: 74px;
  border-radius: 8px;
  background: #111827;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 10px;
}
.wfam-ranking-logo .wfam-logo-img { width: 100%; height: 100%; object-fit: contain; }
.wfam-ranking-badge,
.wfam-offer-type {
  display: inline-flex;
  width: fit-content;
  border-radius: 6px;
  background: #dcfce7;
  color: #15803d;
  padding: 4px 8px;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .02em;
}
.wfam-ranking-offer h3 {
  margin: 8px 0 6px;
  color: #07111f;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.wfam-review-link {
  color: #ea580c;
  font-weight: 800;
  font-size: 13px;
}
.wfam-ranking-rating { display: grid; gap: 4px; align-content: center; }
.wfam-ranking-rating .wfam-stars { color: #f97316; font-size: 22px; white-space: nowrap; }
.wfam-ranking-rating strong { font-size: 18px; color: #0f172a; }
.wfam-ranking-payout { display: grid; gap: 3px; color: #0f172a; }
.wfam-money-icon {
  width: 28px; height: 28px; border-radius: 999px;
  background: #dcfce7; color: #16a34a; display: inline-flex;
  align-items: center; justify-content: center; font-weight: 950;
}
.wfam-ranking-payout strong { font-size: 16px; }
.wfam-ranking-payout small { color: var(--wf-gray); font-size: 12px; }
.wfam-ranking-benefits { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.wfam-ranking-benefits li { position: relative; padding-left: 28px; color: #0f172a; font-size: 15px; line-height: 1.35; }
.wfam-ranking-benefits li:before {
  content: '✓'; position: absolute; left: 0; top: 0; width: 20px; height: 20px;
  border-radius: 999px; background: #dcfce7; color: #16a34a; display: inline-flex;
  align-items: center; justify-content: center; font-size: 12px; font-weight: 950;
}
.wfam-ranking-cta { display: grid; gap: 10px; align-items: center; }
.wfam-ranking-cta .wfam-btn { border-radius: 6px; width: 100%; padding: 14px 18px; font-size: 15px; }
.wfam-promo-code { border: 2px dashed #f97316; border-radius: 8px; padding: 10px; text-align: center; }
.wfam-promo-code span { display: block; color: #475569; font-size: 12px; }
.wfam-promo-code strong { display: block; color: #0f172a; font-size: 14px; letter-spacing: .04em; }
.wfam-ranking-more { border-top: 1px solid var(--wf-border); background: #f8fafc; }
.wfam-ranking-more summary { cursor: pointer; padding: 12px 22px; text-align: right; font-weight: 900; color: #0f172a; list-style: none; }
.wfam-ranking-more summary::-webkit-details-marker { display: none; }
.wfam-ranking-details-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 0 22px 18px; }
.wfam-ranking-detail { background: #fff; border-radius: 8px; border: 1px solid var(--wf-border); padding: 13px; text-align: center; }
.wfam-ranking-detail span { display: block; color: var(--wf-gray); font-size: 12px; margin-bottom: 4px; }
.wfam-ranking-detail strong { color: #0f172a; }
@media (max-width: 1100px) {
  .wfam-ranking-main { grid-template-columns: 140px 1fr 120px 1fr; }
  .wfam-ranking-payout { display: none; }
  .wfam-ranking-logo { width: 130px; }
  .wfam-ranking-cta { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .wfam-ranking-details-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .wfam-ranking-main { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
  .wfam-ranking-brand { grid-template-columns: auto 1fr; }
  .wfam-ranking-logo { width: 140px; height: 66px; }
  .wfam-ranking-badge { grid-column: 1 / -1; }
  .wfam-ranking-rating { display: flex; align-items: center; gap: 10px; }
  .wfam-ranking-cta { grid-template-columns: 1fr; }
  .wfam-ranking-details-grid { grid-template-columns: 1fr; padding: 0 18px 18px; }
}


/* WFAM v5.0 stabilisation: Covers-style ranking rows, conditional fields hidden when empty. */
.wfam-ranking-list{display:grid;gap:14px;margin:0 0 24px}.wfam-ranking-row{border-radius:12px;border:1px solid #e7eaf0;background:#fff;box-shadow:0 6px 22px rgba(15,23,42,.04);overflow:hidden}.wfam-ranking-row--featured{border-color:#ff9d00;box-shadow:0 12px 34px rgba(255,157,0,.13)}.wfam-ranking-main{display:grid;grid-template-columns:170px minmax(220px,1.45fr) 140px 120px minmax(220px,1.25fr) 190px;gap:22px;align-items:center;padding:22px}.wfam-ranking-brand{display:grid;gap:8px;align-items:center}.wfam-ranking-rank{background:#f8fafc;color:#0f172a;border-radius:8px;font-size:13px;font-weight:950;padding:4px 10px;width:max-content}.wfam-ranking-logo{width:150px;height:76px;border-radius:8px;background:#111827;padding:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.wfam-ranking-logo .wfam-logo-img{width:100%;height:100%;object-fit:contain}.wfam-ranking-badge,.wfam-offer-type{display:inline-flex;width:max-content;border-radius:6px;background:#dcfce7;color:#15803d;padding:4px 8px;font-size:11px;text-transform:uppercase;font-weight:950;letter-spacing:.02em}.wfam-ranking-offer h3{margin:8px 0 6px;color:#07111f;font-size:clamp(21px,2.2vw,28px);line-height:1.1;letter-spacing:-.035em}.wfam-review-link{color:#ea580c;font-weight:850;font-size:13px}.wfam-ranking-rating{display:grid;gap:4px;align-content:center}.wfam-ranking-rating .wfam-stars{color:#f97316;font-size:22px;white-space:nowrap}.wfam-ranking-rating strong{font-size:18px;color:#0f172a}.wfam-ranking-payout{display:grid;gap:3px;color:#0f172a}.wfam-money-icon{width:28px;height:28px;border-radius:999px;background:#dcfce7;color:#16a34a;display:inline-flex;align-items:center;justify-content:center;font-weight:950}.wfam-ranking-payout small{color:#667085;font-size:12px}.wfam-ranking-benefits{list-style:none;padding:0;margin:0;display:grid;gap:8px}.wfam-ranking-benefits li{position:relative;padding-left:28px;color:#0f172a;font-size:15px;line-height:1.35}.wfam-ranking-benefits li:before{content:'✓';position:absolute;left:0;top:0;width:20px;height:20px;border-radius:999px;background:#dcfce7;color:#16a34a;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:950}.wfam-ranking-cta{display:grid;gap:10px;align-items:center}.wfam-ranking-cta .wfam-btn{border-radius:6px;width:100%;padding:14px 18px;font-size:15px}.wfam-promo-code{border:2px dashed #f97316;border-radius:8px;padding:10px;text-align:center}.wfam-promo-code span{display:block;color:#475569;font-size:12px}.wfam-promo-code strong{display:block;color:#0f172a;font-size:14px;letter-spacing:.04em}.wfam-ranking-more{border-top:1px solid #e7eaf0;background:#f8fafc}.wfam-ranking-more summary{cursor:pointer;padding:12px 22px;text-align:right;font-weight:900;color:#0f172a;list-style:none}.wfam-ranking-more summary::-webkit-details-marker{display:none}.wfam-ranking-details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 22px 18px}@media(max-width:1120px){.wfam-ranking-main{grid-template-columns:150px 1fr 120px 1fr}.wfam-ranking-payout{display:none}.wfam-ranking-cta{grid-column:1/-1;grid-template-columns:1fr 1fr}.wfam-ranking-benefits{grid-column:auto}}@media(max-width:760px){.wfam-ranking-main{grid-template-columns:1fr;gap:14px;padding:18px}.wfam-ranking-brand{grid-template-columns:auto 1fr}.wfam-ranking-logo{width:145px;height:68px}.wfam-ranking-badge{grid-column:1/-1}.wfam-ranking-rating{display:flex;align-items:center;gap:10px}.wfam-ranking-cta{grid-template-columns:1fr}.wfam-ranking-details-grid{grid-template-columns:1fr;padding:0 18px 18px}}

/* ────────────────────────────────────────────────────────────────────────────
   WagerFlame v5.1 — compact cards, fixed CTA column, structured review blocks
   ────────────────────────────────────────────────────────────────────────── */
.wfam-card .wfam-desc,
.wfam-card-casino .wfam-desc,
.wfam-card-sportsbook .wfam-desc,
.wfam-card-crypto .wfam-desc,
.wfam-card-prediction .wfam-desc{display:none!important}
.wfam-card{padding:16px!important;gap:11px!important}
.wfam-card-top{gap:12px!important;margin-bottom:2px!important}
.wfam-card .wfam-logo-wrap{width:76px!important;height:58px!important;border-radius:14px!important;flex:0 0 76px!important}
.wfam-card .wfam-logo-img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.wfam-card h3{font-size:20px!important;line-height:1.08!important;margin:0 0 3px!important}
.wfam-card .wfam-bonus{font-size:16px!important;line-height:1.25!important;margin:2px 0 4px!important}
.wfam-trust-chips{margin:4px 0!important;gap:6px!important}
.wfam-mini-proscons{margin:4px 0!important;gap:5px!important}
.wfam-card-footer{margin-top:8px!important;padding-top:10px!important}
.wfam-card .wfam-actions{gap:10px!important}.wfam-card .wfam-btn{padding:11px 16px!important}

.wfam-ranking-main{grid-template-columns:170px minmax(220px,1.25fr) 130px 110px minmax(250px,1.35fr) minmax(210px,240px)!important;align-items:center!important}
.wfam-ranking-cta{min-width:210px!important;width:100%!important;justify-self:stretch!important;align-self:center!important;display:grid!important;gap:8px!important}
.wfam-ranking-cta .wfam-btn{width:100%!important;min-width:0!important;box-sizing:border-box!important;text-align:center!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.wfam-ranking-cta .wfam-terms{display:block!important;width:100%!important;white-space:normal!important;line-height:1.35!important;color:#667085!important;font-size:11px!important;overflow:visible!important}
.wfam-ranking-benefits{min-width:0!important}.wfam-ranking-benefits li{font-size:15px!important}
@media(max-width:1120px){.wfam-ranking-main{grid-template-columns:150px 1fr 120px minmax(220px,1fr)!important}.wfam-ranking-cta{grid-column:1/-1!important;max-width:none!important}.wfam-ranking-cta .wfam-btn{max-width:360px!important}}
@media(max-width:760px){.wfam-ranking-main{grid-template-columns:1fr!important}.wfam-ranking-cta .wfam-btn{max-width:none!important}}

.wfam-seo-template{margin-top:28px;border-top:0;padding-top:0}.wfam-review-hero{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,#171717,#281009);color:#fff;border-radius:22px;padding:24px;border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 48px rgba(15,23,42,.14);margin:0 0 22px}.wfam-review-hero-logo{height:140px;border-radius:18px;background:#0f172a;display:flex;align-items:center;justify-content:center;padding:22px;overflow:hidden}.wfam-review-logo-img{max-width:100%;max-height:100%;object-fit:contain}.wfam-review-kicker{display:inline-flex;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:5px 10px;font-size:12px;font-weight:900;color:#fed7aa;text-transform:uppercase;letter-spacing:.04em}.wfam-review-hero h2{color:#fff!important;font-size:clamp(28px,4vw,44px)!important;line-height:1.05!important;margin:12px 0 8px!important;letter-spacing:-.04em}.wfam-review-bonus{font-size:20px;font-weight:950;color:#ffb000;margin:0 0 14px}.wfam-review-rating{display:inline-flex;gap:10px;align-items:center;background:#fff;color:#111827;border-radius:999px;padding:7px 12px;margin-bottom:14px}.wfam-review-rating strong{color:#ea580c}.wfam-review-rating span{font-size:12px;color:#667085;font-weight:800}.wfam-review-hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.wfam-review-hero-actions .wfam-btn{min-width:180px}.wfam-review-hero-actions .wfam-terms{color:#d4d4d8!important}
.wfam-seo-section{border:1px solid #e7eaf0!important;border-radius:20px!important;padding:24px!important;margin:22px 0!important;box-shadow:0 14px 34px rgba(15,23,42,.06)!important}.wfam-seo-section h2{font-size:clamp(24px,3vw,34px)!important;line-height:1.12!important;letter-spacing:-.035em!important;margin:0 0 14px!important;padding-bottom:10px!important;border-bottom:2px solid #fff1e8!important}.wfam-verdict-box{background:#fff7ed!important;border-color:#fed7aa!important}.wfam-verdict-box p{font-size:17px;line-height:1.75;color:#334155}.wfam-bestfor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.wfam-bestfor-card{border-radius:14px;padding:16px;background:#fff;border:1px solid #e7eaf0}.wfam-bestfor-card h3{margin:0 0 8px!important;font-size:15px!important;border:0!important;padding:0!important}.wfam-bestfor-card ul{margin:0;padding-left:20px}.wfam-bestfor-card li{margin:6px 0}.wfam-bestfor-card--good{border-color:#bbf7d0;background:#f0fdf4}.wfam-bestfor-card--warn{border-color:#fed7aa;background:#fff7ed}.wfam-editorial-section .wfam-section-copy p{font-size:16px;line-height:1.8;color:#334155}.wfam-editorial-section .wfam-section-copy ul,.wfam-editorial-section .wfam-section-copy ol{padding-left:22px}.wfam-editorial-section .wfam-section-copy li{margin:7px 0}.wfam-detail-table{border:1px solid #e7eaf0!important;border-radius:14px!important;overflow:hidden!important;border-collapse:separate!important;border-spacing:0!important}.wfam-detail-table th{background:#fff7ed!important;color:#7c2d12!important;width:230px!important}.wfam-detail-table td{background:#fff!important}.wfam-pros-col,.wfam-cons-col{background:#f8fafc!important;border:1px solid #e7eaf0}.wfam-final-cta{background:linear-gradient(135deg,#171717,#32140a)!important;border-radius:22px!important}.wfam-final-cta .wfam-btn{font-size:16px;padding:14px 24px!important}
@media(max-width:760px){.wfam-review-hero{grid-template-columns:1fr;padding:18px}.wfam-review-hero-logo{height:120px}.wfam-bestfor-grid{grid-template-columns:1fr}.wfam-seo-section{padding:18px!important}.wfam-review-hero-actions .wfam-btn{width:100%}}
.wfam-card-grid--balanced .wfam-card{min-height:0!important;height:auto!important}.wfam-card-casino,.wfam-card-sportsbook,.wfam-card-crypto,.wfam-card-prediction{min-height:0!important}

/* WFAM v5.3 — ranking row CTA/viewport hard fix */
.wfam-ranking-row,
.wfam-ranking-main,
.wfam-ranking-main > * {
  box-sizing: border-box !important;
}
.wfam-ranking-row {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.wfam-ranking-main {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(120px,150px) minmax(170px,1fr) minmax(90px,.45fr) minmax(90px,.45fr) minmax(220px,1.15fr) minmax(160px,190px) !important;
  gap: 18px !important;
  align-items: center !important;
}
.wfam-ranking-brand,
.wfam-ranking-offer,
.wfam-ranking-rating,
.wfam-ranking-payout,
.wfam-ranking-benefits,
.wfam-ranking-cta {
  min-width: 0 !important;
  max-width: 100% !important;
}
.wfam-ranking-cta {
  width: 100% !important;
  justify-self: stretch !important;
  align-self: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  padding-left: 0 !important;
  overflow: visible !important;
}
.wfam-ranking-cta .wfam-btn,
.wfam-ranking-cta a.wfam-btn,
.wfam-ranking-cta .wfam-btn-primary {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  padding: 14px 12px !important;
  overflow: visible !important;
}
.wfam-ranking-cta .wfam-terms {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  color: #667085 !important;
}
@media (max-width: 1320px) {
  .wfam-ranking-main {
    grid-template-columns: minmax(120px,150px) minmax(190px,1fr) minmax(90px,110px) minmax(220px,1fr) !important;
  }
  .wfam-ranking-payout { display: none !important; }
  .wfam-ranking-cta { grid-column: 1 / -1 !important; max-width: 360px !important; margin-left: auto !important; }
}
@media (max-width: 760px) {
  .wfam-ranking-main { grid-template-columns: 1fr !important; padding: 18px !important; }
  .wfam-ranking-cta { max-width: none !important; margin-left: 0 !important; }
}
