/* ──────────────────────────────────────────────────────────────
   P3F8U.2 — Playoff Modal Fit Lock
   Objetivo: caber no viewport sem faixa fantasma, sem scroll vertical
   desnecessário e com a Próxima Série integrada à coluna FINAL.
────────────────────────────────────────────────────────────── */

#playoffs-modal {
  isolation: isolate !important;
}

#playoffs-modal .p3f8u2-playoff-modal {
  width: min(1320px, calc(100vw - 28px)) !important;
  max-width: calc(100vw - 20px) !important;
  height: auto !important;
  max-height: calc(100dvh - 20px) !important;
  overflow: hidden !important;
}

#playoffs-modal .p3f8u2-playoff-head {
  min-height: 76px !important;
  padding: 14px 18px !important;
}

#playoffs-modal .p3f8u2-playoff-head strong {
  font-size: clamp(21px, 2.05vw, 27px) !important;
  line-height: 1.02 !important;
}

#playoffs-modal .p3f8u2-playoff-body {
  display: block !important;
  grid-template-columns: none !important;
  padding: 12px 14px 14px !important;
  max-height: calc(100dvh - 100px) !important;
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}

#playoffs-modal .p3f8u2-bracket-main {
  width: 100% !important;
  min-width: 0 !important;
}

#playoffs-modal .p3f8u2-bracket-main > .p2a2-bracket-grid {
  display: grid !important;
  grid-template-columns:
    minmax(0, .92fr)
    minmax(0, 1.03fr)
    minmax(0, 1.12fr)
    minmax(236px, .94fr) !important;
  gap: 10px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
}

#playoffs-modal .p3f8u2-bracket-main > .p2a2-bracket-grid > section {
  align-self: start !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 10px !important;
  gap: 8px !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.023) !important;
}

#playoffs-modal .p3f8u2-bracket-main h4 {
  margin: 0 !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  letter-spacing: 1.2px !important;
}

#playoffs-modal .p3f8u2-bracket-main .p2a2-series-card {
  padding: 7px !important;
  gap: 5px !important;
  border-radius: 12px !important;
}

#playoffs-modal .p3f8u2-bracket-main .p2a2-series-top small {
  font-size: 8.5px !important;
  line-height: 1.05 !important;
}

#playoffs-modal .p3f8u2-bracket-main .p2a2-series-top em {
  font-size: 9px !important;
  line-height: 1.05 !important;
}

#playoffs-modal .p3f8u2-bracket-main .p2a2-team-row {
  min-height: 31px !important;
  grid-template-columns: 25px minmax(0, 1fr) auto !important;
  gap: 6px !important;
  padding: 5px 7px !important;
  border-radius: 9px !important;
}

#playoffs-modal .p3f8u2-bracket-main .p2a2-team-mark,
#playoffs-modal .p3f8u2-bracket-main .p2a2-team-row img {
  width: 24px !important;
  height: 24px !important;
}

#playoffs-modal .p3f8u2-bracket-main .p2a2-team-row b {
  font-size: 11px !important;
  line-height: 1.02 !important;
}

#playoffs-modal .p3f8u2-bracket-main .p2a2-team-row small {
  font-size: 8px !important;
  line-height: 1.05 !important;
  letter-spacing: .18px !important;
}

#playoffs-modal .p3f8u2-bracket-main .p2a2-team-row > strong {
  min-width: 14px !important;
  font-size: 12px !important;
}

#playoffs-modal .p3f8u2-final-rail {
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
  background: rgba(255,255,255,.018) !important;
  border-color: rgba(255,255,255,.055) !important;
}

#playoffs-modal .p3f8u2-final-rail::before,
#playoffs-modal .p3f8u2-final-rail::after {
  display: none !important;
  content: none !important;
}

#playoffs-modal .p3f8u2-final-block {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#playoffs-modal .p3f8u2-action-panel {
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 9px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(126,78,255,.18), transparent 42%),
    linear-gradient(180deg, rgba(26,25,48,.95), rgba(8,11,20,.94)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

#playoffs-modal .p3f8u2-action-panel::before,
#playoffs-modal .p3f8u2-action-panel::after {
  display: none !important;
  content: none !important;
}

#playoffs-modal .p3f8u2-action-panel .p2a2-current-series,
#playoffs-modal .p3f8u2-action-panel .p2a2-status-card {
  gap: 7px !important;
  padding: 9px !important;
  border-radius: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#playoffs-modal .p3f8u2-action-panel .p2a2-current-series > small,
#playoffs-modal .p3f8u2-action-panel .p2a2-status-card > small {
  margin-bottom: 0 !important;
  font-size: 8.5px !important;
}

#playoffs-modal .p3f8u2-action-panel .p2a2-current-series > strong,
#playoffs-modal .p3f8u2-action-panel .p2a2-status-card strong {
  font-size: 14px !important;
  line-height: 1.18 !important;
}

#playoffs-modal .p3f8u2-action-panel .p2a2-current-duel {
  gap: 5px !important;
}

#playoffs-modal .p3f8u2-action-panel .p2a2-vs-pill {
  padding: 2px 8px !important;
  font-size: 8.5px !important;
}

#playoffs-modal .p3f8u2-action-panel .match-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

#playoffs-modal .p3f8u2-action-panel .match-buttons button,
#playoffs-modal .p3f8u2-action-panel .p2a-primary-wide {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 36px !important;
  padding: 8px 9px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
}

#playoffs-modal .p3f8u2-action-panel .p2a2-status-hint {
  display: none !important;
}

@media (max-width: 1366px) {
  #playoffs-modal .p3f8u2-playoff-modal {
    width: calc(100vw - 22px) !important;
    max-height: calc(100dvh - 16px) !important;
  }
  #playoffs-modal .p3f8u2-playoff-head {
    min-height: 70px !important;
    padding: 12px 16px !important;
  }
  #playoffs-modal .p3f8u2-playoff-head strong {
    font-size: 22px !important;
  }
  #playoffs-modal .p3f8u2-playoff-body {
    padding: 10px 12px 12px !important;
    max-height: calc(100dvh - 88px) !important;
    overflow: hidden !important;
  }
  #playoffs-modal .p3f8u2-bracket-main > .p2a2-bracket-grid {
    grid-template-columns:
      minmax(0, .90fr)
      minmax(0, 1.00fr)
      minmax(0, 1.08fr)
      minmax(224px, .92fr) !important;
    gap: 8px !important;
  }
  #playoffs-modal .p3f8u2-bracket-main > .p2a2-bracket-grid > section {
    padding: 8px !important;
    gap: 7px !important;
    border-radius: 14px !important;
  }
  #playoffs-modal .p3f8u2-bracket-main .p2a2-series-card {
    padding: 6px !important;
    gap: 4px !important;
  }
  #playoffs-modal .p3f8u2-bracket-main .p2a2-team-row {
    min-height: 29px !important;
    grid-template-columns: 23px minmax(0,1fr) auto !important;
    padding: 4px 6px !important;
  }
  #playoffs-modal .p3f8u2-bracket-main .p2a2-team-mark,
  #playoffs-modal .p3f8u2-bracket-main .p2a2-team-row img {
    width: 22px !important;
    height: 22px !important;
  }
  #playoffs-modal .p3f8u2-action-panel .match-buttons button,
  #playoffs-modal .p3f8u2-action-panel .p2a-primary-wide {
    min-height: 34px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 1120px) {
  #playoffs-modal .p3f8u2-playoff-body {
    overflow: auto !important;
  }
  #playoffs-modal .p3f8u2-bracket-main > .p2a2-bracket-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-height: 700px) and (min-width: 1121px) {
  #playoffs-modal .p3f8u2-playoff-head {
    min-height: 62px !important;
    padding: 10px 14px !important;
  }
  #playoffs-modal .p3f8u2-playoff-head strong {
    font-size: 20px !important;
  }
  #playoffs-modal .p3f8u2-playoff-head span {
    margin-top: 2px !important;
  }
  #playoffs-modal .p3f8u2-playoff-body {
    padding: 8px 10px 10px !important;
    max-height: calc(100dvh - 74px) !important;
  }
  #playoffs-modal .p3f8u2-bracket-main > .p2a2-bracket-grid > section {
    gap: 5px !important;
    padding: 7px !important;
  }
  #playoffs-modal .p3f8u2-bracket-main .p2a2-series-card {
    padding: 5px !important;
    gap: 3px !important;
  }
  #playoffs-modal .p3f8u2-bracket-main .p2a2-team-row {
    min-height: 26px !important;
  }
}
