/* FULLWIDTH GLOBAL */
.bsu-section,
.bsu-container{
  max-width:100% !important;
  width:100% !important;
  padding-left:0px;
  padding-right:0px;
}
/* ===============================
   BRACKET PAGE (HEADER + SPACING FIX)
=============================== */

.bsu-bracket-section{
  padding-top:56px;
}

/* ===============================
   HEADER UNIFICADO
=============================== */

.bsu-bracket-section .bsu-section-head{
  position:relative;
  overflow:hidden;

  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;

  padding:56px 42px;
  border-radius:34px;
  margin-bottom:32px;

  background:
    radial-gradient(circle at top right, rgba(244,198,34,.20), transparent 30%),
    radial-gradient(circle at bottom left, rgba(59,130,246,.18), transparent 35%),
    linear-gradient(135deg, #081028, #162457 55%, #31458c);

  color:#fff;
  box-shadow:0 28px 70px rgba(15,23,42,.18);
}

.bsu-bracket-section .bsu-section-head > *{
  position:relative;
  z-index:2;
}

.bsu-bracket-section .bsu-section-kicker{
  margin:0 0 10px;
  color:#f4c622;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.bsu-bracket-section .bsu-section-head h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:.92;
  letter-spacing:-.06em;
}

.bsu-bracket-section .bsu-section-head p{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:1.05rem;
  line-height:1.7;
}

.bsu-bracket-section .bsu-pill{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
}

/* ===============================
   ORIGINAL BRACKET (UNCHANGED)
=============================== */

.bsu-bracket-grid-pro{
  display:grid;
  gap:28px;
  align-items:start;
  position:relative;
}

.bsu-bracket-grid-pro.cols-1{
  grid-template-columns:minmax(0, 1fr);
}

.bsu-bracket-grid-pro.cols-2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.bsu-bracket-grid-pro.cols-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.bsu-bracket-col-pro{
  position:relative;
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
  border-radius:30px;
  padding:22px;
  box-shadow:0 18px 44px rgba(15,23,42,.07);
  min-height:100%;
  overflow:visible;
}

.bsu-bracket-final-col{
  background:linear-gradient(180deg, #fffdf6 0%, #ffffff 100%);
  border-color:rgba(244,198,34,.22);
}

.bsu-bracket-col-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.bsu-bracket-col-head h3{
  margin:0;
  font-size:1rem;
  color:var(--bsu-text-faint);
  text-transform:uppercase;
  letter-spacing:.1em;
}

.bsu-bracket-col-head span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border-radius:999px;
  background:#eef3fb;
  color:var(--bsu-theme);
  font-size:.78rem;
  font-weight:800;
}

.bsu-bracket-stack{
  display:grid;
  gap:18px;
  position:relative;
}

.bsu-bracket-stack-semis{
  padding-top:42px;
}

.bsu-bracket-stack-final{
  padding-top:96px;
}

.bsu-bracket-match-pro{
  position:relative;
  padding:16px;
  border-radius:22px;
  background:#f7f9fd;
  border:1px solid rgba(15,23,42,.05);
  transition:.22s ease;
}

.bsu-bracket-match-pro:hover{
  transform:translateY(-3px);
  background:#f3f7ff;
  box-shadow:0 14px 30px rgba(15,23,42,.08);
}

.bsu-bracket-final-match{
  background:linear-gradient(135deg, rgba(244,198,34,.16), rgba(22,36,87,.05));
  border:1px solid rgba(244,198,34,.26);
  box-shadow:0 16px 34px rgba(244,198,34,.10);
}

.bsu-bracket-final-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(244,198,34,.20);
  color:#8a6500;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:12px;
}

.bsu-bracket-match-teams{
  display:grid;
  gap:10px;
}

.bsu-bracket-team{
  display:flex;
  align-items:center;
  min-height:52px;
  padding:0 14px;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.05);
}

.bsu-bracket-team strong{
  color:var(--bsu-text);
}

.bsu-bracket-match-meta{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

.bsu-bracket-match-meta span{
  color:var(--bsu-text-soft);
  font-size:.84rem;
  font-weight:800;
}

/* ===============================
   RESPONSIVE
=============================== */

@media (max-width:1100px){
  .bsu-bracket-grid-pro.cols-2,
  .bsu-bracket-grid-pro.cols-3{
    grid-template-columns:1fr;
  }

  .bsu-bracket-stack-semis,
  .bsu-bracket-stack-final{
    padding-top:0;
  }
}

@media (max-width:768px){

  .bsu-bracket-section .bsu-section-head{
    flex-direction:column;
    align-items:flex-start;
    padding:38px 26px;
    border-radius:28px;
  }

  .bsu-bracket-section .bsu-section-head h2{
    font-size:clamp(2.6rem,12vw,4rem);
  }

}
/* ===============================
   BRACKET OFFICIAL - SPORT EFFECTS
=============================== */

.bsu-bracket-col-pro{
  overflow:hidden;
}

.bsu-bracket-match-pro{
  position:relative;
  overflow:hidden;
  animation:bsuBracketFloat 4s ease-in-out infinite;
}

.bsu-bracket-match-pro:nth-child(2){
  animation-delay:.25s;
}

.bsu-bracket-match-pro:nth-child(3){
  animation-delay:.5s;
}

.bsu-bracket-match-pro::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(244,198,34,.16),transparent);
  transform:translateX(-120%);
  animation:bsuBracketShine 3.4s ease-in-out infinite;
  pointer-events:none;
}

.bsu-bracket-final-match{
  box-shadow:0 18px 42px rgba(244,198,34,.18);
  animation:bsuChampionPulse 2.4s ease-in-out infinite;
}

@keyframes bsuBracketFloat{
  0%,100%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-5px);
  }
}

@keyframes bsuBracketShine{
  0%{
    transform:translateX(-120%);
  }

  45%,100%{
    transform:translateX(120%);
  }
}

@keyframes bsuChampionPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 18px 42px rgba(244,198,34,.18);
  }

  50%{
    transform:scale(1.018);
    box-shadow:0 24px 55px rgba(244,198,34,.30);
  }
}