/* ── Palpite FC — Design System ──────────────────────────────── */

/* Tokens */
:root {
  --navy:    #0a1f3c;
  --navy-2:  #0f2952;
  --accent:  #22c55e;
  --acc-dim: rgba(34,197,94,.12);
  --gold:    #f59e0b;
  --ink:     #0f172a;
  --ink-2:   #334155;
  --ink-3:   #64748b;
  --ink-4:   #94a3b8;
  --bg:      #f0f4f8;
  --bg-2:    #f8fafc;
  --card:    #ffffff;
  --border:  #e2e8f0;
  --border-2:#cbd5e1;
  --radius:  16px;
  --radius-s:10px;
  --shadow:  0 1px 4px rgba(15,23,42,.06), 0 4px 16px rgba(15,23,42,.04);
  --shadow-m:0 4px 16px rgba(15,23,42,.10), 0 1px 4px rgba(15,23,42,.06);
}

*,*::before,*::after{box-sizing:border-box}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.55;margin:0;
}

/* ── Page shell ─────────────────────────────────────────────── */
.page-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.page-wrap-sm{max-width:760px;margin:0 auto;padding:0 20px}
.page-wrap-md{max-width:960px;margin:0 auto;padding:0 20px}

/* ── Cards ──────────────────────────────────────────────────── */
.card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);
}
.card-sm{padding:14px 16px}
.card-title{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 14px}

/* ── Section heading ────────────────────────────────────────── */
.sec-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}
.sec-title{font-size:20px;font-weight:800;color:var(--ink);margin:0;letter-spacing:-.3px}
.sec-link{font-size:13px;font-weight:600;color:var(--accent);text-decoration:none}
.sec-link:hover{text-decoration:underline}

/* ── Stat number ────────────────────────────────────────────── */
.stat-num{font-size:26px;font-weight:900;letter-spacing:-.5px;line-height:1}
.stat-label{font-size:11.5px;font-weight:500;color:var(--ink-3);margin-top:3px}

/* ── Badge / pill ───────────────────────────────────────────── */
.pill{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;
}
.pill-green {background:#dcfce7;color:#15803d}
.pill-blue  {background:#dbeafe;color:#1e40af}
.pill-gray  {background:#f1f5f9;color:#475569}
.pill-red   {background:#fee2e2;color:#991b1b}
.pill-amber {background:#fef3c7;color:#92400e}
.pill-live  {background:#fee2e2;color:#b91c1c;animation:livepulse 1.8s ease infinite}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.55}}

/* ── Team display ───────────────────────────────────────────── */
.team-badge{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,#e0e7ef,#cbd5e1);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:800;color:#475569;
}
.team-badge-lg{width:64px;height:64px;border-radius:16px;font-size:22px}
.team-badge-sm{width:32px;height:32px;border-radius:8px;font-size:11px}

/* ── Match card ─────────────────────────────────────────────── */
.match-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  transition:box-shadow .18s,transform .18s;
}
.match-card:hover{box-shadow:var(--shadow-m);transform:translateY(-1px)}
.match-card.locked{opacity:.8}

.match-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px 8px;border-bottom:1px solid var(--border);
  font-size:11.5px;color:var(--ink-3);
}
.match-header strong{color:var(--ink-2);font-weight:600}

.match-body{
  display:flex;align-items:center;gap:12px;
  padding:16px;
}

.team-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.team-name{font-size:13px;font-weight:700;color:var(--ink);line-height:1.2;max-width:100px}
.team-label{font-size:11px;color:var(--ink-4)}

.score-col{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  min-width:72px;
}
.score-num{font-size:28px;font-weight:900;color:var(--ink);letter-spacing:-1px;line-height:1}
.score-sep{font-size:20px;font-weight:300;color:var(--ink-4);line-height:1}
.score-time{font-size:14px;font-weight:800;color:var(--navy-2)}
.score-date{font-size:11px;color:var(--ink-4)}

/* ── Prediction buttons ─────────────────────────────────────── */
.pred-area{
  padding:12px 16px;border-top:1px solid var(--border);
  background:#fafbfc;
}
.pred-btns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:6px}

.pred-btn{
  display:flex;flex-direction:column;align-items:center;
  padding:9px 6px;border-radius:10px;border:1.5px solid var(--border-2);
  background:#fff;cursor:pointer;transition:all .14s;
  font-size:12px;font-weight:700;color:var(--ink-2);gap:1px;
}
.pred-btn .pbl{font-size:10px;font-weight:500;color:var(--ink-4)}
.pred-btn:hover:not(:disabled){border-color:var(--accent);background:var(--acc-dim);color:var(--navy)}
.pred-btn.selected{border-color:#2563eb;background:#eff6ff;color:#1e40af}
.pred-btn.correct {border-color:#16a34a;background:#f0fdf4;color:#15803d}
.pred-btn.wrong   {border-color:#dc2626;background:#fef2f2;color:#dc2626}
.pred-btn:disabled{cursor:not-allowed;opacity:.6}

.pred-save{
  width:100%;padding:10px;border-radius:10px;border:none;cursor:pointer;
  background:var(--navy);color:#fff;font-size:13px;font-weight:700;
  transition:background .14s,transform .1s;
}
.pred-save:hover{background:var(--navy-2);transform:translateY(-1px)}
.pred-save:disabled{opacity:.5;cursor:not-allowed;transform:none}
.pred-save.saved{background:#16a34a}

.pred-msg{font-size:11.5px;text-align:center;margin-top:5px;height:16px}
.pred-msg.ok {color:#15803d}
.pred-msg.err{color:#dc2626}

/* ── Community bar ──────────────────────────────────────────── */
.comm-bar-wrap{padding:8px 16px 12px}
.comm-bar{display:flex;height:6px;border-radius:999px;overflow:hidden;gap:2px}
.comm-home{background:#3b82f6;border-radius:999px 0 0 999px;transition:width .4s ease}
.comm-draw{background:#94a3b8;transition:width .4s ease}
.comm-away{background:#ef4444;border-radius:0 999px 999px 0;transition:width .4s ease}
.comm-labels{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-4);margin-top:3px}

/* ── Progress bar ───────────────────────────────────────────── */
.prog-bar{height:6px;background:var(--border);border-radius:999px;overflow:hidden}
.prog-fill{
  height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--accent),#16a34a);
  transition:width .5s ease;
}

/* ── Ranking row ────────────────────────────────────────────── */
.rank-row{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;border-radius:10px;
  transition:background .14s;
}
.rank-row:hover{background:#f8fafc}
.rank-row.me{background:#eff6ff;border:1px solid #bfdbfe}
.rank-pos{width:36px;text-align:center;font-weight:800;font-size:14px;color:var(--ink-3);flex-shrink:0}
.rank-pos.gold  {font-size:20px}
.rank-pos.silver{font-size:20px}
.rank-pos.bronze{font-size:20px}
.rank-avatar{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  background:linear-gradient(135deg,#3b82f6,#6366f1);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;color:#fff;
}
.rank-info{flex:1;min-width:0}
.rank-name{font-size:13.5px;font-weight:700;color:var(--ink);truncate:true;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-meta{font-size:11.5px;color:var(--ink-4);margin-top:1px}
.rank-pts{font-weight:900;font-size:15px;color:var(--navy-2);flex-shrink:0}
.rank-change{font-size:11px;flex-shrink:0;width:32px;text-align:right}
.rank-change.up  {color:#16a34a}
.rank-change.down{color:#dc2626}

/* ── Avatar ─────────────────────────────────────────────────── */
.avatar{
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:#fff;flex-shrink:0;
  background:linear-gradient(135deg,#3b82f6,#6366f1);
}
.avatar-lg{width:72px;height:72px;font-size:26px;border-radius:18px}
.avatar-md{width:48px;height:48px;font-size:18px;border-radius:12px}
.avatar-sm{width:36px;height:36px;font-size:13px;border-radius:9px}

/* ── Stat grid ──────────────────────────────────────────────── */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.stat-cell{
  background:#f8fafc;border:1px solid var(--border);
  border-radius:var(--radius-s);padding:14px 12px;text-align:center;
}

/* ── Achievement card ───────────────────────────────────────── */
.ach-card{
  background:#fff;border:1px solid var(--border);
  border-radius:12px;padding:14px 10px;text-align:center;
  transition:all .18s;
}
.ach-card.unlocked{border-color:#f59e0b;background:#fffbeb}
.ach-card.locked{opacity:.45;filter:grayscale(.8)}
.ach-icon{font-size:24px;margin-bottom:4px}
.ach-name{font-size:11px;font-weight:600;color:var(--ink-2);line-height:1.3}

/* ── Form elements ──────────────────────────────────────────── */
.form-input{
  width:100%;padding:10px 14px;border:1.5px solid var(--border-2);
  border-radius:10px;font-size:14px;color:var(--ink);background:#fff;
  transition:border-color .15s,box-shadow .15s;outline:none;
}
.form-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}

/* ── Buttons ────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:10px;font-weight:700;font-size:14px;transition:all .14s;cursor:pointer;border:none;text-decoration:none;line-height:1}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-2);transform:translateY(-1px)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:#16a34a;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink-2);border:1.5px solid var(--border-2)}
.btn-ghost:hover{background:#f1f5f9}
.btn-sm{padding:7px 14px;font-size:13px;border-radius:8px}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}

/* ── Score input ────────────────────────────────────────────── */
.score-input{
  width:48px;text-align:center;padding:8px;
  border:2px solid var(--border-2);border-radius:9px;
  font-size:20px;font-weight:800;color:var(--ink);outline:none;
}
.score-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}

/* ── XP bar ─────────────────────────────────────────────────── */
.xp-bar{height:5px;background:var(--border);border-radius:999px;overflow:hidden}
.xp-fill{height:100%;background:linear-gradient(90deg,var(--gold),#d97706);border-radius:999px;transition:width 1s ease}

/* ── Toast ──────────────────────────────────────────────────── */
.toast{position:fixed;bottom:24px;right:24px;z-index:999;padding:13px 20px;border-radius:12px;font-size:14px;font-weight:600;max-width:320px;box-shadow:0 8px 32px rgba(0,0,0,.18);animation:toastIn .25s ease}
.toast-ok {background:#0f2952;color:#fff}
.toast-err{background:#991b1b;color:#fff}
@keyframes toastIn{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ── Live dot ───────────────────────────────────────────────── */
.live-dot{width:7px;height:7px;border-radius:50%;background:#ef4444;display:inline-block;animation:livepulse 1.8s ease infinite}

/* ── Pagination ─────────────────────────────────────────────── */
.pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:24px}
.page-btn{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;text-decoration:none;color:var(--ink-2);transition:background .14s}
.page-btn:hover{background:#e2e8f0}
.page-btn.active{background:var(--navy);color:#fff}

/* ── Hero ───────────────────────────────────────────────────── */
.hero{
  background:linear-gradient(135deg,#0a1f3c 0%,#0f2952 60%,#163a63 100%);
  color:#fff;padding:64px 20px 56px;position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 80% at 110% 50%,rgba(34,197,94,.12),transparent);
  pointer-events:none;
}
.hero-inner{position:relative;max-width:900px;margin:0 auto;text-align:center}
.hero-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.15);
  font-size:12px;font-weight:600;color:rgba(255,255,255,.75);
  margin-bottom:20px;
}
.hero h1{font-size:clamp(32px,6vw,54px);font-weight:900;line-height:1.1;letter-spacing:-1.5px;margin:0 0 16px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{font-size:clamp(15px,2vw,18px);color:rgba(255,255,255,.72);max-width:560px;margin:0 auto 32px;line-height:1.6}
.hero-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.hero-cta{
  padding:13px 28px;border-radius:12px;font-size:15px;font-weight:800;
  background:var(--accent);color:#fff;text-decoration:none;
  transition:background .15s,transform .12s;
}
.hero-cta:hover{background:#16a34a;transform:translateY(-2px)}
.hero-ghost{
  padding:13px 28px;border-radius:12px;font-size:15px;font-weight:600;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);
  border:1.5px solid rgba(255,255,255,.18);text-decoration:none;
  transition:background .15s;
}
.hero-ghost:hover{background:rgba(255,255,255,.14)}

/* ── Hero stats ─────────────────────────────────────────────── */
.hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:32px;margin-top:44px;padding-top:36px;border-top:1px solid rgba(255,255,255,.1)}
.hero-stat-num{font-size:30px;font-weight:900;color:var(--accent);letter-spacing:-1px;line-height:1}
.hero-stat-label{font-size:12px;color:rgba(255,255,255,.55);margin-top:3px}

/* ── Competition card ───────────────────────────────────────── */
.comp-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);padding:18px;text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:10px;
  transition:box-shadow .18s,border-color .18s,transform .18s;
}
.comp-card:hover{box-shadow:var(--shadow-m);border-color:var(--accent);transform:translateY(-2px)}
.comp-icon{font-size:28px;line-height:1}
.comp-name{font-size:14px;font-weight:800;color:var(--ink);line-height:1.3}
.comp-sub{font-size:11.5px;color:var(--ink-4)}

/* ── User bar (logged-in home strip) ────────────────────────── */
.user-bar{background:#fff;border-bottom:1px solid var(--border);padding:10px 20px}
.user-bar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.user-bar-left{display:flex;align-items:center;gap:16px}
.user-bar-divider{width:1px;height:32px;background:var(--border)}
.pending-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:10px;
  background:#fff7ed;border:1px solid #fed7aa;
  color:#c2410c;font-size:13px;font-weight:600;text-decoration:none;
  transition:background .14s;
}
.pending-btn:hover{background:#ffedd5}

/* ── Table ──────────────────────────────────────────────────── */
table{width:100%;border-collapse:collapse}
th,td{padding:10px 14px;text-align:left;font-size:13.5px;vertical-align:middle}
th{background:#f8fafc;font-size:11.5px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}
td{border-bottom:1px solid #f1f5f9;color:var(--ink-2)}
tr:last-child td{border-bottom:none}
tr:hover td{background:#f8fafc}

/* ── No-data state ──────────────────────────────────────────── */
.empty-state{padding:56px 20px;text-align:center;color:var(--ink-4)}
.empty-icon{font-size:40px;margin-bottom:12px;display:block;opacity:.5}
.empty-title{font-size:16px;font-weight:700;color:var(--ink-3);margin:0 0 6px}
.empty-body{font-size:14px;color:var(--ink-4);margin:0 0 20px}

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:640px){
  .page-wrap,.page-wrap-sm,.page-wrap-md{padding:0 14px}
  .hero{padding:44px 14px 40px}
  .hero h1{font-size:30px}
  .hero-stats{gap:20px;margin-top:28px;padding-top:24px}
  .match-body{gap:8px;padding:12px}
  .team-badge-lg{width:48px;height:48px;font-size:16px}
  .score-num{font-size:22px}
  .pred-btn{padding:8px 4px;font-size:11px}
  .stat-grid{grid-template-columns:1fr 1fr}
}

/* ── Ads compliance ─────────────────────────────────────────── */
.ad-slot{display:none}
.ad-slot.allowed{display:block;margin:24px 0;background:#f8fafc;border:1px dashed var(--border-2);border-radius:10px;padding:12px;text-align:center;font-size:11px;color:var(--ink-4)}

/* ============================================================
   HOME — CONTEÚDO EDITORIAL
   ============================================================ */

.home-editorial {
    margin-top: 32px;
}

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

.home-content-grid > .card {
    min-width: 0;
    height: 100%;
}

/* FAQ */
.home-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.home-faq details {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 12px 14px;
    box-sizing: border-box;
}

.home-faq summary {
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--ink);
    list-style-position: inside;
}

.home-faq details p {
    margin: 10px 0 0;
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--ink-3);
}

/* Tablet */
@media (max-width: 900px) {
    .home-content-grid {
        grid-template-columns: 1fr;
    }
}

/* Celular */
@media (max-width: 640px) {
    .home-editorial {
        margin-top: 22px;
    }

    .home-editorial .card {
        padding: 16px !important;
    }

    .home-content-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .home-faq details {
        padding: 12px;
    }

    .home-faq summary {
        font-size: 13.5px;
    }

    .home-faq details p {
        font-size: 13px;
        line-height: 1.65;
    }
}

/* Corrige largura do conteúdo editorial da Home */
.home-editorial {
    width: 100%;
    max-width: 1200px;
    margin: 32px auto 0;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

@media (max-width: 640px) {
    .home-editorial {
        margin-top: 22px;
        padding-left: 16px;
        padding-right: 16px;
    }
}


/* ============================================================
   JOGOS DE HOJE — CONTEÚDO EDITORIAL
   ============================================================ */

.today-editorial {
    width: calc(100% - 32px);
    max-width: 1100px;
    margin: 32px auto 0;
    box-sizing: border-box;
}

.today-editorial h2 {
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.today-editorial p {
    font-size: 14px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.today-editorial p:last-child {
    margin-bottom: 0;
}

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

.today-content-grid > .card {
    min-width: 0;
    height: 100%;
}

.today-content-icon {
    font-size: 27px;
    margin-bottom: 10px;
}

.today-faq-card {
    margin-top: 16px;
}

.today-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.today-faq details {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 12px 14px;
}

.today-faq summary {
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    color: var(--ink);
}

.today-faq details p {
    margin-top: 10px;
    font-size: 13.5px;
}

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

@media (max-width: 640px) {
    .today-editorial {
        width: calc(100% - 24px);
        margin-top: 22px;
    }

    .today-editorial .card {
        padding: 16px !important;
    }

    .today-editorial h2 {
        font-size: 17px;
    }
}


/* ============================================================
   RESULTADOS — CONTEÚDO EDITORIAL
   ============================================================ */

.results-editorial {
    width: calc(100% - 32px);
    max-width: 1100px;
    margin: 32px auto 0;
    box-sizing: border-box;
}

.results-editorial h2 {
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.results-editorial p {
    font-size: 14px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.results-editorial p:last-child {
    margin-bottom: 0;
}

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

.results-content-grid > .card {
    min-width: 0;
    height: 100%;
}

.results-content-icon {
    font-size: 27px;
    margin-bottom: 10px;
}

.results-faq-card {
    margin-top: 16px;
}

.results-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.results-faq details {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 12px 14px;
}

.results-faq summary {
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    color: var(--ink);
}

.results-faq details p {
    margin-top: 10px;
    font-size: 13.5px;
}

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

@media (max-width: 640px) {
    .results-editorial {
        width: calc(100% - 24px);
        margin-top: 22px;
    }

    .results-editorial .card {
        padding: 16px !important;
    }

    .results-editorial h2 {
        font-size: 17px;
    }
}


/* ============================================================
   CONTEÚDO EDITORIAL — TAMANHO DE TEXTO
   ============================================================ */

/* Textos principais */
.home-editorial p,
.today-editorial p,
.results-editorial p {
    font-size: 16px;
    line-height: 1.75;
}

/* Títulos principais dos blocos */
.home-editorial h2,
.today-editorial h2,
.results-editorial h2 {
    line-height: 1.3;
}

/* Perguntas do FAQ */
.home-faq summary,
.today-faq summary,
.results-faq summary {
    font-size: 15.5px;
    line-height: 1.5;
}

/* Respostas do FAQ */
.home-faq details p,
.today-faq details p,
.results-faq details p {
    font-size: 15px;
    line-height: 1.7;
}

/* Mobile */
@media (max-width: 640px) {
    .home-editorial p,
    .today-editorial p,
    .results-editorial p {
        font-size: 15.5px;
        line-height: 1.7;
    }

    .home-faq summary,
    .today-faq summary,
    .results-faq summary {
        font-size: 15px;
    }

    .home-faq details p,
    .today-faq details p,
    .results-faq details p {
        font-size: 14.5px;
    }
}


/* ============================================================
   CONTEÚDO EDITORIAL — TAMANHO DE TEXTO
   ============================================================ */

/* Textos principais */
.home-editorial p,
.today-editorial p,
.results-editorial p {
    font-size: 16px;
    line-height: 1.75;
}

/* Títulos principais dos blocos */
.home-editorial h2,
.today-editorial h2,
.results-editorial h2 {
    line-height: 1.3;
}

/* Perguntas do FAQ */
.home-faq summary,
.today-faq summary,
.results-faq summary {
    font-size: 15.5px;
    line-height: 1.5;
}

/* Respostas do FAQ */
.home-faq details p,
.today-faq details p,
.results-faq details p {
    font-size: 15px;
    line-height: 1.7;
}

/* Mobile */
@media (max-width: 640px) {
    .home-editorial p,
    .today-editorial p,
    .results-editorial p {
        font-size: 15.5px;
        line-height: 1.7;
    }

    .home-faq summary,
    .today-faq summary,
    .results-faq summary {
        font-size: 15px;
    }

    .home-faq details p,
    .today-faq details p,
    .results-faq details p {
        font-size: 14.5px;
    }
}


/* ============================================================
   RANKING — CONTEÚDO EDITORIAL
   ============================================================ */

.ranking-editorial {
    width: calc(100% - 32px);
    max-width: 1100px;
    margin: 32px auto 0;
    box-sizing: border-box;
}

.ranking-editorial h2 {
    font-size: 19px;
    line-height: 1.3;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.ranking-editorial p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.ranking-editorial p:last-child {
    margin-bottom: 0;
}

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

.ranking-content-grid > .card {
    min-width: 0;
    height: 100%;
}

.ranking-content-icon {
    font-size: 27px;
    margin-bottom: 10px;
}

.ranking-faq-card {
    margin-top: 16px;
}

.ranking-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ranking-faq details {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 12px 14px;
}

.ranking-faq summary {
    cursor: pointer;
    font-size: 15.5px;
    line-height: 1.5;
    font-weight: 700;
    color: var(--ink);
}

.ranking-faq details p {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.7;
}

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

@media (max-width: 640px) {
    .ranking-editorial {
        width: calc(100% - 24px);
        margin-top: 22px;
    }

    .ranking-editorial .card {
        padding: 16px !important;
    }

    .ranking-editorial h2 {
        font-size: 18px;
    }

    .ranking-editorial p {
        font-size: 15.5px;
    }

    .ranking-faq summary {
        font-size: 15px;
    }

    .ranking-faq details p {
        font-size: 14.5px;
    }
}


/* ============================================================
   CAMPEONATOS — CONTEÚDO EDITORIAL
   ============================================================ */

.competitions-editorial {
    width: calc(100% - 32px);
    max-width: 1100px;
    margin: 32px auto 0;
    box-sizing: border-box;
}

.competitions-editorial h2 {
    font-size: 19px;
    line-height: 1.3;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.competitions-editorial p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.competitions-editorial p:last-child {
    margin-bottom: 0;
}

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

.competitions-content-grid > .card {
    min-width: 0;
    height: 100%;
}

.competitions-content-icon {
    font-size: 27px;
    margin-bottom: 10px;
}

.competitions-faq-card {
    margin-top: 16px;
}

.competitions-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.competitions-faq details {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 12px 14px;
}

.competitions-faq summary {
    cursor: pointer;
    font-size: 15.5px;
    line-height: 1.5;
    font-weight: 700;
    color: var(--ink);
}

.competitions-faq details p {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.7;
}

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

@media (max-width: 640px) {
    .competitions-editorial {
        width: calc(100% - 24px);
        margin-top: 22px;
    }

    .competitions-editorial .card {
        padding: 16px !important;
    }

    .competitions-editorial p {
        font-size: 15.5px;
    }
}


/* ============================================================
   CAMPEONATO INDIVIDUAL — CONTEÚDO EDITORIAL
   ============================================================ */

.competition-show-editorial {
    width: 100%;
    margin-top: 32px;
}

.competition-show-editorial h2 {
    font-size: 19px;
    line-height: 1.3;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.competition-show-editorial p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.competition-show-editorial p:last-child {
    margin-bottom: 0;
}

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

.competition-show-grid > .card {
    min-width: 0;
    height: 100%;
}

.competition-show-icon {
    font-size: 27px;
    margin-bottom: 10px;
}

.competition-show-faq-card {
    margin-top: 16px;
}

.competition-show-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.competition-show-faq details {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 12px 14px;
}

.competition-show-faq summary {
    cursor: pointer;
    font-size: 15.5px;
    line-height: 1.5;
    font-weight: 700;
    color: var(--ink);
}

.competition-show-faq details p {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.7;
}

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

@media (max-width: 640px) {
    .competition-show-editorial {
        margin-top: 22px;
    }

    .competition-show-editorial .card {
        padding: 16px !important;
    }

    .competition-show-editorial p {
        font-size: 15.5px;
    }
}


/* ============================================================
   ESTATÍSTICAS — CONTEÚDO EDITORIAL
   ============================================================ */

.stats-editorial {
    width: 100%;
    margin-top: 32px;
}

.stats-editorial h2 {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.stats-editorial p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.stats-editorial p:last-child {
    margin-bottom: 0;
}

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

.stats-content-grid > .card {
    min-width: 0;
    height: 100%;
}

.stats-content-icon {
    font-size: 28px;
    margin-bottom: 10px;
}

.stats-analysis,
.stats-highlight {
    margin-bottom: 16px;
}

.stats-faq-card {
    margin-top: 16px;
}

.stats-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.stats-faq details {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 12px 14px;
}

.stats-faq summary {
    cursor: pointer;
    font-size: 15.5px;
    line-height: 1.5;
    font-weight: 700;
    color: var(--ink);
}

.stats-faq details p {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.7;
}

@media(max-width:800px) {
    .stats-content-grid {
        grid-template-columns: 1fr;
    }
}

@media(max-width:640px) {
    .stats-editorial {
        margin-top: 22px;
    }

    .stats-editorial .card {
        padding: 16px !important;
    }

    .stats-editorial p {
        font-size: 15.5px;
    }
}


/* ============================================================
   RODADA — CONTEÚDO EDITORIAL
   ============================================================ */

.round-editorial {
    width: 100%;
    margin-top: 32px;
}

.round-editorial h2 {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.round-editorial p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.round-editorial p:last-child {
    margin-bottom: 0;
}


/* Números */

.round-stats-content {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
    margin: 16px 0;
}

.round-content-stat {
    text-align: center;
    padding: 16px 8px !important;
}

.round-content-stat strong {
    display: block;
    font-size: 24px;
    font-weight: 900;
    color: var(--navy-2);
}

.round-content-stat span {
    display: block;
    font-size: 12px;
    color: var(--ink-4);
    margin-top: 3px;
}


/* Resumos */

.round-community-summary,
.round-results-summary {
    margin-bottom: 16px;
}


/* Resultados */

.round-result-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 14px;
}

.round-result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 9px;
    text-decoration: none;
}

.round-result-item span {
    min-width: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ink);
}

.round-result-item strong {
    flex-shrink: 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--navy-2);
}


/* Informações */

.round-info-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
    margin: 16px 0;
}

.round-content-icon {
    font-size: 28px;
    margin-bottom: 10px;
}


/* FAQ */

.round-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.round-faq details {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 12px 14px;
}

.round-faq summary {
    cursor: pointer;
    font-size: 15.5px;
    line-height: 1.5;
    font-weight: 700;
    color: var(--ink);
}

.round-faq details p {
    font-size: 15px;
    line-height: 1.7;
    margin-top: 10px;
}


@media(max-width:640px) {

    .round-editorial {
        margin-top: 22px;
    }

    .round-stats-content {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .round-info-grid {
        grid-template-columns: 1fr;
    }

    .round-editorial .card {
        padding: 16px !important;
    }

    .round-editorial p {
        font-size: 15.5px;
    }

    .round-result-item span {
        font-size: 12.5px;
    }

}


/* ============================================================
   AJUSTE VISUAL — PÁGINA DE RODADA
   ============================================================ */

.round-editorial {
    margin-top: 24px;
}

/* Cards editoriais mais leves */
.round-editorial > .card {
    margin-bottom: 14px;
}

/* Estatísticas: 2 colunas mesmo no desktop */
.round-stats-content {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 14px 0 !important;
}

.round-content-stat {
    padding: 14px 10px !important;
}

.round-content-stat strong {
    font-size: 22px !important;
}

.round-content-stat span {
    font-size: 12px !important;
}

/* Informações ficam empilhadas */
.round-info-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 14px 0 !important;
}

/* Texto */
.round-editorial h2 {
    font-size: 18px !important;
    margin-bottom: 8px !important;
}

.round-editorial p {
    font-size: 15.5px !important;
    line-height: 1.7 !important;
}

/* Resultados */
.round-result-list {
    gap: 6px !important;
}

.round-result-item {
    padding: 10px 11px !important;
}

.round-result-item span {
    font-size: 13px !important;
    line-height: 1.35;
}

.round-result-item strong {
    font-size: 15px !important;
}

/* FAQ */
.round-faq details {
    padding: 11px 12px !important;
}

.round-faq summary {
    font-size: 14.5px !important;
}

.round-faq details p {
    font-size: 14.5px !important;
}

/* Mobile */
@media (max-width: 640px) {
    .round-editorial {
        margin-top: 18px;
    }

    .round-stats-content {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .round-content-stat {
        padding: 12px 8px !important;
    }

    .round-content-stat strong {
        font-size: 20px !important;
    }

    .round-editorial > .card,
    .round-info-grid > .card {
        padding: 14px !important;
    }

    .round-result-item {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 4px !important;
    }

    .round-result-item strong {
        align-self: flex-end;
    }
}


/* ============================================================
   PARTIDA — CONTEÚDO EDITORIAL
   ============================================================ */

.match-editorial {
    width: 100%;
    margin-top: 24px;
}

.match-editorial > .card,
.match-info-grid {
    margin-bottom: 14px;
}

.match-editorial h2 {
    font-size: 19px;
    line-height: 1.35;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.match-editorial p {
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.match-editorial p:last-child {
    margin-bottom: 0;
}


/* Comunidade */

.match-community-numbers {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin: 16px 0;
}

.match-community-numbers > div {
    min-width: 0;
    text-align: center;
    padding: 13px 8px;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.match-community-numbers strong {
    display: block;
    font-size: 21px;
    font-weight: 900;
    color: var(--navy-2);
}

.match-community-numbers span {
    display: block;
    margin-top: 4px;
    font-size: 11.5px;
    line-height: 1.3;
    color: var(--ink-4);
    overflow: hidden;
    text-overflow: ellipsis;
}

.match-data-note {
    font-size: 12.5px !important;
    color: var(--ink-4) !important;
}


/* Informações */

.match-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.match-content-icon {
    font-size: 25px;
    margin-bottom: 8px;
}


/* FAQ */

.match-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.match-faq details {
    border: 1px solid var(--border);
    background: #f8fafc;
    border-radius: 10px;
    padding: 11px 13px;
}

.match-faq summary {
    cursor: pointer;
    font-size: 14.5px;
    line-height: 1.5;
    font-weight: 700;
    color: var(--ink);
}

.match-faq details p {
    font-size: 14.5px;
    line-height: 1.7;
    margin-top: 9px;
}


@media(max-width:640px) {

    .match-editorial {
        margin-top: 18px;
    }

    .match-editorial .card {
        padding: 15px !important;
    }

    .match-editorial h2 {
        font-size: 18px;
    }

    .match-editorial p {
        font-size: 15px;
    }

    .match-community-numbers {
        gap: 6px;
    }

    .match-community-numbers > div {
        padding: 11px 5px;
    }

    .match-community-numbers strong {
        font-size: 19px;
    }

    .match-community-numbers span {
        font-size: 10.5px;
    }

}


/* ============================================================
   LIGA PÚBLICA — CONTEÚDO EDITORIAL
   ============================================================ */

.league-editorial {
    width: 100%;
    margin-top: 24px;
}

.league-editorial > .card,
.league-info-grid {
    margin-bottom: 14px;
}

.league-editorial h2 {
    font-size: 19px;
    line-height: 1.35;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.league-editorial p {
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.league-editorial p:last-child {
    margin-bottom: 0;
}


/* Estatísticas */

.league-editorial-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
    margin: 14px 0;
}

.league-editorial-stats .card {
    min-width: 0;
    text-align: center;
    padding: 15px 8px !important;
}

.league-editorial-stats strong {
    display: block;
    font-size: 20px;
    font-weight: 900;
    color: var(--navy-2);
    overflow: hidden;
    text-overflow: ellipsis;
}

.league-editorial-stats span {
    display: block;
    margin-top: 3px;
    font-size: 11.5px;
    color: var(--ink-4);
}


/* Líder */

.league-section-label {
    font-size: 10.5px;
    font-weight: 800;
    color: var(--accent);
    letter-spacing: .08em;
    margin-bottom: 6px;
}

.league-top-three {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin-top: 14px;
}

.league-top-three > div {
    text-align: center;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 12px 6px;
    min-width: 0;
}

.league-top-three span,
.league-top-three strong,
.league-top-three small {
    display: block;
}

.league-top-three span {
    font-size: 21px;
    margin-bottom: 4px;
}

.league-top-three strong {
    font-size: 12.5px;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.league-top-three small {
    font-size: 11px;
    color: var(--ink-4);
    margin-top: 3px;
}


/* Informações */

.league-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.league-content-icon {
    font-size: 26px;
    margin-bottom: 8px;
}


/* FAQ */

.league-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.league-faq details {
    border: 1px solid var(--border);
    background: #f8fafc;
    border-radius: 10px;
    padding: 11px 13px;
}

.league-faq summary {
    cursor: pointer;
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--ink);
}

.league-faq details p {
    margin-top: 9px;
    font-size: 14.5px;
    line-height: 1.7;
}


@media(max-width:640px) {

    .league-editorial {
        margin-top: 18px;
    }

    .league-editorial-stats {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .league-editorial-stats .card:last-child {
        grid-column: 1 / -1;
    }

    .league-info-grid {
        grid-template-columns: 1fr;
    }

    .league-top-three {
        grid-template-columns: 1fr;
    }

    .league-editorial .card {
        padding: 15px !important;
    }

    .league-editorial p {
        font-size: 15px;
    }

}


/* ============================================================
   LIGAS — LISTAGEM PÚBLICA
   ============================================================ */

.leagues-index-editorial {
    width: 100%;
    margin-top: 32px;
}

.leagues-index-editorial > .card,
.leagues-index-grid {
    margin-bottom: 14px;
}

.leagues-index-editorial h2 {
    font-size: 20px;
    line-height: 1.35;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.leagues-index-editorial p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink-3);
    margin: 0 0 10px;
}

.leagues-index-editorial p:last-child {
    margin-bottom: 0;
}

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

.leagues-index-grid > .card {
    min-width: 0;
    height: 100%;
}

.leagues-index-icon {
    font-size: 28px;
    margin-bottom: 10px;
}

.leagues-public-summary {
    margin-bottom: 14px;
}

.leagues-index-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.leagues-index-faq details {
    border: 1px solid var(--border);
    background: #f8fafc;
    border-radius: 10px;
    padding: 12px 14px;
}

.leagues-index-faq summary {
    cursor: pointer;
    font-size: 15.5px;
    line-height: 1.5;
    font-weight: 700;
    color: var(--ink);
}

.leagues-index-faq details p {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.7;
}


@media(max-width:800px) {

    .leagues-index-grid {
        grid-template-columns: 1fr;
    }

}


@media(max-width:640px) {

    .leagues-index-editorial {
        margin-top: 22px;
    }

    .leagues-index-editorial .card {
        padding: 16px !important;
    }

    .leagues-index-editorial p {
        font-size: 15.5px;
    }

}


/* ============================================================
   HISTÓRICO — RESUMO E AJUDA
   ============================================================ */

.history-summary-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.history-summary-card {
    min-width: 0;
    text-align: center;
    padding: 16px 10px !important;
}

.history-summary-card strong {
    display: block;
    font-size: 23px;
    font-weight: 900;
    color: var(--navy-2);
}

.history-summary-card span {
    display: block;
    font-size: 12px;
    color: var(--ink-4);
    margin-top: 3px;
}

.history-help-card {
    margin-top: 18px;
}

.history-help-card h2 {
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
    margin: 0 0 10px;
}

.history-help-card > p {
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--ink-3);
    margin: 0 0 14px;
}

.history-help-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.history-help-list > div {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.history-help-list > div > span {
    font-size: 20px;
    flex-shrink: 0;
}

.history-help-list strong {
    display: block;
    font-size: 13.5px;
    color: var(--ink);
    margin-bottom: 2px;
}

.history-help-list p {
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--ink-4);
    margin: 0;
}

@media(max-width:700px) {

    .history-summary-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .history-help-list {
        grid-template-columns: 1fr;
    }

}

@media(max-width:480px) {

    .history-summary-card {
        padding: 13px 8px !important;
    }

    .history-summary-card strong {
        font-size: 20px;
    }

}


/* ============================================================
   CLASSIFICAÇÃO — SÉRIE A / SÉRIE B
   ============================================================ */

.standings-page {
    padding: 30px 0 64px;
}

.standings-wrap {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
}

.standings-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-bottom: 18px;
    font-size: 12px;
    color: var(--ink-4);
}

.standings-breadcrumb a {
    color: var(--ink-3);
    text-decoration: none;
}

.standings-hero {
    margin-bottom: 18px;
}

.standings-kicker {
    display: block;
    margin-bottom: 5px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    color: var(--accent);
}

.standings-hero h1 {
    margin: 0 0 7px;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 900;
    color: var(--ink);
}

.standings-hero p {
    max-width: 760px;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-3);
}


/* Abas */

.standings-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.standings-tabs a {
    padding: 9px 16px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: white;
    color: var(--ink-3);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.standings-tabs a.active {
    background: var(--navy-2);
    border-color: var(--navy-2);
    color: white;
}


/* Resumo */

.standings-summary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.standings-summary .card {
    min-width: 0;
    text-align: center;
    padding: 15px 10px !important;
}

.standings-summary span {
    display: block;
    margin-bottom: 3px;
    font-size: 11.5px;
    color: var(--ink-4);
}

.standings-summary strong {
    display: block;
    overflow: hidden;
    font-size: 20px;
    font-weight: 900;
    color: var(--navy-2);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Tabela */

.standings-card {
    padding: 0 !important;
    overflow: hidden;
}

.standings-card-header {
    padding: 18px 20px;
    border-bottom: 1px solid var(--border);
}

.standings-card-header h2 {
    margin: 0 0 3px;
    font-size: 18px;
    font-weight: 900;
    color: var(--ink);
}

.standings-card-header p {
    margin: 0;
    font-size: 12px;
    color: var(--ink-4);
}

.standings-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.standings-table {
    width: 100%;
    min-width: 850px;
    border-collapse: collapse;
}

.standings-table th {
    padding: 10px 8px;
    background: #f8fafc;
    border-bottom: 1px solid var(--border);
    font-size: 10.5px;
    font-weight: 800;
    color: var(--ink-4);
    text-align: center;
    text-transform: uppercase;
}

.standings-table .team-th {
    text-align: left;
}

.standings-table td {
    padding: 11px 8px;
    border-bottom: 1px solid var(--border);
    font-size: 12.5px;
    color: var(--ink-3);
    text-align: center;
}

.standings-table tbody tr:last-child td {
    border-bottom: 0;
}

.standing-rank {
    color: var(--ink);
}

.standing-team {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 190px;
    text-align: left !important;
}

.standing-team img {
    width: 27px;
    height: 27px;
    object-fit: contain;
    flex-shrink: 0;
}

.standing-team span {
    overflow: hidden;
    font-weight: 700;
    color: var(--ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.standing-points {
    font-weight: 900;
    color: var(--navy-2) !important;
}

.standing-form {
    display: flex;
    justify-content: center;
    gap: 3px;
}

.standing-form span {
    display: flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: white;
    font-size: 9px;
    font-weight: 800;
}

.standing-form .win {
    background: #16a34a;
}

.standing-form .draw {
    background: #94a3b8;
}

.standing-form .loss {
    background: #dc2626;
}


/* Editorial */

.standings-editorial {
    margin-top: 20px;
}

.standings-editorial > .card,
.standings-info-grid {
    margin-bottom: 14px;
}

.standings-editorial h2 {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 900;
    color: var(--ink);
}

.standings-editorial p {
    margin: 0 0 10px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink-3);
}

.standings-editorial p:last-child {
    margin-bottom: 0;
}

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

.standings-info-icon {
    margin-bottom: 8px;
    font-size: 27px;
}


/* FAQ */

.standings-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.standings-faq details {
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.standings-faq summary {
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    color: var(--ink);
}

.standings-faq details p {
    margin-top: 9px;
    font-size: 14.5px;
}


/* Tablet */

@media(max-width:800px) {

    .standings-summary {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}


/* Mobile */

@media(max-width:640px) {

    .standings-page {
        padding-top: 20px;
    }

    .standings-wrap {
        width: min(100% - 20px,1080px);
    }

    .standings-hero h1 {
        font-size: 23px;
    }

    .standings-hero p {
        font-size: 15px;
    }

    .standings-tabs {
        width: 100%;
    }

    .standings-tabs a {
        flex: 1;
        text-align: center;
    }

    .standings-summary {
        gap: 8px;
    }

    .standings-summary .card {
        padding: 13px 7px !important;
    }

    .standings-summary strong {
        font-size: 18px;
    }

    .standings-card-header {
        padding: 15px;
    }

    .standings-info-grid {
        grid-template-columns: 1fr;
    }

    .standings-editorial .card {
        padding: 15px !important;
    }

    .standings-editorial h2 {
        font-size: 18px;
    }

    .standings-editorial p {
        font-size: 15px;
    }

}

/* ============================================================
   CLASSIFICAÇÃO — MOBILE FINAL
   ============================================================ */

@media (max-width: 640px) {

    .standings-page {
        padding: 14px 0 40px;
        overflow-x: hidden;
    }

    .standings-wrap {
        width: calc(100% - 24px);
        max-width: 100%;
        margin: 0 auto;
    }

    /* Breadcrumb */

    .standings-breadcrumb {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 3px;
        width: 100%;
        margin-bottom: 14px;
        overflow: hidden;
        font-size: 11px;
        white-space: nowrap;
    }

    .standings-breadcrumb a,
    .standings-breadcrumb span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .standings-breadcrumb a:nth-of-type(2) {
        flex: 1;
    }

    .standings-breadcrumb i {
        flex: 0 0 auto;
        font-size: 11px;
    }

    /* Hero */

    .standings-hero {
        margin-bottom: 14px;
    }

    .standings-kicker {
        margin-bottom: 5px;
        font-size: 10px;
    }

    .standings-hero h1 {
        margin: 0 0 7px;
        font-size: 21px;
        line-height: 1.25;
    }

    .standings-hero p {
        margin: 0;
        font-size: 14px;
        line-height: 1.55;
    }

    /* Série A / Série B */

    .standings-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
        margin: 0 0 14px;
    }

    .standings-tabs a {
        display: block;
        width: auto;
        padding: 9px 8px;
        border-radius: 10px;
        font-size: 12px;
        text-align: center;
    }

    /* Resumo 2 x 2 */

    .standings-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
        margin-bottom: 14px;
    }

    .standings-summary .card {
        display: flex;
        min-width: 0;
        min-height: 72px;
        padding: 11px 8px !important;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        border-radius: 12px;
        text-align: center;
    }

    .standings-summary span {
        margin: 0 0 3px;
        font-size: 10px;
        line-height: 1.25;
    }

    .standings-summary strong {
        width: 100%;
        font-size: 16px;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Card principal */

    .standings-card {
        width: 100%;
        max-width: 100%;
        padding: 0 !important;
        border-radius: 12px;
        overflow: hidden;
    }

    .standings-card-header {
        padding: 13px 12px;
    }

    .standings-card-header h2 {
        margin-bottom: 2px;
        font-size: 16px;
    }

    .standings-card-header p {
        font-size: 11px;
    }

    /*
     * MOBILE:
     * POS | TIME | PTS | J | SG
     *
     * V/E/D/GP/GC/Forma ficam ocultos.
     */

    .standings-table-scroll {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .standings-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed;
        border-collapse: collapse;
    }

    .standings-table th,
    .standings-table td {
        box-sizing: border-box;
        padding: 9px 3px;
        font-size: 11px;
        vertical-align: middle;
    }

    .standings-table th {
        font-size: 9px;
    }

    /* POS */

    .standings-table th:nth-child(1),
    .standings-table td:nth-child(1) {
        width: 34px;
    }

    /* TIME */

    .standings-table th:nth-child(2),
    .standings-table td:nth-child(2) {
        width: auto;
    }

    /* PTS */

    .standings-table th:nth-child(3),
    .standings-table td:nth-child(3) {
        width: 37px;
    }

    /* J */

    .standings-table th:nth-child(4),
    .standings-table td:nth-child(4) {
        width: 31px;
    }

    /* SG */

    .standings-table th:nth-child(10),
    .standings-table td:nth-child(10) {
        width: 39px;
    }

    /* Esconde V E D GP GC */

    .standings-table th:nth-child(5),
    .standings-table td:nth-child(5),
    .standings-table th:nth-child(6),
    .standings-table td:nth-child(6),
    .standings-table th:nth-child(7),
    .standings-table td:nth-child(7),
    .standings-table th:nth-child(8),
    .standings-table td:nth-child(8),
    .standings-table th:nth-child(9),
    .standings-table td:nth-child(9),

    /* Esconde Forma */

    .standings-table th:nth-child(11),
    .standings-table td:nth-child(11) {
        display: none !important;
    }

    /* Clube */

    .standing-team {
        display: flex !important;
        width: 100%;
        min-width: 0 !important;
        align-items: center !important;
        gap: 6px;
        text-align: left !important;
    }

    .standing-team img {
        display: block;
        width: 26px !important;
        height: 26px !important;
        max-width: 26px !important;
        max-height: 26px !important;
        flex: 0 0 26px;
        object-fit: contain;
    }

    .standing-team span {
        display: block;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .standing-rank {
        font-size: 11px;
    }

    .standing-points {
        font-size: 12px;
    }

    /* Conteúdo editorial */

    .standings-editorial {
        margin-top: 14px;
    }

    .standings-editorial > .card,
    .standings-info-grid {
        margin-bottom: 10px;
    }

    .standings-editorial .card {
        padding: 14px !important;
    }

    .standings-editorial h2 {
        margin-bottom: 8px;
        font-size: 17px;
        line-height: 1.3;
    }

    .standings-editorial p {
        margin-bottom: 9px;
        font-size: 14px;
        line-height: 1.6;
    }

    .standings-info-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .standings-info-icon {
        margin-bottom: 6px;
        font-size: 22px;
    }

    .standings-faq details {
        padding: 11px 12px;
    }

    .standings-faq summary {
        font-size: 14px;
        line-height: 1.35;
    }

    .standings-faq details p {
        font-size: 13.5px;
        line-height: 1.55;
    }
}


/* Celulares estreitos */

@media (max-width: 380px) {

    .standings-wrap {
        width: calc(100% - 18px);
    }

    .standings-hero h1 {
        font-size: 20px;
    }

    .standings-summary strong {
        font-size: 15px;
    }

    .standing-team img {
        width: 23px !important;
        height: 23px !important;
        max-width: 23px !important;
        max-height: 23px !important;
        flex-basis: 23px;
    }

    .standing-team span {
        font-size: 10.5px;
    }

}


/* ============================================================
   CLASSIFICAÇÃO — TABELA COMPLETA NO MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .standings-table-scroll {
        width: 100%;
        max-width: 100%;
        overflow-x: auto !important;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .standings-table {
        width: 100% !important;
        min-width: 790px !important;
        table-layout: auto !important;
    }

    /* Reexibe todas as colunas */
    .standings-table th:nth-child(5),
    .standings-table td:nth-child(5),
    .standings-table th:nth-child(6),
    .standings-table td:nth-child(6),
    .standings-table th:nth-child(7),
    .standings-table td:nth-child(7),
    .standings-table th:nth-child(8),
    .standings-table td:nth-child(8),
    .standings-table th:nth-child(9),
    .standings-table td:nth-child(9),
    .standings-table th:nth-child(11),
    .standings-table td:nth-child(11) {
        display: table-cell !important;
    }

    .standings-table th,
    .standings-table td {
        width: auto !important;
        padding: 10px 7px !important;
        white-space: nowrap;
    }

    /* Posição fixa */
    .standings-table th:nth-child(1),
    .standings-table td:nth-child(1) {
        position: sticky;
        left: 0;
        z-index: 3;
        width: 38px !important;
        min-width: 38px;
        background: #fff;
    }

    .standings-table thead th:nth-child(1) {
        background: #f8fafc;
        z-index: 5;
    }

    /* Time também fixo */
    .standings-table th:nth-child(2),
    .standings-table td:nth-child(2) {
        position: sticky;
        left: 38px;
        z-index: 3;
        width: 175px !important;
        min-width: 175px;
        background: #fff;
        box-shadow: 5px 0 8px rgba(15, 23, 42, .05);
    }

    .standings-table thead th:nth-child(2) {
        background: #f8fafc;
        z-index: 5;
    }

    .standing-team {
        width: 100% !important;
        min-width: 0 !important;
    }

    .standing-team img {
        width: 25px !important;
        height: 25px !important;
        max-width: 25px !important;
        max-height: 25px !important;
    }

    .standing-team span {
        max-width: 130px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .standing-form {
        min-width: 110px;
    }

}

/* ============================================================
   ARTILHEIROS — CLASSIFICAÇÃO
   ============================================================ */

.top-scorers-section {
    margin-top: 18px;
    margin-bottom: 18px;
    padding: 0 !important;
    overflow: hidden;
}

.top-scorers-header {
    padding: 18px 20px;
    border-bottom: 1px solid var(--border);
}

.top-scorers-kicker {
    display: block;
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: var(--accent);
}

.top-scorers-header h2 {
    margin: 0 0 4px;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.top-scorers-header p {
    margin: 0;
    font-size: 12.5px;
    color: var(--ink-4);
}

.top-scorers-list {
    display: flex;
    flex-direction: column;
}

.top-scorer-row {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border);
}

.top-scorer-row:last-child {
    border-bottom: 0;
}

.top-scorer-position {
    font-size: 15px;
    font-weight: 900;
    color: var(--ink-4);
    text-align: center;
}

.top-scorer-player {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.top-scorer-photo {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: #f1f5f9;
}

.top-scorer-photo-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink-4);
}

.top-scorer-data {
    min-width: 0;
}

.top-scorer-data > strong {
    display: block;
    overflow: hidden;
    font-size: 14px;
    font-weight: 800;
    color: var(--ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-scorer-team {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    min-width: 0;
}

.top-scorer-team img {
    width: 17px;
    height: 17px;
    object-fit: contain;
    flex-shrink: 0;
}

.top-scorer-team span {
    overflow: hidden;
    font-size: 11.5px;
    color: var(--ink-4);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-scorer-stats {
    display: grid;
    grid-template-columns: repeat(3,62px);
    gap: 7px;
}

.top-scorer-stats > div {
    text-align: center;
}

.top-scorer-stats strong {
    display: block;
    font-size: 16px;
    font-weight: 900;
    color: var(--navy-2);
}

.top-scorer-stats span {
    display: block;
    margin-top: 1px;
    font-size: 9.5px;
    color: var(--ink-4);
}


/* Mobile */

@media (max-width: 640px) {

    .top-scorers-section {
        margin-top: 14px;
        margin-bottom: 14px;
    }

    .top-scorers-header {
        padding: 14px 12px;
    }

    .top-scorers-header h2 {
        font-size: 17px;
    }

    .top-scorers-header p {
        font-size: 11.5px;
    }

    .top-scorer-row {
        grid-template-columns: 28px minmax(0,1fr);
        gap: 8px;
        padding: 11px 10px;
    }

    .top-scorer-position {
        font-size: 13px;
    }

    .top-scorer-photo {
        width: 38px;
        height: 38px;
    }

    .top-scorer-data > strong {
        font-size: 13px;
    }

    .top-scorer-team span {
        font-size: 10.5px;
    }

    .top-scorer-stats {
        grid-column: 2;
        display: flex;
        gap: 16px;
        margin-top: 4px;
    }

    .top-scorer-stats > div {
        text-align: left;
    }

    .top-scorer-stats strong {
        font-size: 14px;
    }

    .top-scorer-stats span {
        font-size: 9px;
    }

}


/* ============================================================
   TIMES
   ============================================================ */

.teams-page,
.team-page {
    padding: 28px 0 64px;
}

.teams-wrap {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
}

.teams-breadcrumb {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 18px;
    font-size: 12px;
    color: var(--ink-4);
}

.teams-breadcrumb a {
    color: var(--ink-3);
    text-decoration: none;
}

.teams-hero {
    margin-bottom: 18px;
}

.teams-kicker,
.teams-section-header span,
.team-section-title span,
.team-hero-info > span {
    display: block;
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: var(--accent);
}

.teams-hero h1 {
    margin: 0 0 7px;
    font-size: 28px;
    font-weight: 900;
    color: var(--ink);
}

.teams-hero p {
    max-width: 760px;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-3);
}


/* Busca */

.teams-search-box {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 26px;
    padding: 0 14px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
}

.teams-search-box i {
    color: var(--ink-4);
}

.teams-search-box input {
    width: 100%;
    padding: 13px 0;
    outline: none;
    background: transparent;
    border: 0;
    font-size: 14px;
    color: var(--ink);
}


/* Campeonatos */

.teams-competition-section {
    margin-bottom: 30px;
}

.teams-section-header,
.team-section-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 12px;
}

.teams-section-header h2,
.team-section-title h2 {
    margin: 0;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.teams-section-header a,
.team-section-title a {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    color: var(--navy-2);
    text-decoration: none;
}

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

.team-card {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 13px !important;
    text-decoration: none;
}

.team-card-logo {
    display: flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
}

.team-card-logo img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.team-card-info {
    min-width: 0;
    flex: 1;
}

.team-card-info strong {
    display: block;
    overflow: hidden;
    font-size: 13.5px;
    font-weight: 800;
    color: var(--ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-card-info span {
    display: block;
    margin-top: 2px;
    font-size: 10.5px;
    color: var(--ink-4);
}

.team-card-arrow {
    flex-shrink: 0;
    color: var(--ink-4);
}


/* Editorial */

.teams-editorial,
.team-editorial {
    margin-top: 22px;
}

.teams-editorial > .card,
.team-editorial > .card {
    margin-bottom: 12px;
}

.teams-editorial h2,
.team-editorial h2 {
    margin: 0 0 9px;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.teams-editorial p,
.team-editorial p {
    margin: 0 0 10px;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--ink-3);
}

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

.teams-info-grid i {
    display: block;
    margin-bottom: 8px;
    font-size: 23px;
    color: var(--navy-2);
}


/* Página individual */

.team-hero {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 14px;
}

.team-hero-logo {
    display: flex;
    width: 88px;
    height: 88px;
    align-items: center;
    justify-content: center;
    flex: 0 0 88px;
}

.team-hero-logo img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.team-hero-info h1 {
    margin: 0 0 5px;
    font-size: 27px;
    font-weight: 900;
    color: var(--ink);
}

.team-hero-info p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--ink-4);
}


/* Resumo */

.team-standing-summary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 9px;
    margin-bottom: 14px;
}

.team-standing-summary .card {
    padding: 14px 10px !important;
    text-align: center;
}

.team-standing-summary span {
    display: block;
    margin-bottom: 3px;
    font-size: 10.5px;
    color: var(--ink-4);
}

.team-standing-summary strong {
    display: block;
    font-size: 20px;
    font-weight: 900;
    color: var(--navy-2);
}


/* Campanha */

.team-campaign {
    margin-bottom: 14px;
}

.team-campaign-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 8px;
}

.team-campaign-grid > div {
    padding: 11px;
    background: #f8fafc;
    border-radius: 9px;
    text-align: center;
}

.team-campaign-grid strong {
    display: block;
    font-size: 17px;
    color: var(--ink);
}

.team-campaign-grid span {
    display: block;
    margin-top: 2px;
    font-size: 10px;
    color: var(--ink-4);
}

.team-form {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

.team-form > span {
    font-size: 11px;
    color: var(--ink-4);
}

.team-form > div {
    display: flex;
    gap: 4px;
}

.team-form b {
    display: flex;
    width: 23px;
    height: 23px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 9px;
    color: #fff;
}

.team-form .win { background:#16a34a; }
.team-form .draw { background:#94a3b8; }
.team-form .loss { background:#dc2626; }


/* Partidas */

.team-columns {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.team-match-list {
    display: flex;
    flex-direction: column;
}

.team-match-row {
    display: block;
    padding: 11px 0;
    border-bottom: 1px solid var(--border);
    text-decoration: none;
}

.team-match-row:last-child {
    border-bottom: 0;
}

.team-match-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 7px;
}

.team-match-meta span,
.team-match-meta small {
    font-size: 10px;
    color: var(--ink-4);
}

.team-match-teams {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    align-items: center;
}

.team-match-teams > div {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

.team-match-teams > div:last-child {
    justify-content: flex-end;
}

.team-match-teams img {
    width: 23px;
    height: 23px;
    object-fit: contain;
}

.team-match-teams span {
    overflow: hidden;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-result {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    align-items: center;
}

.team-result span {
    overflow: hidden;
    font-size: 11px;
    color: var(--ink-3);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-result span:last-child {
    text-align: right;
}

.team-result strong {
    font-size: 13px;
    color: var(--ink);
}

.team-recent-summary {
    display: flex;
    gap: 7px;
    margin-bottom: 5px;
}

.team-recent-summary span {
    padding: 5px 8px;
    background: #f8fafc;
    border-radius: 7px;
    font-size: 10px;
    color: var(--ink-4);
}

.team-empty {
    padding: 20px 0;
    font-size: 12px;
    color: var(--ink-4);
    text-align: center;
}


/* ============================================================
   TIMES — MOBILE
   ============================================================ */

@media(max-width:700px) {

    .teams-page,
    .team-page {
        padding: 16px 0 44px;
    }

    .teams-wrap {
        width: calc(100% - 20px);
    }

    .teams-breadcrumb {
        margin-bottom: 13px;
        font-size: 11px;
    }

    .teams-hero h1 {
        font-size: 22px;
    }

    .teams-hero p {
        font-size: 14px;
        line-height: 1.6;
    }

    .teams-search-box {
        margin-bottom: 20px;
    }

    .teams-grid {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .team-card {
        padding: 10px !important;
    }

    .team-card-logo {
        width: 37px;
        height: 37px;
        flex-basis: 37px;
    }

    .team-card-logo img {
        width: 34px;
        height: 34px;
    }

    .teams-section-header {
        align-items: center;
    }

    .teams-section-header h2 {
        font-size: 17px;
    }

    .teams-section-header a {
        font-size: 10.5px;
    }

    .teams-info-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    /* Time individual */

    .team-hero {
        gap: 12px;
        padding: 14px !important;
    }

    .team-hero-logo {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .team-hero-logo img {
        width: 58px;
        height: 58px;
    }

    .team-hero-info h1 {
        font-size: 21px;
    }

    .team-hero-info p {
        font-size: 11.5px;
    }

    .team-standing-summary {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 7px;
    }

    .team-standing-summary .card {
        padding: 11px 7px !important;
    }

    .team-standing-summary strong {
        font-size: 17px;
    }

    .team-campaign {
        padding: 14px !important;
    }

    .team-section-title h2 {
        font-size: 16px;
    }

    .team-campaign-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 6px;
    }

    .team-campaign-grid > div {
        padding: 9px 4px;
    }

    .team-campaign-grid strong {
        font-size: 15px;
    }

    .team-columns {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .team-matches-card {
        padding: 14px !important;
    }

    .teams-editorial .card,
    .team-editorial .card {
        padding: 14px !important;
    }

    .teams-editorial h2,
    .team-editorial h2 {
        font-size: 17px;
    }

    .teams-editorial p,
    .team-editorial p {
        font-size: 14px;
        line-height: 1.6;
    }

}


/* ============================================================
   PRÓXIMOS JOGOS
   ============================================================ */

.upcoming-page {
    padding: 28px 0 64px;
}

.upcoming-wrap {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
}

.upcoming-breadcrumb {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 18px;
    font-size: 12px;
    color: var(--ink-4);
}

.upcoming-breadcrumb a {
    color: var(--ink-3);
    text-decoration: none;
}

.upcoming-hero {
    margin-bottom: 18px;
}

.upcoming-kicker,
.upcoming-day-header span {
    display: block;
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: var(--accent);
}

.upcoming-hero h1 {
    margin: 0 0 7px;
    font-size: 28px;
    font-weight: 900;
    color: var(--ink);
}

.upcoming-hero p {
    max-width: 760px;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-3);
}


/* Resumo */

.upcoming-summary {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 9px;
    margin-bottom: 16px;
}

.upcoming-summary .card {
    padding: 14px 10px !important;
    text-align: center;
}

.upcoming-summary span {
    display: block;
    margin-bottom: 3px;
    font-size: 10.5px;
    color: var(--ink-4);
}

.upcoming-summary strong {
    font-size: 20px;
    font-weight: 900;
    color: var(--navy-2);
}


/* Filtros */

.upcoming-filter-card {
    margin-bottom: 14px;
}

.upcoming-filter-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.upcoming-filter-title > i {
    font-size: 20px;
    color: var(--navy-2);
}

.upcoming-filter-title strong {
    display: block;
    font-size: 13px;
    color: var(--ink);
}

.upcoming-filter-title span {
    display: block;
    margin-top: 2px;
    font-size: 10.5px;
    color: var(--ink-4);
}

.upcoming-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.upcoming-filters a {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    color: var(--ink-3);
    text-decoration: none;
    background: #fff;
}

.upcoming-filters a.active {
    color: #fff;
    background: var(--navy-2);
    border-color: var(--navy-2);
}

.upcoming-filters img {
    width: 17px;
    height: 17px;
    object-fit: contain;
}

.upcoming-selected {
    margin-bottom: 17px;
    font-size: 11.5px;
    color: var(--ink-4);
}

.upcoming-selected strong {
    color: var(--ink);
}

.upcoming-selected a {
    margin-left: 7px;
    color: var(--navy-2);
}


/* Datas */

.upcoming-day {
    margin-bottom: 20px;
}

.upcoming-day-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}

.upcoming-day-header h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--ink);
    text-transform: capitalize;
}

.upcoming-day-header small {
    font-size: 10.5px;
    color: var(--ink-4);
}

.upcoming-match-card {
    padding: 0 !important;
    overflow: hidden;
}

.upcoming-match-row {
    padding: 13px 16px;
}

.upcoming-match-row.has-border {
    border-bottom: 1px solid var(--border);
}

.upcoming-match-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}

.upcoming-competition {
    font-size: 10.5px;
    font-weight: 800;
    color: var(--navy-2);
    text-decoration: none;
}

.upcoming-match-info > span {
    font-size: 10px;
    color: var(--ink-4);
}


/* Confronto */

.upcoming-game {
    display: grid;
    grid-template-columns: minmax(0,1fr) 72px minmax(0,1fr);
    align-items: center;
    gap: 10px;
}

.upcoming-team {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    text-decoration: none;
}

.upcoming-team.home {
    justify-content: flex-end;
}

.upcoming-team.away {
    justify-content: flex-start;
}

.upcoming-team img {
    width: 33px;
    height: 33px;
    flex-shrink: 0;
    object-fit: contain;
}

.upcoming-team span {
    overflow: hidden;
    font-size: 13px;
    font-weight: 800;
    color: var(--ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.upcoming-team.home span {
    text-align: right;
}

.upcoming-center {
    text-align: center;
}

.upcoming-center strong {
    display: block;
    font-size: 14px;
    color: var(--ink);
}

.upcoming-center span {
    display: block;
    margin-top: 1px;
    font-size: 10px;
    color: var(--ink-4);
}

.upcoming-match-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px dashed var(--border);
}

.upcoming-match-footer span {
    font-size: 9.5px;
    color: var(--ink-4);
}

.upcoming-match-footer > a {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 700;
    color: var(--navy-2);
    text-decoration: none;
}


/* Editorial */

.upcoming-editorial {
    margin-top: 23px;
}

.upcoming-editorial > .card,
.upcoming-info-grid {
    margin-bottom: 11px;
}

.upcoming-editorial h2 {
    margin: 0 0 9px;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.upcoming-editorial p {
    margin: 0 0 9px;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--ink-3);
}

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

.upcoming-info-grid i {
    display: block;
    margin-bottom: 8px;
    font-size: 23px;
    color: var(--navy-2);
}

.upcoming-faq {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.upcoming-faq details {
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #f8fafc;
}

.upcoming-faq summary {
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ink);
}

.upcoming-faq p {
    margin: 8px 0 0;
    font-size: 13px;
}


/* Vazio */

.upcoming-empty {
    padding: 36px 20px !important;
    text-align: center;
}

.upcoming-empty > i {
    display: block;
    margin-bottom: 9px;
    font-size: 33px;
    color: var(--ink-4);
}

.upcoming-empty h2 {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 900;
    color: var(--ink);
}

.upcoming-empty p {
    max-width: 520px;
    margin: 0 auto 14px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ink-4);
}


/* ============================================================
   PRÓXIMOS JOGOS — MOBILE
   ============================================================ */

@media(max-width:700px) {

    .upcoming-page {
        padding: 16px 0 44px;
    }

    .upcoming-wrap {
        width: calc(100% - 20px);
    }

    .upcoming-breadcrumb {
        margin-bottom: 13px;
        font-size: 11px;
    }

    .upcoming-hero h1 {
        font-size: 22px;
    }

    .upcoming-hero p {
        font-size: 14px;
        line-height: 1.6;
    }

    .upcoming-summary {
        gap: 7px;
    }

    .upcoming-summary .card {
        padding: 10px 5px !important;
    }

    .upcoming-summary span {
        font-size: 9.5px;
    }

    .upcoming-summary strong {
        font-size: 17px;
    }

    .upcoming-filter-card {
        padding: 13px !important;
    }

    .upcoming-filters {
        flex-wrap: nowrap;
        width: 100%;
        padding-bottom: 3px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .upcoming-filters a {
        flex-shrink: 0;
        white-space: nowrap;
    }

    .upcoming-day-header h2 {
        font-size: 16px;
    }

    .upcoming-match-row {
        padding: 12px 10px;
    }

    .upcoming-game {
        grid-template-columns: minmax(0,1fr) 50px minmax(0,1fr);
        gap: 5px;
    }

    .upcoming-team {
        gap: 5px;
    }

    .upcoming-team img {
        width: 27px;
        height: 27px;
    }

    .upcoming-team span {
        font-size: 11px;
    }

    .upcoming-center strong {
        font-size: 12px;
    }

    .upcoming-match-footer {
        align-items: flex-start;
    }

    .upcoming-match-footer > div {
        min-width: 0;
    }

    .upcoming-info-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .upcoming-editorial .card {
        padding: 14px !important;
    }

    .upcoming-editorial h2 {
        font-size: 17px;
    }

    .upcoming-editorial p {
        font-size: 14px;
        line-height: 1.6;
    }

}

@media(max-width:380px) {

    .upcoming-game {
        grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr);
    }

    .upcoming-team img {
        width: 24px;
        height: 24px;
    }

    .upcoming-team span {
        font-size: 10px;
    }

}


/* ============================================================
   ARTILHEIROS
   ============================================================ */

.scorers-page {
    padding: 28px 0 64px;
}

.scorers-wrap {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
}

.scorers-breadcrumb {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 18px;
    font-size: 12px;
    color: var(--ink-4);
}

.scorers-breadcrumb a {
    color: var(--ink-3);
    text-decoration: none;
}

.scorers-hero {
    margin-bottom: 17px;
}

.scorers-kicker,
.scorers-card-header span {
    display: block;
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: var(--accent);
}

.scorers-hero h1 {
    margin: 0 0 7px;
    font-size: 28px;
    font-weight: 900;
    color: var(--ink);
}

.scorers-hero p {
    max-width: 760px;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-3);
}


/* Abas */

.scorers-tabs {
    display: flex;
    gap: 7px;
    margin-bottom: 16px;
}

.scorers-tabs a {
    padding: 8px 15px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    color: var(--ink-3);
    text-decoration: none;
}

.scorers-tabs a.active {
    color: #fff;
    background: var(--navy-2);
    border-color: var(--navy-2);
}


/* Resumo */

.scorers-summary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 9px;
    margin-bottom: 16px;
}

.scorers-summary .card {
    min-width: 0;
    padding: 14px 9px !important;
    text-align: center;
}

.scorers-summary span {
    display: block;
    margin-bottom: 3px;
    font-size: 10.5px;
    color: var(--ink-4);
}

.scorers-summary strong {
    display: block;
    overflow: hidden;
    font-size: 18px;
    font-weight: 900;
    color: var(--navy-2);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Lista */

.scorers-card {
    padding: 0 !important;
    overflow: hidden;
}

.scorers-card-header {
    padding: 18px 20px;
    border-bottom: 1px solid var(--border);
}

.scorers-card-header h2 {
    margin: 0 0 3px;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.scorers-card-header p {
    margin: 0;
    font-size: 11px;
    color: var(--ink-4);
}

.scorers-list {
    display: flex;
    flex-direction: column;
}

.scorer-row {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border);
}

.scorer-row:last-child {
    border-bottom: 0;
}

.scorer-position {
    text-align: center;
}

.scorer-position strong {
    font-size: 15px;
    font-weight: 900;
    color: var(--ink-4);
}


/* Jogador */

.scorer-player {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.scorer-photo {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 50%;
    object-fit: cover;
    background: #f1f5f9;
}

.scorer-photo-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink-4);
}

.scorer-player-data {
    min-width: 0;
}

.scorer-player-data > strong {
    display: block;
    overflow: hidden;
    font-size: 14px;
    font-weight: 800;
    color: var(--ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scorer-team {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
}

.scorer-team img {
    width: 17px;
    height: 17px;
    object-fit: contain;
}

.scorer-team span {
    overflow: hidden;
    font-size: 11px;
    color: var(--ink-4);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Estatísticas */

.scorer-numbers {
    display: grid;
    grid-template-columns: repeat(4,64px);
    gap: 5px;
}

.scorer-numbers > div {
    text-align: center;
}

.scorer-numbers strong {
    display: block;
    font-size: 15px;
    font-weight: 900;
    color: var(--ink);
}

.scorer-numbers .main-stat strong {
    font-size: 18px;
    color: var(--navy-2);
}

.scorer-numbers span {
    display: block;
    margin-top: 1px;
    font-size: 9px;
    color: var(--ink-4);
}


/* Editorial */

.scorers-editorial {
    margin-top: 20px;
}

.scorers-editorial > .card,
.scorers-info-grid {
    margin-bottom: 11px;
}

.scorers-editorial h2 {
    margin: 0 0 9px;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.scorers-editorial p {
    margin: 0 0 9px;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--ink-3);
}

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

.scorers-info-grid i {
    display: block;
    margin-bottom: 8px;
    font-size: 23px;
    color: var(--navy-2);
}

.scorers-faq {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.scorers-faq details {
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #f8fafc;
}

.scorers-faq summary {
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ink);
}

.scorers-faq p {
    margin-top: 8px;
    font-size: 13px;
}


/* Vazio */

.scorers-empty {
    padding: 35px 20px;
    text-align: center;
}

.scorers-empty > i {
    display: block;
    margin-bottom: 8px;
    font-size: 32px;
    color: var(--ink-4);
}

.scorers-empty h2 {
    margin: 0 0 5px;
    font-size: 17px;
    font-weight: 900;
}

.scorers-empty p {
    margin: 0;
    font-size: 12px;
    color: var(--ink-4);
}


/* ============================================================
   ARTILHEIROS — MOBILE
   ============================================================ */

@media(max-width:700px) {

    .scorers-page {
        padding: 16px 0 44px;
    }

    .scorers-wrap {
        width: calc(100% - 20px);
    }

    .scorers-breadcrumb {
        margin-bottom: 13px;
        font-size: 11px;
    }

    .scorers-hero h1 {
        font-size: 22px;
    }

    .scorers-hero p {
        font-size: 14px;
        line-height: 1.6;
    }

    .scorers-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .scorers-tabs a {
        text-align: center;
    }

    .scorers-summary {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 7px;
    }

    .scorers-summary .card {
        padding: 11px 7px !important;
    }

    .scorers-summary strong {
        font-size: 16px;
    }

    .scorers-card-header {
        padding: 14px 12px;
    }

    .scorer-row {
        grid-template-columns: 27px minmax(0,1fr);
        gap: 8px;
        padding: 11px 10px;
    }

    .scorer-position strong {
        font-size: 12px;
    }

    .scorer-photo {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .scorer-player-data > strong {
        font-size: 12.5px;
    }

    .scorer-team span {
        font-size: 10px;
    }

    .scorer-numbers {
        grid-column: 2;
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        width: 100%;
        gap: 4px;
        margin-top: 3px;
    }

    .scorer-numbers strong,
    .scorer-numbers .main-stat strong {
        font-size: 13px;
    }

    .scorer-numbers span {
        font-size: 8px;
    }

    .scorers-info-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .scorers-editorial .card {
        padding: 14px !important;
    }

    .scorers-editorial h2 {
        font-size: 17px;
    }

    .scorers-editorial p {
        font-size: 14px;
        line-height: 1.6;
    }

}


/* ============================================================
   ASSISTÊNCIAS
   ============================================================ */

.assists-page {
    padding: 28px 0 64px;
}

.assists-wrap {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
}

.assists-breadcrumb {
    display:flex;
    align-items:center;
    gap:5px;
    margin-bottom:18px;
    font-size:12px;
    color:var(--ink-4);
}

.assists-breadcrumb a {
    color:var(--ink-3);
    text-decoration:none;
}

.assists-hero {
    margin-bottom:17px;
}

.assists-kicker,
.assists-card-header > span {
    display:block;
    margin-bottom:4px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    color:var(--accent);
}

.assists-hero h1 {
    margin:0 0 7px;
    font-size:28px;
    font-weight:900;
    color:var(--ink);
}

.assists-hero p {
    max-width:760px;
    margin:0;
    font-size:16px;
    line-height:1.7;
    color:var(--ink-3);
}


/* Abas */

.assists-tabs {
    display:flex;
    gap:7px;
    margin-bottom:16px;
}

.assists-tabs a {
    padding:8px 15px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    font-size:12px;
    font-weight:700;
    color:var(--ink-3);
    text-decoration:none;
}

.assists-tabs a.active {
    color:#fff;
    background:var(--navy-2);
    border-color:var(--navy-2);
}


/* Resumo */

.assists-summary {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-bottom:16px;
}

.assists-summary .card {
    min-width:0;
    padding:14px 9px !important;
    text-align:center;
}

.assists-summary span {
    display:block;
    margin-bottom:3px;
    font-size:10.5px;
    color:var(--ink-4);
}

.assists-summary strong {
    display:block;
    overflow:hidden;
    font-size:18px;
    font-weight:900;
    color:var(--navy-2);
    white-space:nowrap;
    text-overflow:ellipsis;
}


/* Ranking */

.assists-card {
    padding:0 !important;
    overflow:hidden;
}

.assists-card-header {
    padding:18px 20px;
    border-bottom:1px solid var(--border);
}

.assists-card-header h2 {
    margin:0 0 3px;
    font-size:19px;
    font-weight:900;
    color:var(--ink);
}

.assists-card-header p {
    margin:0;
    font-size:11px;
    color:var(--ink-4);
}

.assists-list {
    display:flex;
    flex-direction:column;
}

.assist-row {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:12px 18px;
    border-bottom:1px solid var(--border);
}

.assist-row:last-child {
    border-bottom:0;
}

.assist-position {
    text-align:center;
}

.assist-position strong {
    font-size:15px;
    font-weight:900;
    color:var(--ink-4);
}


/* Jogador */

.assist-player {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.assist-photo {
    width:46px;
    height:46px;
    flex:0 0 46px;
    border-radius:50%;
    object-fit:cover;
    background:#f1f5f9;
}

.assist-photo-empty {
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--ink-4);
}

.assist-player-data {
    min-width:0;
}

.assist-player-data > strong {
    display:block;
    overflow:hidden;
    font-size:14px;
    font-weight:800;
    color:var(--ink);
    text-overflow:ellipsis;
    white-space:nowrap;
}

.assist-team {
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:3px;
}

.assist-team img {
    width:17px;
    height:17px;
    object-fit:contain;
}

.assist-team span {
    overflow:hidden;
    font-size:11px;
    color:var(--ink-4);
    text-overflow:ellipsis;
    white-space:nowrap;
}


/* Números */

.assist-numbers {
    display:grid;
    grid-template-columns:repeat(4,64px);
    gap:5px;
}

.assist-numbers > div {
    text-align:center;
}

.assist-numbers strong {
    display:block;
    font-size:15px;
    font-weight:900;
    color:var(--ink);
}

.assist-numbers .main-stat strong {
    font-size:18px;
    color:var(--navy-2);
}

.assist-numbers span {
    display:block;
    margin-top:1px;
    font-size:9px;
    color:var(--ink-4);
}


/* Conteúdo */

.assists-editorial {
    margin-top:20px;
}

.assists-editorial > .card,
.assists-info-grid {
    margin-bottom:11px;
}

.assists-editorial h2 {
    margin:0 0 9px;
    font-size:19px;
    font-weight:900;
    color:var(--ink);
}

.assists-editorial p {
    margin:0 0 9px;
    font-size:15.5px;
    line-height:1.7;
    color:var(--ink-3);
}

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

.assists-info-grid i {
    display:block;
    margin-bottom:8px;
    font-size:23px;
    color:var(--navy-2);
}

.assists-faq {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.assists-faq details {
    padding:11px 12px;
    border:1px solid var(--border);
    border-radius:9px;
    background:#f8fafc;
}

.assists-faq summary {
    cursor:pointer;
    font-size:13.5px;
    font-weight:700;
    color:var(--ink);
}

.assists-faq p {
    margin-top:8px;
    font-size:13px;
}


/* ============================================================
   ASSISTÊNCIAS — MOBILE
   ============================================================ */

@media(max-width:700px) {

    .assists-page {
        padding:16px 0 44px;
    }

    .assists-wrap {
        width:calc(100% - 20px);
    }

    .assists-breadcrumb {
        margin-bottom:13px;
        font-size:11px;
    }

    .assists-hero h1 {
        font-size:22px;
    }

    .assists-hero p {
        font-size:14px;
        line-height:1.6;
    }

    .assists-tabs {
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .assists-tabs a {
        text-align:center;
    }

    .assists-summary {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
    }

    .assists-summary .card {
        padding:11px 7px !important;
    }

    .assists-summary strong {
        font-size:16px;
    }

    .assists-card-header {
        padding:14px 12px;
    }

    .assist-row {
        grid-template-columns:27px minmax(0,1fr);
        gap:8px;
        padding:11px 10px;
    }

    .assist-position strong {
        font-size:12px;
    }

    .assist-photo {
        width:38px;
        height:38px;
        flex-basis:38px;
    }

    .assist-player-data > strong {
        font-size:12.5px;
    }

    .assist-team span {
        font-size:10px;
    }

    .assist-numbers {
        grid-column:2;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        width:100%;
        gap:4px;
        margin-top:3px;
    }

    .assist-numbers strong,
    .assist-numbers .main-stat strong {
        font-size:13px;
    }

    .assist-numbers span {
        font-size:8px;
    }

    .assists-info-grid {
        grid-template-columns:1fr;
        gap:8px;
    }

    .assists-editorial .card {
        padding:14px !important;
    }

    .assists-editorial h2 {
        font-size:17px;
    }

    .assists-editorial p {
        font-size:14px;
        line-height:1.6;
    }

}


/* ============================================================
   TIMES — ESTATÍSTICAS AVANÇADAS
   ============================================================ */

.team-api-stats {
    margin-bottom: 14px;
}

.team-api-stats-grid {
    display: grid;
    grid-template-columns: repeat(7,minmax(0,1fr));
    gap: 7px;
}

.team-api-stats-grid > div {
    min-width: 0;
    padding: 11px 6px;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 9px;
    text-align: center;
}

.team-api-stats-grid strong {
    display: block;
    overflow: hidden;
    font-size: 17px;
    font-weight: 900;
    color: var(--navy-2);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-api-stats-grid span {
    display: block;
    margin-top: 3px;
    font-size: 9.5px;
    line-height: 1.3;
    color: var(--ink-4);
}

.team-biggest-results {
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.team-biggest-results > strong {
    display: block;
    margin-bottom: 7px;
    font-size: 11px;
    color: var(--ink-3);
}

.team-biggest-results > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.team-biggest-results span {
    padding: 6px 9px;
    border-radius: 8px;
    background: #f8fafc;
    font-size: 10.5px;
    color: var(--ink-4);
}

.team-biggest-results b {
    color: var(--ink);
}


/* Links internos */

.team-related-links {
    margin-bottom: 14px;
}

.team-related-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 8px;
}

.team-related-grid > a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #f8fafc;
    text-decoration: none;
}

.team-related-grid > a > i {
    flex-shrink: 0;
    font-size: 20px;
    color: var(--navy-2);
}

.team-related-grid > a > div {
    min-width: 0;
}

.team-related-grid strong {
    display: block;
    font-size: 11.5px;
    font-weight: 800;
    color: var(--ink);
}

.team-related-grid span {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    font-size: 9.5px;
    color: var(--ink-4);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   TIMES — ESTATÍSTICAS MOBILE
   ============================================================ */

@media(max-width:700px) {

    .team-api-stats {
        padding: 14px !important;
    }

    .team-api-stats-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 6px;
    }

    .team-api-stats-grid > div {
        padding: 10px 5px;
    }

    .team-api-stats-grid strong {
        font-size: 15px;
    }

    .team-api-stats-grid span {
        font-size: 9px;
    }

    .team-biggest-results > div {
        display: grid;
        grid-template-columns: 1fr;
    }

    .team-related-links {
        padding: 14px !important;
    }

    .team-related-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 6px;
    }

    .team-related-grid > a {
        padding: 9px 7px;
    }

    .team-related-grid > a > i {
        font-size: 18px;
    }

    .team-related-grid strong {
        font-size: 10.5px;
    }

    .team-related-grid span {
        font-size: 8.5px;
    }

}

@media(max-width:380px) {

    .team-related-grid {
        grid-template-columns: 1fr;
    }

}


/* ============================================================
   JOGOS AO VIVO
   ============================================================ */

.live-page {
    padding: 28px 0 64px;
}

.live-wrap {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
}

.live-breadcrumb {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 18px;
    font-size: 12px;
    color: var(--ink-4);
}

.live-breadcrumb a {
    color: var(--ink-3);
    text-decoration: none;
}


/* Hero */

.live-hero {
    margin-bottom: 17px;
}

.live-kicker,
.live-section-header > div:first-child > span {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: #dc2626;
}

.live-hero h1 {
    margin: 0 0 7px;
    font-size: 28px;
    font-weight: 900;
    color: var(--ink);
}

.live-hero p {
    max-width: 760px;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-3);
}


/* Resumo */

.live-summary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 9px;
    margin-bottom: 18px;
}

.live-summary .card {
    min-width: 0;
    padding: 14px 9px !important;
    text-align: center;
}

.live-summary span {
    display: block;
    margin-bottom: 3px;
    font-size: 10px;
    color: var(--ink-4);
}

.live-summary strong {
    display: block;
    font-size: 19px;
    font-weight: 900;
    color: var(--navy-2);
}

.live-summary strong.is-live {
    color: #dc2626;
}


/* Cabeçalho */

.live-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.live-section-header h2 {
    margin: 0;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.live-refresh {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    color: var(--ink-4);
}

.live-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #dc2626;
    animation: live-pulse 1.5s infinite;
}

@keyframes live-pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: .35;
    }

}


/* Jogos */

.live-match-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
}

.live-match-card {
    min-width: 0;
    padding: 14px !important;
}

.live-match-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 15px;
}

.live-competition {
    display: flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
}

.live-competition img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.live-competition span {
    font-size: 10.5px;
    font-weight: 800;
    color: var(--navy-2);
}

.live-match-top small {
    display: block;
    margin-top: 3px;
    font-size: 9.5px;
    color: var(--ink-4);
}

.live-status {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    padding: 5px 8px;
    border-radius: 999px;
    background: #fef2f2;
    font-size: 10px;
    font-weight: 800;
    color: #dc2626;
}


/* Placar */

.live-score {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 10px;
}

.live-team {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    text-decoration: none;
}

.live-team-home {
    flex-direction: row-reverse;
}

.live-team img {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    object-fit: contain;
}

.live-team span {
    overflow: hidden;
    font-size: 12px;
    font-weight: 800;
    color: var(--ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.live-team-home span {
    text-align: right;
}

.live-score-center {
    display: flex;
    align-items: center;
    gap: 7px;
}

.live-score-center strong {
    min-width: 23px;
    font-size: 22px;
    font-weight: 900;
    color: var(--ink);
    text-align: center;
}

.live-score-center span {
    font-size: 10px;
    color: var(--ink-4);
}


/* Rodapé */

.live-match-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 13px;
    padding-top: 9px;
    border-top: 1px dashed var(--border);
}

.live-match-footer span {
    font-size: 9.5px;
    color: var(--ink-4);
}

.live-match-footer > a {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 800;
    color: var(--navy-2);
    text-decoration: none;
}


/* Sem jogos */

.live-empty {
    padding: 38px 20px !important;
    text-align: center;
}

.live-empty-icon {
    display: flex;
    width: 56px;
    height: 56px;
    margin: 0 auto 11px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f1f5f9;
}

.live-empty-icon i {
    font-size: 27px;
    color: var(--ink-4);
}

.live-empty h2 {
    margin: 0 0 6px;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.live-empty p {
    max-width: 540px;
    margin: 0 auto 15px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ink-4);
}

.live-empty-actions {
    display: flex;
    justify-content: center;
    gap: 7px;
}


/* Navegação */

.live-navigation {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 9px;
    margin-top: 18px;
}

.live-navigation > a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 13px !important;
    text-decoration: none;
}

.live-navigation > a > i:first-child {
    flex-shrink: 0;
    font-size: 22px;
    color: var(--navy-2);
}

.live-navigation > a > i:last-child {
    margin-left: auto;
    color: var(--ink-4);
}

.live-navigation > a > div {
    min-width: 0;
}

.live-navigation strong {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: var(--ink);
}

.live-navigation span {
    display: block;
    margin-top: 2px;
    font-size: 9.5px;
    color: var(--ink-4);
}


/* Conteúdo */

.live-editorial {
    margin-top: 20px;
}

.live-editorial > .card,
.live-info-grid {
    margin-bottom: 10px;
}

.live-editorial h2 {
    margin: 0 0 9px;
    font-size: 19px;
    font-weight: 900;
    color: var(--ink);
}

.live-editorial p {
    margin: 0 0 9px;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--ink-3);
}

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

.live-info-grid i {
    display: block;
    margin-bottom: 8px;
    font-size: 23px;
    color: var(--navy-2);
}

.live-faq {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.live-faq details {
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #f8fafc;
}

.live-faq summary {
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ink);
}

.live-faq p {
    margin-top: 8px;
    font-size: 13px;
}


/* ============================================================
   JOGOS AO VIVO — MOBILE
   ============================================================ */

@media(max-width:700px) {

    .live-page {
        padding: 16px 0 44px;
    }

    .live-wrap {
        width: calc(100% - 20px);
    }

    .live-breadcrumb {
        margin-bottom: 13px;
        font-size: 11px;
    }

    .live-hero h1 {
        font-size: 22px;
    }

    .live-hero p {
        font-size: 14px;
        line-height: 1.6;
    }

    .live-summary {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 7px;
    }

    .live-summary .card {
        padding: 11px 6px !important;
    }

    .live-summary strong {
        font-size: 17px;
    }

    .live-section-header {
        align-items: center;
    }

    .live-section-header h2 {
        font-size: 16px;
    }

    .live-refresh {
        font-size: 8.5px;
    }

    .live-match-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .live-match-card {
        padding: 12px 10px !important;
    }

    .live-team img {
        width: 30px;
        height: 30px;
    }

    .live-team span {
        font-size: 10.5px;
    }

    .live-score {
        gap: 5px;
    }

    .live-score-center {
        gap: 5px;
    }

    .live-score-center strong {
        min-width: 18px;
        font-size: 19px;
    }

    .live-navigation {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .live-info-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .live-editorial .card {
        padding: 14px !important;
    }

    .live-editorial h2 {
        font-size: 17px;
    }

    .live-editorial p {
        font-size: 14px;
        line-height: 1.6;
    }

}


@media(max-width:380px) {

    .live-team img {
        width: 27px;
        height: 27px;
    }

    .live-team span {
        font-size: 9.8px;
    }

    .live-score-center strong {
        font-size: 18px;
    }

}


/* ============================================================
   PARTIDA — DADOS ESPORTIVOS
   ============================================================ */

.match-detail-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}

.match-detail-heading span {
    display:block;
    margin-bottom:3px;
    font-size:9.5px;
    font-weight:800;
    letter-spacing:.08em;
    color:var(--accent);
}

.match-detail-heading h2 {
    margin:0;
    font-size:18px;
    font-weight:900;
    color:var(--ink);
}


/* Estatísticas */

.match-sport-statistics,
.match-events-card,
.match-lineups-card,
.match-info-card {
    margin-top:16px;
}

.match-stats-teams {
    display:grid;
    grid-template-columns:1fr 150px 1fr;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}

.match-stats-teams > div {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}

.match-stats-teams img {
    width:30px;
    height:30px;
    object-fit:contain;
}

.match-stats-teams strong {
    font-size:12px;
    color:var(--ink);
}

.match-stats-teams > span {
    font-size:9px;
    color:var(--ink-4);
    text-align:center;
}

.match-sport-stats-list {
    border-top:1px solid var(--border);
}

.match-sport-stat-row {
    display:grid;
    grid-template-columns:1fr 180px 1fr;
    align-items:center;
    gap:10px;
    min-height:39px;
    border-bottom:1px solid var(--border);
}

.match-sport-stat-row:last-child {
    border-bottom:0;
}

.match-sport-stat-row strong {
    font-size:13px;
    font-weight:800;
    color:var(--ink);
    text-align:center;
}

.match-sport-stat-row span {
    font-size:10.5px;
    color:var(--ink-4);
    text-align:center;
}


/* Eventos */

.match-events-list {
    display:flex;
    flex-direction:column;
}

.match-event-row {
    display:grid;
    grid-template-columns:48px 30px minmax(0,1fr) 130px;
    align-items:center;
    gap:8px;
    padding:10px 0;
    border-bottom:1px solid var(--border);
}

.match-event-row:last-child {
    border-bottom:0;
}

.match-event-minute {
    font-size:12px;
    font-weight:900;
    color:var(--navy-2);
    text-align:center;
}

.match-event-icon {
    display:flex;
    width:27px;
    height:27px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f1f5f9;
    color:var(--navy-2);
}

.match-event-content {
    min-width:0;
}

.match-event-content strong {
    display:block;
    font-size:11px;
    font-weight:800;
    color:var(--ink);
}

.match-event-content span {
    display:block;
    margin-top:2px;
    font-size:11.5px;
    color:var(--ink-2);
}

.match-event-content small {
    display:block;
    margin-top:2px;
    font-size:9.5px;
    color:var(--ink-4);
}

.match-event-team {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    min-width:0;
}

.match-event-team img {
    width:20px;
    height:20px;
    flex-shrink:0;
    object-fit:contain;
}

.match-event-team span {
    overflow:hidden;
    font-size:9.5px;
    color:var(--ink-4);
    text-overflow:ellipsis;
    white-space:nowrap;
}


/* Escalações */

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

.match-lineup-team {
    min-width:0;
    padding:14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#f8fafc;
}

.match-lineup-team-header {
    display:flex;
    align-items:center;
    gap:9px;
    padding-bottom:11px;
    margin-bottom:12px;
    border-bottom:1px solid var(--border);
}

.match-lineup-team-header img {
    width:38px;
    height:38px;
    flex-shrink:0;
    object-fit:contain;
}

.match-lineup-team-header strong {
    display:block;
    font-size:13px;
    font-weight:900;
    color:var(--ink);
}

.match-lineup-team-header span {
    display:block;
    margin-top:2px;
    font-size:9.5px;
    color:var(--ink-4);
}

.match-lineup-team h3 {
    margin:0 0 7px;
    font-size:11px;
    font-weight:800;
    color:var(--ink-3);
}

.match-player-list {
    display:flex;
    flex-direction:column;
}

.match-player-row {
    display:grid;
    grid-template-columns:28px minmax(0,1fr) 34px;
    gap:6px;
    align-items:center;
    min-height:29px;
    border-bottom:1px solid rgba(226,232,240,.75);
}

.match-player-row:last-child {
    border-bottom:0;
}

.match-player-number {
    font-size:10px;
    font-weight:900;
    color:var(--navy-2);
    text-align:center;
}

.match-player-name {
    overflow:hidden;
    font-size:10.5px;
    font-weight:600;
    color:var(--ink);
    text-overflow:ellipsis;
    white-space:nowrap;
}

.match-player-row small {
    font-size:8px;
    font-weight:700;
    color:var(--ink-4);
    text-align:right;
}

.match-subs {
    margin-top:11px;
    border-top:1px solid var(--border);
    padding-top:10px;
}

.match-subs summary {
    cursor:pointer;
    margin-bottom:7px;
    font-size:10.5px;
    font-weight:800;
    color:var(--navy-2);
}

.match-coach {
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid var(--border);
}

.match-coach img {
    width:33px;
    height:33px;
    border-radius:50%;
    object-fit:cover;
}

.match-coach span {
    display:block;
    font-size:8.5px;
    color:var(--ink-4);
}

.match-coach strong {
    display:block;
    margin-top:1px;
    font-size:10.5px;
    color:var(--ink);
}


/* Informações */

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

.match-info-grid > div {
    min-width:0;
    padding:11px;
    border:1px solid var(--border);
    border-radius:9px;
    background:#f8fafc;
}

.match-info-grid i {
    display:block;
    margin-bottom:6px;
    font-size:18px;
    color:var(--navy-2);
}

.match-info-grid span {
    display:block;
    margin-bottom:2px;
    font-size:8.5px;
    color:var(--ink-4);
}

.match-info-grid strong {
    display:block;
    overflow:hidden;
    font-size:10.5px;
    color:var(--ink);
    text-overflow:ellipsis;
}

.match-related-links {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:12px;
}

.match-related-links a {
    display:flex;
    align-items:center;
    gap:4px;
    padding:6px 9px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    font-size:9.5px;
    font-weight:700;
    color:var(--navy-2);
    text-decoration:none;
}


/* ============================================================
   PARTIDA — MOBILE
   ============================================================ */

@media(max-width:700px) {

    .match-page-wrap {
        width:calc(100% - 20px) !important;
        max-width:none !important;
    }

    .match-detail-heading h2 {
        font-size:16px;
    }

    /* Placar existente */

    .page-match .team-col span[style*="font-size:16px"] {
        font-size:12px !important;
    }

    .page-match .score-num {
        font-size:29px !important;
    }

    /* Estatísticas */

    .match-stats-teams {
        grid-template-columns:1fr 90px 1fr;
        gap:5px;
    }

    .match-stats-teams img {
        width:25px;
        height:25px;
    }

    .match-stats-teams strong {
        font-size:10px;
    }

    .match-sport-stat-row {
        grid-template-columns:1fr 116px 1fr;
        gap:5px;
        min-height:36px;
    }

    .match-sport-stat-row strong {
        font-size:11.5px;
    }

    .match-sport-stat-row span {
        font-size:9px;
        line-height:1.2;
    }

    /* Eventos */

    .match-event-row {
        grid-template-columns:38px 27px minmax(0,1fr);
        gap:6px;
    }

    .match-event-team {
        grid-column:3;
        justify-content:flex-start;
        margin-top:-3px;
    }

    .match-event-team img {
        width:16px;
        height:16px;
    }

    .match-event-team span {
        font-size:8.5px;
    }

    /* Escalações */

    .match-lineups-grid {
        grid-template-columns:1fr;
        gap:10px;
    }

    .match-lineup-team {
        padding:11px;
    }

    /* Informações */

    .match-info-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
    }

    .match-info-grid > div {
        padding:9px;
    }

}


/* Celulares pequenos */

@media(max-width:380px) {

    .match-sport-stat-row {
        grid-template-columns:1fr 100px 1fr;
    }

    .match-info-grid {
        grid-template-columns:1fr;
    }

}

/* ============================================================
   PARTIDA — LEGIBILIDADE DOS DADOS
   ============================================================ */

/* Títulos dos blocos */
.match-detail-heading span {
    font-size: 10.5px;
}

.match-detail-heading h2 {
    font-size: 20px;
}

/* Estatísticas da partida */
.match-stats-teams strong {
    font-size: 13.5px;
}

.match-stats-teams > span {
    font-size: 10.5px;
}

.match-sport-stat-row {
    min-height: 44px;
}

.match-sport-stat-row strong {
    font-size: 15px;
}

.match-sport-stat-row span {
    font-size: 12px;
}

/* Eventos */
.match-event-minute {
    font-size: 13.5px;
}

.match-event-content strong {
    font-size: 12.5px;
}

.match-event-content span {
    font-size: 13px;
}

.match-event-content small {
    font-size: 11px;
}

.match-event-team span {
    font-size: 11px;
}

/* Escalações */
.match-lineup-team-header strong {
    font-size: 14.5px;
}

.match-lineup-team-header span {
    font-size: 11px;
}

.match-lineup-team h3 {
    font-size: 12.5px;
}

.match-player-row {
    min-height: 33px;
}

.match-player-number {
    font-size: 11.5px;
}

.match-player-name {
    font-size: 12px;
}

.match-player-row small {
    font-size: 9.5px;
}

.match-subs summary {
    font-size: 12px;
}

.match-coach span {
    font-size: 10px;
}

.match-coach strong {
    font-size: 12px;
}

/* Informações da partida */
.match-info-grid span {
    font-size: 10px;
}

.match-info-grid strong {
    font-size: 12.5px;
    line-height: 1.4;
}

.match-related-links a {
    font-size: 11px;
}

/* Mobile */
@media(max-width:700px) {

    .match-detail-heading h2 {
        font-size: 18px;
    }

    .match-sport-stat-row strong {
        font-size: 13.5px;
    }

    .match-sport-stat-row span {
        font-size: 10.5px;
        line-height: 1.3;
    }

    .match-event-minute {
        font-size: 12.5px;
    }

    .match-event-content strong {
        font-size: 11.5px;
    }

    .match-event-content span {
        font-size: 12px;
    }

    .match-event-content small {
        font-size: 10px;
    }

    .match-player-name {
        font-size: 11.5px;
    }

    .match-player-number {
        font-size: 11px;
    }

    .match-info-grid strong {
        font-size: 11.5px;
    }

    .match-info-grid span {
        font-size: 9.5px;
    }
}


/* ============================================================
   PÁGINA DA PARTIDA — DETALHES ESPORTIVOS
   ============================================================ */

.match-detail-section {
    margin-bottom: 18px;
    padding: 22px;
}

.match-detail-heading {
    margin-bottom: 20px;
}

.match-detail-heading > span {
    display: block;
    margin-bottom: 5px;
    color: var(--accent);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
}

.match-detail-heading h2 {
    margin: 0;
    color: var(--ink);
    font-size: 20px;
    font-weight: 900;
}

.match-detail-heading p {
    margin: 6px 0 0;
    color: var(--ink-4);
    font-size: 13px;
    line-height: 1.55;
}


/* Estatísticas */

.match-stats-comparison {
    width: 100%;
}

.match-stats-teams {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border);
}

.match-stats-teams > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.match-stats-teams > div:last-child {
    justify-content: flex-end;
}

.match-stats-teams img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.match-stats-teams > span {
    color: var(--ink-4);
    font-size: 11px;
}

.match-stat-row {
    display: grid;
    grid-template-columns: 70px 1fr 70px;
    align-items: center;
    min-height: 44px;
    border-bottom: 1px solid var(--border);
    text-align: center;
}

.match-stat-row:last-child {
    border-bottom: 0;
}

.match-stat-row strong {
    color: var(--ink);
    font-size: 15px;
}

.match-stat-row span {
    color: var(--ink-3);
    font-size: 12px;
}


/* Eventos */

.match-event-row {
    display: grid;
    grid-template-columns: 48px 34px 1fr;
    gap: 10px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}

.match-event-row:last-child {
    border-bottom: 0;
}

.match-event-minute {
    text-align: right;
    color: var(--ink);
    font-size: 13px;
}

.match-event-icon {
    text-align: center;
    font-size: 18px;
}

.match-event-content {
    min-width: 0;
}

.match-event-content strong,
.match-event-content span {
    display: block;
}

.match-event-content strong {
    color: var(--ink);
    font-size: 13.5px;
}

.match-event-content span {
    margin-top: 2px;
    color: var(--ink-4);
    font-size: 11.5px;
}


/* Escalações */

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

.match-lineup-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.match-lineup-header strong,
.match-lineup-header span {
    display: block;
}

.match-lineup-header strong {
    font-size: 16px;
    color: var(--ink);
}

.match-lineup-header span {
    margin-top: 3px;
    color: var(--ink-4);
    font-size: 11px;
}

.match-coach {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 14px 0;
    padding: 10px;
    border-radius: 10px;
    background: var(--bg-2, #f8fafc);
}

.match-coach img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.match-coach span,
.match-coach strong {
    display: block;
}

.match-coach span {
    color: var(--ink-4);
    font-size: 10px;
}

.match-coach strong {
    margin-top: 2px;
    color: var(--ink);
    font-size: 12.5px;
}

.match-lineup-card h3 {
    margin: 16px 0 8px;
    font-size: 12px;
    color: var(--ink-3);
}

.match-player-row {
    display: grid;
    grid-template-columns: 30px 1fr 24px;
    gap: 7px;
    align-items: center;
    min-height: 34px;
    border-bottom: 1px solid var(--border);
}

.match-player-row:last-child {
    border-bottom: 0;
}

.match-player-number {
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
}

.match-player-row strong {
    min-width: 0;
    overflow: hidden;
    color: var(--ink);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.match-player-row > span:last-child {
    color: var(--ink-4);
    font-size: 10px;
    text-align: right;
}

.match-bench {
    margin-top: 14px;
}

.match-bench summary {
    cursor: pointer;
    color: var(--navy-2);
    font-size: 12px;
    font-weight: 700;
}

.match-bench .match-player-list {
    margin-top: 10px;
}


/* Mobile */

@media (max-width: 700px) {

    .match-detail-section {
        padding: 16px;
    }

    .match-detail-heading h2 {
        font-size: 18px;
    }

    .match-stats-teams {
        grid-template-columns: 1fr 50px 1fr;
        gap: 6px;
    }

    .match-stats-teams > div {
        flex-direction: column;
        gap: 5px;
        text-align: center;
    }

    .match-stats-teams > div:last-child {
        justify-content: center;
    }

    .match-stats-teams img {
        width: 26px;
        height: 26px;
    }

    .match-stats-teams strong {
        font-size: 11px;
    }

    .match-stat-row {
        grid-template-columns: 55px 1fr 55px;
        min-height: 42px;
    }

    .match-stat-row strong {
        font-size: 14px;
    }

    .match-stat-row span {
        padding: 0 5px;
        font-size: 11px;
    }

    .match-event-row {
        grid-template-columns: 38px 28px 1fr;
        gap: 7px;
    }

    .match-lineups-grid {
        grid-template-columns: 1fr;
    }

    .match-lineup-card {
        padding: 13px;
    }
}



/* ============================================================
   PARTIDA — CORREÇÃO RESPONSIVA MOBILE
   ============================================================ */

@media (max-width: 700px) {

    .match-detail-section {
        padding: 18px 14px !important;
        margin-left: 0;
        margin-right: 0;
        overflow: hidden;
    }

    .match-detail-heading {
        display: block !important;
        width: 100%;
        margin-bottom: 18px;
    }

    .match-detail-heading > span {
        display: block;
        margin-bottom: 6px;
        font-size: 11px;
        line-height: 1.2;
    }

    .match-detail-heading h2 {
        display: block;
        width: 100%;
        margin: 0;
        font-size: 22px !important;
        line-height: 1.2;
        word-break: normal;
    }

    .match-detail-heading p {
        display: block;
        width: 100%;
        margin: 8px 0 0;
        font-size: 13px;
        line-height: 1.45;
        color: var(--ink-4);
    }


    /* Cabeçalho dos times */

    .match-stats-teams {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 74px minmax(0, 1fr) !important;
        align-items: center;
        gap: 8px;
        width: 100%;
        padding-bottom: 12px;
    }

    .match-stats-teams > div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-width: 0;
        text-align: center;
    }

    .match-stats-teams > div:last-child {
        justify-content: center !important;
    }

    .match-stats-teams img {
        display: block;
        width: 38px !important;
        height: 38px !important;
        max-width: 38px;
        object-fit: contain;
        flex-shrink: 0;
    }

    .match-stats-teams strong {
        display: block;
        max-width: 100%;
        font-size: 13px !important;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
        word-break: normal;
    }

    .match-stats-teams > span {
        display: block;
        width: 74px;
        font-size: 10px !important;
        line-height: 1.2;
        text-align: center;
        color: var(--ink-4);
    }


    /* Linhas das estatísticas */

    .match-stat-list {
        width: 100%;
    }

    .match-stat-row {
        display: grid !important;
        grid-template-columns: 68px minmax(0, 1fr) 68px !important;
        align-items: center;
        gap: 6px;
        width: 100%;
        min-height: 44px;
        padding: 6px 0;
    }

    .match-stat-row strong {
        display: block;
        width: 100%;
        font-size: 14px !important;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
    }

    .match-stat-row span {
        display: block;
        min-width: 0;
        padding: 0 4px;
        font-size: 12px !important;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
        word-break: normal;
    }


    /* Linha do tempo */

    .match-event-row {
        display: grid !important;
        grid-template-columns: 42px 30px minmax(0, 1fr) !important;
        gap: 8px;
        align-items: start;
    }

    .match-event-minute {
        text-align: right;
        font-size: 12px;
    }

    .match-event-icon {
        font-size: 17px;
        line-height: 1.2;
    }

    .match-event-content {
        min-width: 0;
    }

    .match-event-content strong {
        font-size: 13px;
        line-height: 1.3;
        white-space: normal;
        word-break: normal;
    }

    .match-event-content span {
        font-size: 11.5px;
        line-height: 1.35;
        white-space: normal;
        word-break: normal;
    }


    /* Escalações */

    .match-lineups-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .match-lineup-card {
        width: 100%;
        min-width: 0;
        padding: 14px;
        box-sizing: border-box;
        overflow: hidden;
    }

    .match-player-row {
        display: grid !important;
        grid-template-columns: 32px minmax(0, 1fr) 26px !important;
        gap: 7px;
        align-items: center;
    }

    .match-player-row strong {
        min-width: 0;
        font-size: 12px;
        line-height: 1.25;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .match-coach {
        min-width: 0;
    }

    .match-coach > div {
        min-width: 0;
    }

    .match-coach strong {
        white-space: normal;
        word-break: normal;
    }

}


/* Mobile muito estreito */

@media (max-width: 390px) {

    .match-detail-section {
        padding: 16px 12px !important;
    }

    .match-detail-heading h2 {
        font-size: 20px !important;
    }

    .match-stats-teams {
        grid-template-columns: minmax(0, 1fr) 62px minmax(0, 1fr) !important;
        gap: 5px;
    }

    .match-stats-teams > span {
        width: 62px;
        font-size: 9px !important;
    }

    .match-stats-teams img {
        width: 34px !important;
        height: 34px !important;
    }

    .match-stats-teams strong {
        font-size: 12px !important;
    }

    .match-stat-row {
        grid-template-columns: 62px minmax(0, 1fr) 62px !important;
        gap: 4px;
    }

    .match-stat-row strong {
        font-size: 13px !important;
    }

    .match-stat-row span {
        font-size: 11px !important;
    }

}


/* ============================================================
   TEAM — DESTAQUES DA TEMPORADA
   Layout definitivo + responsividade
   ============================================================ */

.team-highlights {
    width: 100%;
    margin-top: 20px;
    padding: 24px;
    box-sizing: border-box;
    overflow: hidden;
}


/* Título */

.team-highlights .team-section-title {
    margin-bottom: 20px;
}

.team-highlights .team-section-title > div {
    min-width: 0;
}

.team-highlights .team-section-title span {
    display: block;
    margin-bottom: 6px;
    color: #16a34a;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.team-highlights .team-section-title h2 {
    margin: 0;
    color: #0f172a;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
}


/* Grid */

.team-highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
}


/* Card */

.team-highlight-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 235px;
    padding: 18px;
    box-sizing: border-box;

    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;

    overflow: hidden;
}


/* Tipo do destaque */

.team-highlight-label {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 18px;

    color: #334155;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
}

.team-highlight-label i {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;
    flex: 0 0 30px;

    border-radius: 50%;
    background: #f1f5f9;

    color: #0f172a;
    font-size: 17px;
}


/* Jogador */

.team-highlight-player {
    display: flex;
    align-items: center;
    gap: 14px;

    min-width: 0;
    flex: 1;
}


/* Foto — aqui corrigimos o principal problema atual */

.team-highlight-photo {
    display: block;

    width: 90px !important;
    height: 90px !important;
    max-width: 90px !important;
    max-height: 90px !important;

    flex: 0 0 90px;

    object-fit: contain;
    object-position: center bottom;

    border-radius: 12px;

    background:
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #f1f5f9 100%
        );
}

.team-highlight-photo-empty {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #94a3b8;
    font-size: 26px;
}


/* Nome */

.team-highlight-player-data {
    min-width: 0;
    flex: 1;
}

.team-highlight-player-data strong {
    display: block;

    margin: 0;

    color: #0f172a;

    font-size: 17px;
    line-height: 1.25;
    font-weight: 800;

    overflow-wrap: anywhere;
}

.team-highlight-player-data span {
    display: block;

    margin-top: 5px;

    color: #64748b;

    font-size: 13px;
    line-height: 1.35;
}


/* Número principal */

.team-highlight-stat {
    display: flex;
    align-items: baseline;
    gap: 7px;

    margin-top: 17px;
    padding-top: 14px;

    border-top: 1px solid #eef2f7;
}

.team-highlight-stat strong {
    color: #0f172a;

    font-size: 30px;
    line-height: 1;
    font-weight: 900;
}

.team-highlight-stat span {
    color: #64748b;

    font-size: 13px;
    line-height: 1.2;
}


/* Cores individuais */

.team-highlight-card:nth-child(1)
.team-highlight-label i {
    color: #dc2626;
    background: #fef2f2;
}

.team-highlight-card:nth-child(1)
.team-highlight-stat strong {
    color: #dc2626;
}


.team-highlight-card:nth-child(2)
.team-highlight-label i {
    color: #2563eb;
    background: #eff6ff;
}

.team-highlight-card:nth-child(2)
.team-highlight-stat strong {
    color: #2563eb;
}


.team-highlight-card:nth-child(3)
.team-highlight-label i {
    color: #16a34a;
    background: #f0fdf4;
}

.team-highlight-card:nth-child(3)
.team-highlight-stat strong {
    color: #16a34a;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .team-highlights {
        padding: 20px;
    }

    .team-highlights-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .team-highlight-card:last-child {
        grid-column: 1 / -1;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 600px) {

    .team-highlights {
        margin-top: 14px;
        padding: 16px;
        border-radius: 16px;
    }


    .team-highlights .team-section-title {
        margin-bottom: 15px;
    }


    .team-highlights .team-section-title h2 {
        font-size: 19px;
        line-height: 1.3;
    }


    .team-highlights-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }


    .team-highlight-card,
    .team-highlight-card:last-child {
        grid-column: auto;

        width: 100%;
        min-width: 0;
        min-height: 0;

        padding: 14px;

        border-radius: 14px;
    }


    .team-highlight-label {
        margin-bottom: 12px;

        font-size: 12px;
    }


    .team-highlight-label i {
        width: 27px;
        height: 27px;
        flex-basis: 27px;

        font-size: 15px;
    }


    .team-highlight-player {
        display: grid;

        grid-template-columns:
            68px minmax(0, 1fr);

        gap: 12px;

        align-items: center;
    }


    .team-highlight-photo {
        width: 68px !important;
        height: 68px !important;

        max-width: 68px !important;
        max-height: 68px !important;

        flex-basis: 68px;
    }


    .team-highlight-player-data strong {
        font-size: 15px;
        line-height: 1.25;

        word-break: normal;
        overflow-wrap: anywhere;
    }


    .team-highlight-player-data span {
        margin-top: 3px;

        font-size: 12px;
    }


    .team-highlight-stat {
        margin-top: 12px;
        padding-top: 11px;
    }


    .team-highlight-stat strong {
        font-size: 25px;
    }


    .team-highlight-stat span {
        font-size: 12px;
    }

}


/* ============================================================
   MOBILE PEQUENO
   ============================================================ */

@media (max-width: 380px) {

    .team-highlights {
        padding: 13px;
    }

    .team-highlight-card {
        padding: 12px;
    }

    .team-highlight-player {
        grid-template-columns:
            58px minmax(0, 1fr);

        gap: 10px;
    }

    .team-highlight-photo {
        width: 58px !important;
        height: 58px !important;

        max-width: 58px !important;
        max-height: 58px !important;
    }

    .team-highlight-player-data strong {
        font-size: 14px;
    }

    .team-highlight-stat strong {
        font-size: 23px;
    }

}

/* ============================================================
   TEAM — EDITORIAL + FAQ
   ============================================================ */

.team-editorial {
    display: grid;
    gap: 18px;
    margin-top: 22px;
}

.team-editorial-main {
    padding: 24px;
}

.team-editorial-main p {
    margin: 0 0 14px;
    color: #475569;
    font-size: 15px;
    line-height: 1.75;
}

.team-editorial-main p:last-child {
    margin-bottom: 0;
}

.team-editorial-main strong {
    color: #0f172a;
    font-weight: 700;
}

.team-faq {
    padding: 24px;
}

.team-faq-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.team-faq-item {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.team-faq-item summary {
    position: relative;
    padding: 16px 46px 16px 16px;
    cursor: pointer;
    list-style: none;
    color: #0f172a;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 700;
}

.team-faq-item summary::-webkit-details-marker {
    display: none;
}

.team-faq-item summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 21px;
    line-height: 1;
}

.team-faq-item[open] summary::after {
    content: "−";
}

.team-faq-item > div {
    padding: 0 16px 16px;
    color: #475569;
    font-size: 14px;
    line-height: 1.65;
}

@media (max-width: 600px) {

    .team-editorial {
        gap: 14px;
        margin-top: 16px;
    }

    .team-editorial-main,
    .team-faq {
        padding: 16px;
    }

    .team-editorial-main p {
        font-size: 14px;
        line-height: 1.65;
    }

    .team-faq-list {
        gap: 8px;
        margin-top: 14px;
    }

    .team-faq-item summary {
        padding: 14px 42px 14px 14px;
        font-size: 13px;
    }

    .team-faq-item summary::after {
        right: 14px;
    }

    .team-faq-item > div {
        padding: 0 14px 14px;
        font-size: 13px;
    }

}



/* ============================================================
   PLAYER PAGE
   ============================================================ */

.player-page {
    width: 100%;
}

.player-wrap {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 22px 0 48px;
}

.player-breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    margin-bottom: 16px;
    color: #64748b;
    font-size: 13px;
}

.player-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.player-breadcrumb span,
.player-breadcrumb a {
    min-width: 0;
}

.player-hero {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    padding: 28px;
    overflow: hidden;
}

.player-photo-wrap {
    display: flex;
    justify-content: center;
}

.player-photo {
    display: block;
    width: 160px;
    height: 160px;
    max-width: 160px;
    object-fit: contain;
    object-position: center bottom;
    border-radius: 18px;
    background: #f1f5f9;
}

.player-photo-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 48px;
}

.player-hero-info {
    min-width: 0;
}

.player-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: #16a34a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
}

.player-hero h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.1;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.player-team-line {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 14px;
}

.player-team-line img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.player-team-line a {
    color: #0f172a;
    font-weight: 700;
    text-decoration: none;
}

.player-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 16px;
}

.player-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: 13px;
}

.player-stat-grid {
    display: grid;
    grid-template-columns:
        repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.player-stat-grid .card {
    min-width: 0;
    padding: 18px 14px;
    text-align: center;
}

.player-stat-grid span {
    display: block;
    color: #64748b;
    font-size: 12px;
}

.player-stat-grid strong {
    display: block;
    margin-top: 6px;
    color: #0f172a;
    font-size: 25px;
    line-height: 1;
    font-weight: 900;
}

.player-performance,
.player-seasons,
.player-editorial {
    margin-top: 18px;
    padding: 24px;
}

.player-section-title > span {
    display: block;
    margin-bottom: 5px;
    color: #16a34a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
}

.player-section-title h2 {
    margin: 0;
    color: #0f172a;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 800;
}

.player-performance-grid {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.player-performance-grid > div {
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

.player-performance-grid span {
    display: block;
    color: #64748b;
    font-size: 12px;
}

.player-performance-grid strong {
    display: block;
    margin-top: 5px;
    color: #0f172a;
    font-size: 20px;
}

.player-season-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.player-season-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid #eef2f7;
}

.player-season-row:last-child {
    border-bottom: 0;
}

.player-season-main {
    min-width: 0;
}

.player-season-main strong,
.player-season-main span {
    display: block;
}

.player-season-main span {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}

.player-season-numbers {
    display: flex;
    gap: 18px;
    flex-shrink: 0;
}

.player-season-numbers span {
    color: #64748b;
    font-size: 12px;
}

.player-season-numbers b {
    color: #0f172a;
}

.player-editorial p {
    margin: 16px 0 0;
    color: #475569;
    font-size: 15px;
    line-height: 1.7;
}

.player-editorial a {
    color: #166534;
    font-weight: 700;
}

.player-related {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.player-related > a {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 18px;
    color: inherit;
    text-decoration: none;
}

.player-related i {
    flex: 0 0 auto;
    font-size: 24px;
    color: #16a34a;
}

.player-related strong,
.player-related span {
    display: block;
}

.player-related span {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}


/* Tablet */

@media (max-width: 900px) {

    .player-stat-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .player-performance-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 600px) {

    .player-wrap {
        width: min(100% - 20px, 1180px);
        padding-top: 14px;
    }

    .player-breadcrumb {
        overflow-x: auto;
        white-space: nowrap;
        padding-bottom: 3px;
    }

    .player-hero {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 18px;
        text-align: center;
    }

    .player-photo {
        width: 120px;
        height: 120px;
        max-width: 120px;
    }

    .player-team-line,
    .player-meta {
        justify-content: center;
    }

    .player-stat-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .player-stat-grid .card {
        padding: 15px 10px;
    }

    .player-stat-grid strong {
        font-size: 22px;
    }

    .player-performance,
    .player-seasons,
    .player-editorial {
        padding: 16px;
    }

    .player-performance-grid {
        grid-template-columns: 1fr;
    }

    .player-season-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .player-season-numbers {
        width: 100%;
        justify-content: space-between;
        gap: 8px;
    }

    .player-related {
        grid-template-columns: 1fr;
    }

    .player-editorial p {
        font-size: 14px;
    }

}

@media (max-width: 380px) {

    .player-stat-grid {
        grid-template-columns: 1fr 1fr;
    }

    .player-season-numbers {
        flex-wrap: wrap;
    }

}


/* Links dos jogadores nos destaques */

.team-highlight-player-link {
    color: inherit;
    text-decoration: none;
}

.team-highlight-player-link:hover strong {
    text-decoration: underline;
}

.team-highlight-photo-link {
    display: block;
    flex: 0 0 auto;
    border-radius: 12px;
    text-decoration: none;
}


/* ===== PALPITE FC - TABLET GLOBAL V1 =====
   Faixa alvo: tablets 768px até 1100px
   Objetivo: melhorar largura, grids, cards, tabelas,
   tipografia e espaçamentos sem alterar mobile/desktop.
================================================ */

/* -------------------------------------------------
   TABLET GERAL
------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1100px) {

    /* Evitar overflow horizontal acidental */
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* -------------------------------------------------
       CONTAINERS
    ------------------------------------------------- */

    main .max-w-7xl,
    main .max-w-6xl,
    main .max-w-5xl,
    main .max-w-4xl,
    footer .max-w-7xl,
    header .max-w-7xl {
        width: 100%;
        max-width: 100%;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* Containers personalizados usados pelo projeto */
    .container,
    .page-container,
    .content-container,
    .content-wrap,
    .main-container {
        width: 100%;
        max-width: 100%;
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }

    /* -------------------------------------------------
       ESPAÇAMENTO VERTICAL
    ------------------------------------------------- */

    main section {
        scroll-margin-top: 90px;
    }

    main .py-16 {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    main .py-20,
    main .py-24 {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
    }

    /* -------------------------------------------------
       TIPOGRAFIA
    ------------------------------------------------- */

    main h1 {
        line-height: 1.08;
    }

    main h2 {
        line-height: 1.15;
    }

    main p {
        overflow-wrap: break-word;
    }

    /* Evita títulos enormes herdados do desktop */
    main .text-6xl,
    main .text-7xl {
        font-size: 3rem !important;
        line-height: 1.05 !important;
    }

    main .text-5xl {
        font-size: 2.5rem !important;
        line-height: 1.08 !important;
    }

    /* -------------------------------------------------
       GRIDS MAIS IMPORTANTES
    ------------------------------------------------- */

    /*
      Em tablet, grids de 4/5/6 elementos geralmente ficam
      melhores em duas colunas.
    */

    main .grid-cols-4,
    main .grid-cols-5,
    main .grid-cols-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    main .gap-8,
    main .gap-10,
    main .gap-12 {
        gap: 24px !important;
    }

    /* -------------------------------------------------
       CARDS
    ------------------------------------------------- */

    main .rounded-2xl,
    main .rounded-3xl {
        max-width: 100%;
    }

    main .p-8,
    main .p-10,
    main .p-12 {
        padding: 24px !important;
    }

    /* -------------------------------------------------
       FLEX
    ------------------------------------------------- */

    main .flex {
        min-width: 0;
    }

    main .flex-1 {
        min-width: 0;
    }

    /* -------------------------------------------------
       IMAGENS
    ------------------------------------------------- */

    main img {
        max-width: 100%;
        height: auto;
    }

    /* Evitar imagens gigantes em cards/hero */
    main figure,
    main picture {
        max-width: 100%;
    }

    /* -------------------------------------------------
       TABELAS
    ------------------------------------------------- */

    main table {
        width: 100%;
    }

    main .overflow-x-auto {
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
    }

    main table th,
    main table td {
        white-space: normal;
    }

    /* -------------------------------------------------
       BOTÕES
    ------------------------------------------------- */

    main button,
    main .btn,
    main a.btn {
        max-width: 100%;
    }

    /* -------------------------------------------------
       FORMULÁRIOS
    ------------------------------------------------- */

    main input,
    main select,
    main textarea {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* -------------------------------------------------
       HEADER
    ------------------------------------------------- */

    header nav {
        min-width: 0;
    }

    header a,
    header button {
        white-space: nowrap;
    }

    /* -------------------------------------------------
       FOOTER
    ------------------------------------------------- */

    footer .grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* -------------------------------------------------
   TABLET RETRATO / TABLET MENOR
------------------------------------------------- */
@media (min-width: 768px) and (max-width: 900px) {

    main .grid-cols-3,
    main .grid-cols-4,
    main .grid-cols-5,
    main .grid-cols-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    main .px-8,
    main .px-10,
    main .px-12 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    main .text-5xl,
    main .text-6xl,
    main .text-7xl {
        font-size: 2.5rem !important;
    }

    footer .grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* -------------------------------------------------
   TABLET LANDSCAPE
------------------------------------------------- */
@media (min-width: 901px) and (max-width: 1100px) {

    main .max-w-7xl,
    main .max-w-6xl {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }

    /*
      Em landscape podemos manter algumas grades de três
      colunas, mas grids muito grandes continuam compactados.
    */
    main .grid-cols-5,
    main .grid-cols-6 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* ===== FIM PALPITE FC - TABLET GLOBAL V1 ===== */


/* ===== TABLET GLOBAL V1.1 - TAILWIND RESPONSIVE OVERRIDES ===== */

@media (min-width: 768px) and (max-width: 900px) {

    .md\:grid-cols-3,
    .md\:grid-cols-4,
    .lg\:grid-cols-3,
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}

@media (min-width: 901px) and (max-width: 1100px) {

    .lg\:grid-cols-4,
    .xl\:grid-cols-4,
    .xl\:grid-cols-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}

/* ===== FIM TABLET GLOBAL V1.1 ===== */
