.bp-bets-page {
  color: var(--text-secondary);
  font-family: 'Proxima Nova', sans-serif;
  padding: 10px;
}

/* ========== GOAL ANIMATION - Clean Glow Effect ========== */
/* Row with goal animation - left border glow */
.bp-odds-row.goal-row-animation {
  position: relative;
  animation: bp-goal-row-pulse 3s ease-out forwards;
}

.bp-odds-row.goal-row-animation::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #00ff88, #00cc6a);
  box-shadow: 0 0 12px #00ff88, 0 0 24px rgba(0, 255, 136, 0.5);
  animation: bp-goal-border-glow 3s ease-out forwards;
  z-index: 10;
}

/* Subtle row highlight */
@keyframes bp-goal-row-pulse {
  0% { background: rgba(0, 255, 136, 0.15); }
  30% { background: rgba(0, 255, 136, 0.08); }
  100% { background: transparent; }
}

@keyframes bp-goal-border-glow {
  0% { opacity: 1; box-shadow: 0 0 12px #00ff88, 0 0 24px rgba(0, 255, 136, 0.6); }
  70% { opacity: 1; box-shadow: 0 0 8px #00ff88, 0 0 16px rgba(0, 255, 136, 0.4); }
  100% { opacity: 0; box-shadow: none; }
}

/* Goal indicator next to team name */
.goal-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 4px;
  vertical-align: middle;
  line-height: 1;
  animation: bp-goal-indicator-pop 3s ease-out forwards;
}

.goal-indicator-ball {
  font-size: 11px;
  line-height: 1;
  display: inline-block;
  animation: bp-goal-ball-pulse 0.6s ease-in-out 3;
}

@keyframes bp-goal-indicator-pop {
  0% { opacity: 0; transform: scale(0); }
  15% { opacity: 1; transform: scale(1.3); }
  30% { transform: scale(1); }
  80% { opacity: 1; }
  100% { opacity: 0; transform: scale(0.8); }
}

@keyframes bp-goal-ball-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}

/* Hockey variant - blue glow */
.bp-odds-row.goal-row-animation.hockey::before {
  background: linear-gradient(180deg, #00b4ff, #0088cc);
  box-shadow: 0 0 12px #00b4ff, 0 0 24px rgba(0, 180, 255, 0.5);
  animation: bp-goal-border-glow-hockey 3s ease-out forwards;
}

.bp-odds-row.goal-row-animation.hockey {
  animation: bp-goal-row-pulse-hockey 3s ease-out forwards;
}

@keyframes bp-goal-row-pulse-hockey {
  0% { background: rgba(0, 180, 255, 0.15); }
  30% { background: rgba(0, 180, 255, 0.08); }
  100% { background: transparent; }
}

@keyframes bp-goal-border-glow-hockey {
  0% { opacity: 1; box-shadow: 0 0 12px #00b4ff, 0 0 24px rgba(0, 180, 255, 0.6); }
  70% { opacity: 1; }
  100% { opacity: 0; box-shadow: none; }
}

/* Basketball variant - orange glow */
.bp-odds-row.goal-row-animation.basketball::before {
  background: linear-gradient(180deg, #ff8c00, #ff6600);
  box-shadow: 0 0 12px #ff8c00, 0 0 24px rgba(255, 140, 0, 0.5);
  animation: bp-goal-border-glow-basketball 3s ease-out forwards;
}

.bp-odds-row.goal-row-animation.basketball {
  animation: bp-goal-row-pulse-basketball 3s ease-out forwards;
}

@keyframes bp-goal-row-pulse-basketball {
  0% { background: rgba(255, 140, 0, 0.15); }
  30% { background: rgba(255, 140, 0, 0.08); }
  100% { background: transparent; }
}

@keyframes bp-goal-border-glow-basketball {
  0% { opacity: 1; box-shadow: 0 0 12px #ff8c00, 0 0 24px rgba(255, 140, 0, 0.6); }
  70% { opacity: 1; }
  100% { opacity: 0; box-shadow: none; }
}

/* Tennis variant - lime/yellow glow */
.bp-odds-row.goal-row-animation.tennis::before {
  background: linear-gradient(180deg, #c4ff00, #a0d800);
  box-shadow: 0 0 12px #c4ff00, 0 0 24px rgba(196, 255, 0, 0.5);
}
.bp-odds-row.goal-row-animation.tennis {
  animation: bp-goal-row-pulse-tennis 3s ease-out forwards;
}
@keyframes bp-goal-row-pulse-tennis {
  0% { background: rgba(196, 255, 0, 0.15); }
  30% { background: rgba(196, 255, 0, 0.08); }
  100% { background: transparent; }
}

/* Volleyball variant - yellow/orange glow */
.bp-odds-row.goal-row-animation.volleyball::before {
  background: linear-gradient(180deg, #ffcc00, #ff9900);
  box-shadow: 0 0 12px #ffcc00, 0 0 24px rgba(255, 204, 0, 0.5);
}
.bp-odds-row.goal-row-animation.volleyball {
  animation: bp-goal-row-pulse-volleyball 3s ease-out forwards;
}
@keyframes bp-goal-row-pulse-volleyball {
  0% { background: rgba(255, 204, 0, 0.15); }
  30% { background: rgba(255, 204, 0, 0.08); }
  100% { background: transparent; }
}

/* American Football variant - brown glow */
.bp-odds-row.goal-row-animation.football::before {
  background: linear-gradient(180deg, #8b4513, #a0522d);
  box-shadow: 0 0 12px #8b4513, 0 0 24px rgba(139, 69, 19, 0.5);
}
.bp-odds-row.goal-row-animation.football {
  animation: bp-goal-row-pulse-football 3s ease-out forwards;
}
@keyframes bp-goal-row-pulse-football {
  0% { background: rgba(139, 69, 19, 0.15); }
  30% { background: rgba(139, 69, 19, 0.08); }
  100% { background: transparent; }
}

/* Baseball variant - red glow */
.bp-odds-row.goal-row-animation.baseball::before {
  background: linear-gradient(180deg, #cc0000, #990000);
  box-shadow: 0 0 12px #cc0000, 0 0 24px rgba(204, 0, 0, 0.5);
}
.bp-odds-row.goal-row-animation.baseball {
  animation: bp-goal-row-pulse-baseball 3s ease-out forwards;
}
@keyframes bp-goal-row-pulse-baseball {
  0% { background: rgba(204, 0, 0, 0.15); }
  30% { background: rgba(204, 0, 0, 0.08); }
  100% { background: transparent; }
}

/* ========== SCORE DROP ANIMATION ========== */
/* Score drops from above with bounce effect */
@keyframes bp-score-drop {
  0% {
    transform: translateY(-25px) scale(1.3);
    opacity: 0;
  }
  50% {
    transform: translateY(4px) scale(0.9);
    opacity: 1;
  }
  70% {
    transform: translateY(-2px) scale(1.05);
  }
  85% {
    transform: translateY(1px) scale(0.98);
  }
  100% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

/* Score drop animation class - used for all sports */
.bp-score-drop-flash {
  display: inline-block;
  animation: bp-score-drop 0.5s ease-out forwards;
}

/* ========== STICKY WRAPPER - Contains header + tabs as ONE unit ========== */
.bp-sticky-header {
  position: sticky;
  top: 36px;
  z-index: 999;
  /* Background matches page - hides cards scrolling behind rounded corners */
  background: var(--bg-body);
}

@media (min-width: 1024px) {
  .bp-sticky-header {
    top: 0;
    margin: 0;
    padding: 0;
  }
}

/* ========== HEADER - Inside sticky wrapper ========== */
.bp-header {
  display: flex;
  flex-direction: column;
  padding: 12px 16px;
  /* NOT sticky - wrapper handles that */
  background: var(--bg-elevated);
  border-bottom: none;
}

/* When tabs exist - smaller padding */
.bp-header.has-tabs {
  padding: 8px 16px;
  border-bottom: 1px solid var(--white-15);
}

/* When no tabs - add shadow and round all corners */
.bp-header:not(.has-tabs) {
  box-shadow: 0 4px 8px var(--black-30);
  border-radius: 8px;
}

/* Sport-specific gradients - on wrapper, applied to header */
.bp-sticky-header[data-sport="1"] .bp-header { background: linear-gradient(135deg, #1a3f1f, #28542c); }
.bp-sticky-header[data-sport="2"] .bp-header { background: linear-gradient(135deg, #513517, #634523); }
.bp-sticky-header[data-sport="3"] .bp-header { background: linear-gradient(135deg, #3e1f0d, #5a2d1a); }
.bp-sticky-header[data-sport="4"] .bp-header { background: linear-gradient(135deg, #3F4853, #56595C); }
.bp-sticky-header[data-sport="5"] .bp-header { background: linear-gradient(135deg, #1B222B, #222C37); }
.bp-sticky-header[data-sport="6"] .bp-header { background: linear-gradient(135deg, #0E2A5A, #1E4A82); }
.bp-sticky-header[data-sport="7"] .bp-header { background: linear-gradient(135deg, #512A0D, #81512D); }
.bp-sticky-header[data-sport="8"] .bp-header { background: linear-gradient(135deg, rgb(20, 33, 61), rgb(31, 54, 92)); }
.bp-sticky-header[data-sport="9"] .bp-header { background: linear-gradient(135deg, #4A0E14, #7A1E24); }
.bp-sticky-header[data-sport="10"] .bp-header { background: linear-gradient(135deg, rgb(50, 121, 255), rgb(14, 37, 78)); }
.bp-sticky-header[data-sport="11"] .bp-header { background: linear-gradient(135deg, #7F2F00, #B84E14); }

.bp-header * {
  transition: font-size 0.2s ease, color 0.2s ease, margin 0.2s ease;
}

.bp-header--compact {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-bottom: none;
  gap: 12px;
  padding: 6px 14px;
}

.bp-header--compact img {
  width: 16px !important;
  height: 12px !important;
  display: none;
}

.bp-header--compact .bp-league-info {
  flex-direction: row;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.bp-header--compact .bp-sport-name {
  font-size: 14px;
}

.bp-header--compact .bp-league-name {
  font-size: 14px;
}

.bp-fixture-time {
  text-align: start;
  display: flex;
  align-items: center;
  gap: 6px;
}

.bp-fixture-star {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.15s ease;
  margin-right: 7px;
}

.bp-fixture-star:hover {
  transform: scale(1.15);
}

/* Wrapper для прижатия футера к низу */
.bp-wrapper {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 37px); /* Мобилка: header 37px */
}

@media (min-width: 1024px) {
  .bp-wrapper {
    min-height: calc(100vh - 47px); /* Десктоп: header 47px */
  }
}

.bp-page {
  color: var(--text-secondary);
  font-family: 'Proxima Nova', sans-serif;
  flex-grow: 1; /* Занимает всё свободное пространство, прижимает футер к низу */
}

.bp-bets-header {
  padding-bottom: 12px;
}

.bp-bets-header h2 {
  font-size: 22px;
  margin: 0;
}

.bp-fixture .value {
  font-family: 'Proxima Nova', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
}

/* ========== FIXTURE CARD - subtle gradient dark to light ========== */
.bp-fixture {
  background: var(--gradient-fixture);
  border-radius: 8px;
  margin: 0 0 10px 0;
  overflow: hidden;
}

/* Container for rows with soft separators */
.bp-fixture-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--black-20);
}


/* ========== ODDS HEADER - Sport colors FROM MOREBETSPAGE ========== */
.bp-odds-header {
  display: grid;
  grid-gap: 0;
  gap: 0;
  align-items: center;
  color: var(--white-70);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 9px;
  line-height: 1;
  text-align: center;
  padding: 8px 0 8px 12px;
  /* Default */
  background: var(--gradient-odds-header);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  /* Muted bottom line */
  border-bottom: 1px solid var(--white-10);
}

/* Sport-specific FROM MOREBETSPAGE - HORIZONTAL with matching muted lines */
.bp-fixture[data-sport="1"] .bp-odds-header {
  background: linear-gradient(135deg, #1a3f1f, #28542c); /* Soccer */
  border-bottom: 1px solid rgba(40, 84, 44, 0.6);
}
.bp-fixture[data-sport="2"] .bp-odds-header {
  background: linear-gradient(135deg, #513517, #634523); /* Tennis */
  border-bottom: 1px solid rgba(99, 69, 35, 0.6);
}
.bp-fixture[data-sport="3"] .bp-odds-header {
  background: linear-gradient(135deg, #3e1f0d, #5a2d1a); /* Basketball */
  border-bottom: 1px solid rgba(90, 45, 26, 0.6);
}
.bp-fixture[data-sport="4"] .bp-odds-header {
  background: linear-gradient(135deg, #3F4853, #56595C); /* Ice Hockey */
  border-bottom: 1px solid rgba(86, 89, 92, 0.6);
}
.bp-fixture[data-sport="5"] .bp-odds-header {
  background: linear-gradient(135deg, #1B222B, #222C37); /* MMA */
  border-bottom: 1px solid rgba(34, 44, 55, 0.6);
}
.bp-fixture[data-sport="6"] .bp-odds-header {
  background: linear-gradient(135deg, #0E2A5A, #1E4A82); /* Handball */
  border-bottom: 1px solid rgba(30, 74, 130, 0.6);
}
.bp-fixture[data-sport="7"] .bp-odds-header {
  background: linear-gradient(135deg, #512A0D, #81512D); /* American Football */
  border-bottom: 1px solid rgba(129, 81, 45, 0.6);
}
.bp-fixture[data-sport="8"] .bp-odds-header {
  background: linear-gradient(135deg, #14213d, #1f365c); /* Baseball */
  border-bottom: 1px solid rgba(31, 54, 92, 0.6);
}
.bp-fixture[data-sport="9"] .bp-odds-header {
  background: linear-gradient(135deg, #4A0E14, #7A1E24); /* Cricket */
  border-bottom: 1px solid rgba(122, 30, 36, 0.6);
}
.bp-fixture[data-sport="10"] .bp-odds-header {
  background: linear-gradient(135deg, rgb(50, 121, 255), rgb(14, 37, 78)); /* E-Sports */
  border-bottom: 1px solid rgba(50, 121, 255, 0.4);
}
.bp-fixture[data-sport="11"] .bp-odds-header {
  background: linear-gradient(135deg, #7F2F00, #B84E14); /* Volleyball */
  border-bottom: 1px solid rgba(184, 78, 20, 0.6);
}

/* Grid: 3fr for teams, 1fr for each coeff, NO right padding */
.bp-odds-header.layout-3 {
  grid-template-columns: 3fr 1fr 1fr 1fr;
}

.bp-odds-header.layout-2 {
  grid-template-columns: 3fr 1fr 1fr;
}

.bp-odds-header.layout-1 {
  grid-template-columns: 1fr 1fr;
}

/* ========== ODDS ROWS - subtle gradient ========== */
.bp-odds-row {
  display: grid;
  grid-gap: 0;
  gap: 0;
  min-height: 40px;
  align-items: center;
  padding: 0 0 0 10px;
  background: var(--gradient-fixture);
}

/* Grid: 3fr for teams, 1fr for each coeff */
.bp-odds-row.layout-3 {
  grid-template-columns: 3fr 1fr 1fr 1fr;
}

.bp-odds-row.layout-2 {
  grid-template-columns: 3fr 1fr 1fr;
}

.bp-odds-row.layout-1 {
  grid-template-columns: 1fr 1fr;
}

/* ========== TEAM NAME (like outright-line-name) ========== */
.bp-team-name {
  flex-grow: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  display: inline-block;
  color: var(--text-primary);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 13px;
  font-weight: 600;
}

/* Team cell wrapper */
.bp-team {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
}

/* Text overflow ellipsis for long team names */
.bp-team-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* ========== FIXTURE FOOTER - subtle gradient ========== */
.bp-fixture-footer {
  color: var(--text-secondary);
  display: flex;
  font-family: 'Proxima Nova', sans-serif;
  font-size: 11px;
  justify-content: space-between;
  align-items: center;
  padding: 6px 14px;
  background: var(--gradient-fixture);
}

.bp-more-bets {
  font-family: Proxima Nova Cond,sans-serif;
  background-color: var(--accent-blue)2e;
  border: 0 solid var(--accent-blue)26;
  border-radius: 2px;
  color: var(--link-blue);
  font-weight: 500;
  padding: 1px 7px;
  width: fit-content;
  cursor: pointer;
}

.bp-more-bets:hover {
  color: var(--link-blue-hover);
}

.bp-skeleton-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bp-skeleton .bp-shimmer {
  background: linear-gradient(90deg, var(--shimmer-base) 25%, var(--shimmer-highlight) 50%, var(--shimmer-base) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.2s infinite linear;
  border-radius: 6px;
}

.bp-shimmer-header {
  height: 16px;
}

.bp-shimmer-team {
  height: 18px;
  width: 100%;
}

.bp-shimmer-button {
  height: 32px;
}

.bp-shimmer-time {
  height: 14px;
  width: 100px;
}

.bp-shimmer-more {
  height: 14px;
  width: 60px;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}


.sport-header {
  min-width: 0;
}

.bp-sport-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary);
}

.bp-league-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.bp-sport-name {
  font-weight: 900;
  color: var(--text-primary);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  font-style: italic;
}

.bp-league-name {
  font-size: 12px!important;
  font-weight: 600;
  font-family: 'Proxima Nova', sans-serif;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  flex-shrink: 1;
  display: flex;
  align-items: center;
}

/* BetsPage header flag - own class, no LivePage dependency */
.bp-country-flag {
  width: 16px;
  height: 12px;
  margin-right: 8px;
  border-radius: 2px;
  object-fit: contain;
  vertical-align: middle;
}

.odds-title {
  color: var(--text-secondary);
  font-family: Proxima Nova,sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}



.bp-no-odds-grid-inner {
  display: contents; /* Используется для сохранения структуры grid, но без обёртки */
}

.bp-no-odds-teams {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}

.bp-no-odds-teams .bp-team-name {
  text-align: left;
  font-weight: 500;
  color: var(--text-primary);
  font-size: 13px;
}

.bp-no-odds-button {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bp-no-odds-button .bp-bet-button {
  width: 100%;
  height: 64px;
  font-size: 16px;
  font-weight: 600;
  background-color: transparent;
  border: 2px solid var(--accent-blue);
  border-radius: 8px;
  color: var(--text-primary);
}


.bp-no-odds-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 8px;
}

.bp-fixture-footer-line {
  flex-grow: 1;
  height: 1px;
  background-color: var(--separator-light);
  margin-right: 12px;
}

.bp-footer-line-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: 6px;
}

.bp-fixture-footer-line {
  flex-grow: 1;
  height: 1px;
  background-color: var(--separator-light);
  margin-right: 12px;
}
.bp-no-odds-grid {
  grid-gap: 8px;
  align-items: center;
  display: grid;
  gap: 8px;
  margin: 15px 0;
  grid-template-columns: 2fr 1fr;
}

.bp-no-odds-grid .bp-team-names {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 25px;
}

.bp-no-odds-grid .bp-big-button {
  background-color: var(--bg-tertiary);
  border: 1px solid var(--bg-quaternary);
  border-radius: 4px;
  color: var(--text-primary);
  cursor: pointer;
  font-size: 1rem;
  height: 100%;
  text-align: center;
}

.bp-no-odds-grid .bp-big-button:hover {
  background-color: var(--separator-light);
}

/* ========== ODDS BUTTONS - Bottom line when active ========== */
.bp-bet-button {
  align-items: center;
  font-family: 'Proxima Nova', sans-serif;
  background: transparent;
  border: none;
  border-radius: 0;
  color: var(--text-secondary);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font-size: 13px;
  font-weight: 600;
  height: 40px;
  line-height: 13px;
  justify-content: center;
  min-height: 40px;
  padding: 0;
  text-align: center;
  box-sizing: border-box;
  transition: all 0.15s ease;
  position: relative;
}

/* Hover - desktop only */
@media (min-width: 1024px) {
  .bp-bet-button:hover {
    background: var(--hover-bg);
  }
  .bp-bet-button.active:hover {
    background: var(--active-bg);
  }
}

/* Active state - same as LivePage/MoreBetsPage */
.bp-bet-button.active {
  background: var(--active-bg);
}

.bp-bet-button.active .hdp,
.bp-bet-button.active .value {
  color: var(--text-secondary);
}

.bp-bet-button .value {
  color: var(--white-95);
  font-weight: 700;
}

/* Handicap - light blue */
.hdp {
  font-family: 'Proxima Nova', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: var(--score-color);
}



.bp-fixture .value {
  font-family: 'Proxima Nova', sans-serif;
  font-size: 13px;
  font-weight: 600;
}

.bp-bet-button {
  position: relative;
  overflow: hidden;
  z-index: 900;
}

.bp-ripple {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(50% + 6px);   /* на 3px в каждую сторону */
  height: calc(50% + 6px);  /* по вертикали тоже чуть больше */
  background: var(--white-20);
  opacity: 0.9;
  border-radius: 4px;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
  animation: ripple 300ms ease-out;
  z-index: 1000;
}

@keyframes ripple {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 0.4;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.3);
    opacity: 0;
  }
}

.currently-suspended {
  display: flex;
  align-items: end;
  font-weight: 500;
  color: var(--text-tertiary);
  font-size: 14px; /* подгони под стиль */
  margin-top: 4px; /* если надо чуть отступить от кнопок */
}

.lock-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
}

.lock-icon svg {
  width: 16px;
  height: 16px;
  fill: var(--text-tertiary); /* цвет замка */
}

.lock-text {
  display: flex;
  align-items: center;
}

/* ============================================
   FLASH АНИМАЦИИ - Подсветка коэффициента
   ============================================ */

/* Анимация роста (зеленый) - на внутреннем .value элементе */
.bp-bet-button .value.flash-up,
.bp-bet-button.active .value.flash-up {
  animation: glowGreen 1.5s ease-out forwards;
}

/* Анимация падения (красный) - на внутреннем .value элементе */
.bp-bet-button .value.flash-down,
.bp-bet-button.active .value.flash-down {
  animation: glowRed 1.5s ease-out forwards;
}

/* Подсветка зеленым (рост) */
@keyframes glowGreen {
  0%, 50% {
    color: var(--accent-green);
    font-weight: 700;
  }
  100% {
    color: var(--white-95);
    font-weight: 700;
  }
}

/* Подсветка красным (падение) */
@keyframes glowRed {
  0%, 50% {
    color: #ef4444;
    font-weight: 700;
  }
  100% {
    color: var(--white-95);
    font-weight: 700;
  }
}


.bp-team-icon-and-name {
  display: flex;
  flex: 1 1;
  align-items: center;
  position: relative;
  gap: 10px;
  min-width: 0;
  overflow: hidden;
}

/* Gradient moved to .bp-team-name for better control with scores */

.bp-icon-reversed-home::after {
  bottom: -19px;
  color: #f09b51;
  font-family: sans-serif;
  content: "@";
  font-size: 12px;
  font-weight: bold;
  left: 3px;
  pointer-events: none;
  position: absolute;
}

.bp-team-icon {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 1px;
}

.bp-team-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  background-size: contain;
  display: block;
}

.bp-placeholder-team {
  align-items: center;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  grid-gap: 5px;
  justify-content: space-between;
  min-width: 160px;
}

.bp-placeholder-main {
  font-weight: bold;
  color: var(--text-secondary);
}

.bp-placeholder-sub {
  background-color: var(--accent-blue)21;
  border: 1px solid var(--accent-blue)7d;
  border-radius: 10px;
  color: var(--accent-blue);
  font-size: 10px;
  font-weight: 700;
  padding: 0 7px;
  width: fit-content;
}


.bp-date-header {
  color: var(--link-blue);
  font-size: 12px;
  font-weight: 600;
  margin: 5px 0 5px 2px;
  width: fit-content;
  font-family: 'Proxima Nova Cond', sans-serif;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 2px;
}
/* Удалено: старый код который блокировал изменение цвета */


.bp-fixture-tag {
  background-color: var(--tag-blue-bg);
  border: 1px solid var(--accent-blue)7d;
  border-radius: 2px;
  color: var(--text-primary);
  font-size: 11px;
  margin-left: 6px;
  padding: 0 4px;
  text-transform: uppercase;
}

.bp-fixture-tag--gameorder {
  background-color: #8a1e1e;
  border: 1px solid #a82b2bba;
  border-radius: 2px;
  color: var(--text-primary);
  font-size: 11px;
  margin-left: 6px;
  padding: 0 4px;
  text-transform: uppercase;
}

.bp-fixture-clock {
  color: var(--text-primary);
  font-size: 11px;
  font-weight: 600;
  margin-left: -3px;
}

@media (min-width: 1024px) {
  /* Desktop: rounded corners on header */
  .bp-header {
    border-radius: 8px 8px 0 0;
  }

  /* Desktop: rounded bottom corners on tabs */
  .bp-tabs {
    border-radius: 0 0 8px 8px;
  }

  .bp-header--compact {
    border-radius: 0 0 8px 8px;
  }

}


/* --- live score & red cards near team name --- */

/* Резервируем место справа для счёта - отодвигаем от коэффициента */
.bp-team-name[data-score] {
  position: relative;
  /* место под счёт - увеличили для отступа от коэффа */
  padding-right: 3em;
}

/* No gradient fade needed - using ellipsis */

/* Ensure score appears above the gradient cover */
.bp-team-name[data-score]::after {
  z-index: 1;
}
/* если вместе со счётом есть красная карточка — добавляем ещё место слева от счёта */
.bp-team-name[data-score][data-red] {
  padding-right: 4.4em; /* счёт (3em) + карточка (~1.2em) + зазор */
}

/* СЧЁТ — отступ от края для зазора с коэффом */
.bp-team-name[data-score]::after {
  content: attr(data-score);
  position: absolute;
  right: 0.8em; /* отступ от края - даёт зазор с коэффом */
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
}

/* КРАСНАЯ КАРТОЧКА — слева от счёта */
.bp-team-name[data-red]::before {
  content: attr(data-red);
  position: absolute;
  right: 3em; /* слева от зоны счёта - увеличили */
  top: 50%;
  transform: translateY(-50%);
  width: 1.05em;
  height: 1.25em;
  border-radius: 2px;
  background: #c62828;     /* «картон» */
  box-shadow: 0 0 0 1px #8e1b1b; /* тонкая обводка */
  color: var(--text-primary);                        /* цифра внутри карточки */
  font-size: 0.75em;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Live badge styles */
.live-logo {
  background-color: var(--accent-red);
  border-radius: 2px;
  color: var(--text-primary);
  font-size: 10px;
  font-weight: bold;
  margin-right: 4px;
  padding: 1px 3px;
  line-height: 1;
  text-transform: capitalize;
  font-family: 'Proxima Nova', sans-serif;
  display: flex;
  align-items: center;
}

.finished-logo {
  background-color: var(--color-ended);
  border-radius: 2px;
  color: var(--text-primary);
  font-size: 10px;
  font-weight: bold;
  margin-right: 4px;
  padding: 0 3px;
  text-transform: capitalize;
  font-family: 'Proxima Nova', sans-serif;
}


/* ========== TABS - Inside sticky wrapper, NOT sticky itself ========== */
.bp-tabs {
  display: flex;
  gap: 0;
  padding: 0;
  margin: 0;
  /* Default gradient */
  background: linear-gradient(135deg, #1a3f1f, #28542c);
  /* No border-radius on mobile */
  border-radius: 0;
  /* Shadow for separation */
  box-shadow: 0 4px 8px var(--black-30);
  /* Clip active line to respect border-radius */
  overflow: hidden;
}

/* Sport-specific tab backgrounds - use wrapper's data-sport */
.bp-sticky-header[data-sport="1"] .bp-tabs { background: linear-gradient(135deg, #1a3f1f, #28542c); }
.bp-sticky-header[data-sport="2"] .bp-tabs { background: linear-gradient(135deg, #513517, #634523); }
.bp-sticky-header[data-sport="3"] .bp-tabs { background: linear-gradient(135deg, #3e1f0d, #5a2d1a); }
.bp-sticky-header[data-sport="4"] .bp-tabs { background: linear-gradient(135deg, #3F4853, #56595C); }
.bp-sticky-header[data-sport="5"] .bp-tabs { background: linear-gradient(135deg, #1B222B, #222C37); }
.bp-sticky-header[data-sport="6"] .bp-tabs { background: linear-gradient(135deg, #0E2A5A, #1E4A82); }
.bp-sticky-header[data-sport="7"] .bp-tabs { background: linear-gradient(135deg, #512A0D, #81512D); }
.bp-sticky-header[data-sport="8"] .bp-tabs { background: linear-gradient(135deg, rgb(20, 33, 61), rgb(31, 54, 92)); }
.bp-sticky-header[data-sport="9"] .bp-tabs { background: linear-gradient(135deg, #4A0E14, #7A1E24); }
.bp-sticky-header[data-sport="10"] .bp-tabs { background: linear-gradient(135deg, rgb(50, 121, 255), rgb(14, 37, 78)); }
.bp-sticky-header[data-sport="11"] .bp-tabs { background: linear-gradient(135deg, #7F2F00, #B84E14); }

.bp-tab {
  flex: 1 1;
  padding: 6px 16px;
  border: none;
  background: transparent;
  color: var(--white-60);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

.bp-tab:hover {
  color: var(--text-primary);
}

.bp-tab.active {
  color: var(--text-primary);
  background: transparent;
}

/* Sport-colored bottom line when active */
.bp-tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #28542c; /* default soccer green */
}

/* Sport-specific active underlines - FROM MOREBETSPAGE */
/* Active tab indicators - use wrapper's data-sport */
.bp-sticky-header[data-sport="1"] .bp-tab.active::after { background: #4a7a4f; }
.bp-sticky-header[data-sport="2"] .bp-tab.active::after { background: #8a6a40; }
.bp-sticky-header[data-sport="3"] .bp-tab.active::after { background: #8a4a30; }
.bp-sticky-header[data-sport="4"] .bp-tab.active::after { background: #7a7d80; }
.bp-sticky-header[data-sport="5"] .bp-tab.active::after { background: #4a5a6a; }
.bp-sticky-header[data-sport="6"] .bp-tab.active::after { background: #3a6aaa; }
.bp-sticky-header[data-sport="7"] .bp-tab.active::after { background: #aa7a4a; }
.bp-sticky-header[data-sport="8"] .bp-tab.active::after { background: #3a5a8a; }
.bp-sticky-header[data-sport="9"] .bp-tab.active::after { background: #aa3a40; }
.bp-sticky-header[data-sport="10"] .bp-tab.active::after { background: rgb(80, 150, 255); }
.bp-sticky-header[data-sport="11"] .bp-tab.active::after { background: #e07020; }

/* ========== OUTRIGHT CONTAINER ========== */
.bp-outright-container {
  padding: 10px 0;
  /* Space from sticky header/tabs */
  margin-top: 20px;
}

.bp-outright-loading,
.bp-outright-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-secondary);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 14px;
}

/* ========== OUTRIGHT MARKET CARD - Same style as fixture cards ========== */
.bp-outright-market {
  background: var(--gradient-fixture);
  border-radius: 8px;
  margin-bottom: 10px;
  overflow: hidden;
}

/* Outright header - Sport colors like fixture cards */
.bp-outright-market-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  /* Default gradient */
  background: linear-gradient(135deg, #1a3f1f, #28542c);
  border-bottom: 1px solid var(--white-10);
  cursor: pointer;
}

/* Sport-specific outright header colors - same as fixtures */
.bp-outright-market[data-sport="1"] .bp-outright-market-header {
  background: linear-gradient(135deg, #1a3f1f, #28542c); /* Soccer */
  border-bottom: 1px solid rgba(40, 84, 44, 0.6);
}
.bp-outright-market[data-sport="2"] .bp-outright-market-header {
  background: linear-gradient(135deg, #513517, #634523); /* Tennis */
  border-bottom: 1px solid rgba(99, 69, 35, 0.6);
}
.bp-outright-market[data-sport="3"] .bp-outright-market-header {
  background: linear-gradient(135deg, #3e1f0d, #5a2d1a); /* Basketball */
  border-bottom: 1px solid rgba(90, 45, 26, 0.6);
}
.bp-outright-market[data-sport="4"] .bp-outright-market-header {
  background: linear-gradient(135deg, #3F4853, #56595C); /* Ice Hockey */
  border-bottom: 1px solid rgba(86, 89, 92, 0.6);
}
.bp-outright-market[data-sport="5"] .bp-outright-market-header {
  background: linear-gradient(135deg, #1B222B, #222C37); /* MMA */
  border-bottom: 1px solid rgba(34, 44, 55, 0.6);
}
.bp-outright-market[data-sport="6"] .bp-outright-market-header {
  background: linear-gradient(135deg, #0E2A5A, #1E4A82); /* Handball */
  border-bottom: 1px solid rgba(30, 74, 130, 0.6);
}
.bp-outright-market[data-sport="7"] .bp-outright-market-header {
  background: linear-gradient(135deg, #512A0D, #81512D); /* American Football */
  border-bottom: 1px solid rgba(129, 81, 45, 0.6);
}
.bp-outright-market[data-sport="8"] .bp-outright-market-header {
  background: linear-gradient(135deg, rgb(20, 33, 61), rgb(31, 54, 92)); /* Baseball */
  border-bottom: 1px solid rgba(31, 54, 92, 0.6);
}
.bp-outright-market[data-sport="9"] .bp-outright-market-header {
  background: linear-gradient(135deg, #4A0E14, #7A1E24); /* Cricket */
  border-bottom: 1px solid rgba(122, 30, 36, 0.6);
}
.bp-outright-market[data-sport="10"] .bp-outright-market-header {
  background: linear-gradient(135deg, rgb(50, 121, 255), rgb(14, 37, 78)); /* E-Sports */
  border-bottom: 1px solid rgba(50, 121, 255, 0.4);
}
.bp-outright-market[data-sport="11"] .bp-outright-market-header {
  background: linear-gradient(135deg, #7F2F00, #B84E14); /* Volleyball */
  border-bottom: 1px solid rgba(184, 78, 20, 0.6);
}

.bp-outright-market-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.bp-outright-market-name {
  color: var(--text-primary);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 13px;
  font-weight: 600;
}

.bp-outright-market-time {
  color: var(--white-60);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 11px;
}

.bp-outright-market-category {
  color: var(--white-70);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ========== OUTRIGHT LINES (OPTIONS) ========== */
.bp-outright-lines {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--black-20);
}

.bp-outright-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: var(--gradient-fixture);
  border: none;
  cursor: pointer;
  transition: background 0.15s ease;
}

/* Hover - desktop only */
@media (min-width: 1024px) {
  .bp-outright-line:hover {
    background: var(--hover-bg);
  }
  .bp-outright-line.active:hover {
    background: var(--active-bg);
  }
}

/* Active - same as other pages */
.bp-outright-line.active {
  background: var(--active-bg);
}

.bp-outright-line-name {
  color: var(--text-primary);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 13px;
  text-align: left;
  flex: 1 1;
}

.bp-outright-line-odds {
  color: var(--white-95);
  font-family: 'Proxima Nova', sans-serif;
  font-size: 14px;
  font-weight: 700;
  min-width: 50px;
  text-align: right;
}

.bp-outright-line.active .bp-outright-line-name,
.bp-outright-line.active .bp-outright-line-odds {
  color: var(--text-secondary);
}


/* ========== MOBILE - Full width, no border-radius ========== */
@media (max-width: 768px) {
  .bp-bets-page {
    padding: 0;
  }

  .bp-page {
    padding: 0;
  }

  .bp-fixture {
    border-radius: 0;
    margin: 0 0 10px 0;
  }
  .bp-header:not(.has-tabs) {
    box-shadow: 0 4px 8px var(--black-30);
    border-radius: 0;
  }

  .bp-header {
    border-radius: 0;
  }

  .bp-header.has-tabs {
    border-radius: 0;
  }

  .bp-tabs {
    border-radius: 0;
  }

  .bp-outright-market {
    border-radius: 0;
    margin: 0 0 10px 0;
  }

  .bp-outright-container {
    padding: 0;
  }
}

/* Desktop tabs - rounded bottom corners (must be after base styles) */
@media (min-width: 1024px) {
  .bp-tabs {
    border-radius: 0 0 8px 8px;
  }
}

