/* Frame 14 — sold-to-team panel (from solddata.css / Figma) */

#teamSoldPanel {
  position: absolute;
  inset: 0;
  width: var(--canvas-w);
  height: var(--canvas-h);
  opacity: 0;
  transform: translateX(36px);
  pointer-events: none;
  z-index: 24;
}

#liveBar.mode-sold #teamSoldPanel {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1), transform 0.62s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Live bidding — leading team panel (same slot as sold team card) */
#liveBar.mode-bid-team #teamSoldPanel {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.62s cubic-bezier(0.16, 1, 0.3, 1), transform 0.72s cubic-bezier(0.16, 1, 0.3, 1);
}

#liveBar.mode-bid-team.bid-team-reveal .sold-team-visual {
  animation: soldTeamVisualIn 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.08s forwards;
}

#liveBar.mode-bid-team.bid-team-reveal.has-team-logo .sold-team-logo,
#liveBar.mode-bid-team.bid-team-reveal.has-team-fallback .sold-team-logo-fallback {
  animation: soldTeamLogoIn 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.22s forwards;
}

#liveBar.mode-bid-team.bid-team-reveal .fig-team-plate {
  animation: soldTeamPlateIn 0.58s cubic-bezier(0.16, 1, 0.3, 1) 0.32s forwards;
}

#liveBar.mode-bid-team .sold-team-visual,
#liveBar.mode-bid-team.has-team-logo .sold-team-logo,
#liveBar.mode-bid-team.has-team-fallback .sold-team-logo-fallback,
#liveBar.mode-bid-team .fig-team-plate {
  opacity: 1;
  transform: translateY(0) scale(1);
}

#liveBar.mode-bid-team:not(.bid-team-reveal) .sold-team-visual {
  opacity: 0;
  transform: translateY(12px) scale(0.94);
}

#liveBar.mode-bid-team:not(.bid-team-reveal) .fig-team-plate {
  opacity: 0;
  transform: translateY(10px);
}

#liveBar.mode-bid-team .bid-team-tag {
  display: block;
}

.bid-team-tag {
  display: none;
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.75;
  margin-bottom: 2px;
}

.sold-team-tag {
  display: none;
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.75;
  margin-bottom: 2px;
}

#liveBar.mode-sold:not(.is-unsold) .sold-team-tag {
  display: block;
}

#liveBar.mode-sold .bid-team-tag {
  display: none;
}

/* Player bar stays fully visible while sold layout shifts left */
#liveBar.mode-sold .fig-layer {
  opacity: 1;
}

/* Team logo + name stay in final position as soon as sold mode is active */
#liveBar.mode-sold .sold-team-visual {
  opacity: 1;
  transform: translateY(0) scale(1);
}

#liveBar.mode-sold.has-team-logo .sold-team-logo,
#liveBar.mode-sold.has-team-fallback .sold-team-logo-fallback {
  opacity: 1;
  transform: scale(1);
}

#liveBar.mode-sold .fig-team-plate {
  opacity: 1;
  transform: translateY(0);
}

/* Team photo backdrop — Figma Frame 14 @ 869px (lower, toward bar bottom) */
.sold-team-visual {
  position: absolute;
  left: 1363px;
  top: calc(869px + var(--bar-lift-y));
  width: 264px;
  height: 171px;
  opacity: 0;
  transform: translateY(12px) scale(0.94);
}

.sold-team-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}

/* Team logo — sits on bottom edge of backdrop (Figma @ 856px) */
.sold-team-logo,
.sold-team-logo-fallback {
  position: absolute;
  left: 77px;
  top: -13px;
  width: 110px;
  height: 136px;
  opacity: 0;
  transform: scale(0.82);
}

.sold-team-logo {
  object-fit: contain;
  object-position: center bottom;
  display: none;
}

.sold-team-logo-fallback {
  display: none;
  align-items: center;
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}

#liveBar.mode-sold.has-team-logo .sold-team-logo {
  display: block;
}

#liveBar.mode-sold.has-team-fallback .sold-team-logo-fallback {
  display: flex;
}

/* Team block reveals first and stays put — before gavel/stamp in the gap */
#liveBar.mode-sold.sold-reveal .sold-team-visual {
  animation: soldTeamVisualIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.12s forwards;
}

#liveBar.mode-sold.sold-reveal.has-team-logo .sold-team-logo,
#liveBar.mode-sold.sold-reveal.has-team-fallback .sold-team-logo-fallback {
  animation: soldTeamLogoIn 0.55s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.28s forwards;
}

@keyframes soldTeamVisualIn {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes soldTeamLogoIn {
  0% {
    opacity: 0;
    transform: scale(0.55);
  }
  55% {
    opacity: 1;
    transform: scale(1.08);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Name plate — Figma Frame 14 @ 992px (bottom of bar, above stats rail) */
.fig-team-plate {
  position: absolute;
  left: 1374.7px;
  top: calc(992px + var(--bar-lift-y));
  width: 241px;
  height: 55.5px;
  opacity: 0;
  transform: translateY(10px);
}

.sold-team-plate-frame {
  position: absolute;
  left: -1.5px;
  top: -1px;
  width: 244px;
  height: 58px;
  background: var(--crimson);
  clip-path: polygon(8% 0, 92% 0, 100% 55%, 50% 100%, 0 55%);
  z-index: 0;
}

.team-plate-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  z-index: 1;
  pointer-events: none;
}

.team-plate-content {
  position: relative;
  z-index: 2;
  width: 241px;
  height: 55.5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
}

#liveBar.mode-sold.sold-reveal .fig-team-plate {
  animation: soldTeamPlateIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.38s forwards;
}

@keyframes soldTeamPlateIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#soldTeamNameLine1,
#soldTeamNameLine2,
.sold-team-name-line {
  font-family: 'Oswald', sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.15;
  text-transform: uppercase;
  text-align: center;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#liveBar.has-team-name-two-lines .sold-team-name-line {
  font-size: 15px;
  line-height: 1.1;
  white-space: normal;
}

#liveBar.is-unsold #soldTeamNameLine1 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

#liveBar.is-unsold #soldTeamNameLine2 {
  display: none !important;
}

#liveBar.is-unsold .sold-team-visual,
#liveBar.is-unsold .sold-team-logo,
#liveBar.is-unsold .sold-team-logo-fallback {
  display: none !important;
}

#liveBar.is-unsold.sold-reveal .fig-team-plate {
  animation: soldTeamPlateIn 0.45s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards;
}

/* ── Hammer stamp — plays in the gap between shifted player bar and team panel ── */

#hs2RootFull.hs2-root {
  position: absolute;
  /* Gap: player cluster ends ~1083px, team panel starts ~1375px */
  left: 1058px;
  top: calc(768px + var(--bar-lift-y));
  width: 320px;
  height: 320px;
  overflow: visible;
  display: none;
  pointer-events: none;
  z-index: 18;
}

#hs2RootFull.hs2-fire {
  display: block;
}

.hs2-hammer-wrap {
  position: absolute;
  top: -18%;
  left: 65%;
  width: 95%;
  transform: translateX(-50%) rotate(0deg);
  transform-origin: 50% 100%;
  z-index: 302;
}

.hs2-fire .hs2-hammer-wrap {
  animation: hs2Down 1.4s cubic-bezier(0.25, 0, 0.55, 0.8) 0.3s forwards,
             hs2Lift 0.45s cubic-bezier(0.4, 0, 0.6, 1) 2.8s forwards;
}

.hs2-hammer-wrap img {
  width: 100%;
  height: auto;
  display: block;
}

@keyframes hs2Down {
  0%   { transform: translateX(-50%) rotate(0deg); opacity: 1; }
  40%  { transform: translateX(-50%) rotate(12deg); opacity: 1; }
  85%  { transform: translateX(-50%) rotate(-70deg); opacity: 1; }
  91%  { transform: translateX(-50%) rotate(-62deg); opacity: 1; }
  96%  { transform: translateX(-50%) rotate(-67deg); opacity: 1; }
  100% { transform: translateX(-50%) rotate(-65deg); opacity: 1; }
}

@keyframes hs2Lift {
  0%   { transform: translateX(-50%) rotate(-65deg) scale(1); opacity: 1; }
  100% { transform: translateX(-50%) rotate(10deg) translateY(-20px) scale(0.7); opacity: 0; }
}

.hs2-burst {
  position: absolute;
  top: 52%;
  left: 22%;
  transform: translate(-50%, -50%) scale(0.2);
  width: 180px;
  height: 180px;
  opacity: 0;
}

.hs2-fire .hs2-burst {
  animation: hs2Burst 0.5s cubic-bezier(0.22, 1, 0.36, 1) 1.49s forwards;
}

@keyframes hs2Burst {
  0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.2); }
  28%  { opacity: 0.9; transform: translate(-50%, -50%) scale(0.8); }
  65%  { opacity: 0.6; transform: translate(-50%, -50%) scale(1.15); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.55); }
}

#hs2RootFull.hs2-unsold .hs2-burst circle,
#hs2RootFull.hs2-unsold .hs2-burst line {
  stroke: rgba(255, 180, 171, 0.9);
}

.hs2-badge {
  position: absolute;
  top: 52%;
  left: 22%;
  transform: translate(-50%, -50%) scale(3.5) rotate(-42deg);
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  filter: blur(6px);
  will-change: transform, opacity, filter;
  backface-visibility: hidden;
}

.hs2-fire .hs2-badge {
  animation: hs2BadgeIn 0.65s cubic-bezier(0.175, 0.885, 0.32, 1.275) 1.49s forwards;
}

.hs2-stamp-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@keyframes hs2BadgeIn {
  0%   { opacity: 0; transform: translate(-50%, -50%) scale(3.5) rotate(-42deg); filter: blur(6px); }
  50%  { opacity: 1; transform: translate(-50%, -50%) scale(0.88) rotate(-33deg); filter: blur(0); }
  75%  { transform: translate(-50%, -50%) scale(1.06) rotate(-31deg); filter: blur(0); }
  100% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(-30deg); filter: blur(0); }
}

.hs2-shockwave {
  position: absolute;
  top: 52%;
  left: 22%;
  width: 1px;
  height: 1px;
  border-radius: 50%;
  border: 2.5px solid rgba(255, 255, 255, 0.5);
  pointer-events: none;
  opacity: 0;
}

.hs2-fire .hs2-shockwave {
  animation: hs2Shock 0.55s ease-out 1.49s forwards;
}

@keyframes hs2Shock {
  0%   { transform: translate(-50%, -50%) scale(20); opacity: 0.9; }
  100% { transform: translate(-50%, -50%) scale(120); opacity: 0; }
}
