/* ==========================================================================
   BMC 2.0 — Páginas públicas de resultados (Tabelas, Equipe, Timeline,
   Súmula pós-jogo, VouAí). Escopo: body.pe-page-tabelas
   ========================================================================== */

html body.pe-page-tabelas{ background: var(--paper) !important; font-family: var(--f-body); }
html body.pe-page-tabelas h1,
html body.pe-page-tabelas h2,
html body.pe-page-tabelas h3,
html body.pe-page-tabelas h4{ font-family: var(--f-display); }

/* Hero da página */
html body.pe-page-tabelas .div-hero-banner{
  position:relative; min-height: 0 !important; margin:0 !important; padding: 56px 20px 60px !important; overflow:hidden;
  background:
    radial-gradient(700px 280px at 12% 0%, rgba(var(--c2-rgb), .34), transparent 70%),
    radial-gradient(640px 300px at 92% 100%, rgba(var(--c1-rgb), .6), transparent 70%),
    var(--c1-dd) !important;
}
html body.pe-page-tabelas .div-hero-banner::before{ content:''; position:absolute; inset:0; opacity:.07; background-image: repeating-linear-gradient(135deg, #fff 0 1px, transparent 1px 14px); }
html body.pe-page-tabelas .div-hero-content{ position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; }
html body.pe-page-tabelas .div-hero-content > img{ width: 86px !important; background:#fff; border-radius: 22px; padding: 10px; box-shadow: 0 14px 34px rgba(0,0,0,.35); margin-bottom:10px; }
html body.pe-page-tabelas .div-hero-title{
  color:#fff !important; text-shadow:none !important; font-family: var(--f-display) !important; font-weight:800 !important; font-size: clamp(2.4rem, 6vw, 4.4rem) !important;
  letter-spacing:.03em; text-transform:uppercase; line-height:1; margin:0 !important;
}
html body.pe-page-tabelas .div-hero-content .section-divider{ background: linear-gradient(90deg, #fff, var(--c2)); margin-top: 14px; }
html body.pe-page-tabelas .div-hero-content p{
  color: rgba(255,255,255,.85) !important; font-family: var(--f-display); font-weight:700 !important; font-size:1.5rem !important; letter-spacing:.3em !important; margin: 14px 0 0 !important;
}

/* Títulos de seção */
html body.pe-page-tabelas .title-xl{ font-family: var(--f-display) !important; font-weight:800 !important; font-size: clamp(2rem, 4.4vw, 3rem) !important; color: var(--ink) !important; text-transform:uppercase; }
html body.pe-page-tabelas .section-pad{ padding: 64px 0; }
html body.pe-page-tabelas section.section-pad:nth-of-type(even){ background:#fff; }
html body.pe-page-tabelas .container{ max-width: 1240px; padding: 0 20px; width:100%; }

/* Equipes (logos) */
html body.pe-page-tabelas .pe-equipes-tabelas-section{ background:#fff !important; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
html body.pe-page-tabelas .pe-equipes-subtitle{ color: var(--mute) !important; font-size:.95rem; }
html body.pe-page-tabelas .pe-equipes-logos-block{ display:flex; flex-direction:column; gap:14px; margin-top: 28px; }
html body.pe-page-tabelas .pe-equipes-logos-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
html body.pe-page-tabelas .pe-equipes-logo-link{ width:84px; height:84px; display:flex; align-items:center; justify-content:center; padding:10px; border-radius:20px; background: var(--paper); border:1px solid var(--hair-2); transition: all .2s ease; }
html body.pe-page-tabelas .pe-equipes-logo-link:hover{ transform: translateY(-5px) scale(1.04); background:#fff; box-shadow: var(--sh-3); border-color: var(--c1-t2); }
html body.pe-page-tabelas .pe-equipes-logo-link img{ max-width:100%; max-height:100%; object-fit:contain; }

/* Cards de classificação */
html body.pe-page-tabelas .class-wrap{ max-width: 1100px; margin: 0 auto; display:grid; gap: 22px; padding:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
html body.pe-page-tabelas .class-card{ border-radius: var(--r) !important; background:#fff !important; border:1px solid var(--hair) !important; box-shadow: var(--sh-1) !important; overflow:hidden; }
html body.pe-page-tabelas .class-head{ background:#fff !important; border-bottom:1px solid var(--hair-2); padding-bottom: 6px; text-align:left !important; }
html body.pe-page-tabelas .class-title,
html body.pe-page-tabelas .class-title-naipe,
html body.pe-page-tabelas .class-title-grupo{ font-family: var(--f-display) !important; text-transform:uppercase; letter-spacing:.08em; text-align:left !important; margin:0 !important; background:none !important; }
html body.pe-page-tabelas .class-title-twoline{ display:flex !important; align-items:baseline; gap:12px; padding: 16px 22px 8px !important; }
html body.pe-page-tabelas .class-title-naipe{ font-size:1.5rem !important; font-weight:800 !important; color: var(--c1) !important; padding:0 !important; }
html body.pe-page-tabelas .class-title-grupo{ font-size:1.05rem !important; font-weight:700 !important; color: var(--mute) !important; padding:0 !important; }
html body.pe-page-tabelas .class-table thead th{ padding: 10px 8px; background: var(--paper) !important; color: var(--mute) !important; }
html body.pe-page-tabelas .class-table tbody td{ padding: 10px 8px; }
html body.pe-page-tabelas .class-table .team-mini{ width:32px; height:32px; background:#fff; border-radius:50%; padding:2px; box-shadow: 0 0 0 1px var(--hair-2); }

/* Partidas */
html body.pe-page-tabelas .pe-partidas-flex-grid{ display:grid !important; grid-template-columns: repeat(auto-fill, minmax(262px, 1fr)); gap: 18px; justify-content:center; margin:0 !important; }
html body.pe-page-tabelas .pe-partida-flex-item{ width:auto !important; max-width:none !important; flex:none !important; padding:0 !important; margin:0 !important; }
html body.pe-page-tabelas .pe-tabelas-partidas-container{ max-width: 1280px; margin: 0 auto; padding: 0 20px; }
html body.pe-page-tabelas .partida-card .placar-container{ background: transparent !important; box-shadow:none !important; border:0 !important; padding: 6px 14px 2px !important; }
html body.pe-page-tabelas .partida-card .time-logo{ width:58px !important; height:58px !important; background:#fff; border-radius:50%; padding:4px; box-shadow: 0 0 0 1px var(--hair-2), var(--sh-1); filter:none; }
html body.pe-page-tabelas .partida-card .placar-numero{ font-size:2.2rem; }
html body.pe-page-tabelas .partida-numero{ font-family: var(--f-display) !important; color: var(--c1) !important; }
html body.pe-page-tabelas .status-fotos{ background: color-mix(in srgb, var(--c2) 12%, #fff); color: var(--c2-d); border-color: color-mix(in srgb, var(--c2) 28%, #fff); }

/* Pódio / classificação final (cf2) */
html body .pe-cf2-final .cf2-podium-card{ background:#fff !important; border:1px solid var(--hair) !important; border-radius: var(--r-lg) !important; box-shadow: var(--sh-2) !important; }
html body .pe-cf2-final .cf2-podium-card--champ{ box-shadow: 0 20px 50px rgba(var(--c2-rgb), .25), var(--sh-2) !important; border-color: color-mix(in srgb, var(--c2) 40%, #fff) !important; }
html body .pe-cf2-final .cf2-podium-label{ font-family: var(--f-display) !important; font-weight:800 !important; letter-spacing:.14em; color: var(--c1) !important; text-transform:uppercase; }
html body .pe-cf2-final .cf2-podium-name{ font-family: var(--f-display) !important; font-weight:800 !important; letter-spacing:.04em; color: var(--ink) !important; text-transform:uppercase; }
html body .pe-cf2-final .cf2-medal{ font-family: var(--f-display) !important; font-weight:800 !important; box-shadow: 0 8px 20px rgba(17,20,27,.2) !important; }
html body .pe-cf2-final .cf2-demais-card,
html body .pe-cf2-final .cf2-demais-item{ background:#fff !important; border:1px solid var(--hair) !important; border-radius: var(--r) !important; box-shadow: var(--sh-1) !important; }
html body .pe-cf2-final .cf2-demais-pos{ font-family: var(--f-display) !important; font-weight:800 !important; letter-spacing:.1em; color: var(--mute) !important; border-bottom-color: var(--c2) !important; }

/* Artilharia */
html body.pe-page-tabelas .artilharia-section{ background:#fff; border-top:1px solid var(--hair); }

/* Ginásios */
html body.pe-page-tabelas .ginasios-row{ display:grid; grid-template-columns: repeat(auto-fill, minmax(340px,1fr)); gap:22px; }
html body.pe-page-tabelas .ginasio-card-col{ width:auto !important; padding:0 !important; float:none !important; }
html body.pe-page-tabelas .ginasio-title{ font-family: var(--f-display) !important; font-size:1.5rem !important; text-transform:uppercase; color: var(--ink) !important; }
html body.pe-page-tabelas .map-wrap iframe{ width:100% !important; height:240px !important; border:0; display:block; }

/* escudos do pódio clicáveis */
.cf2-logo-link{ display:inline-flex; align-items:center; justify-content:center; max-width:100%; transition: transform .18s ease; }
.cf2-logo-link:hover{ transform: scale(1.06); }
