#bizzo-site .tournament-rail { align-self:start; min-width:0; margin:0 16px 24px 0; padding:14px 10px 10px; border:1px solid #70537b; border-radius:12px; background:#291432; }
.rally-heading { display:flex; align-items:center; gap:8px; padding:0 4px 14px; color:#f6d447; font-size:16px; font-weight:700; }
.rally-cards { display:grid; gap:12px; }
#bizzo-site .rally-card { display:block; text-decoration:none; color:inherit; position:relative; isolation:isolate; overflow:hidden; min-height:236px; border:1px solid #b59cce50; border-radius:9px; background:#302140 center / cover no-repeat; }
#bizzo-site .rally-cyclone { background-image:url('../img/tournaments/cyclone-bg.webp'); }
#bizzo-site .rally-lightning { background-image:url('../img/tournaments/lightning-bg.webp'); }
#bizzo-site .rally-blitz { background-image:url('../img/tournaments/blitz-bg.webp'); }
.rally-card::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#20112b10,#20112b99 42%,#20112bc9),linear-gradient(0deg,#20112b,transparent 70%); }
#bizzo-site .rally-art { position:absolute; z-index:-2; left:-70px; bottom:0; width:255px; max-width:none; height:100%; object-fit:contain; object-position:left bottom; }
.rally-copy { position:relative; padding:20px 12px 16px; text-align:center; }
#bizzo-site .rally-copy h3 { margin:0 0 10px; padding:0; border:0; background:none; box-shadow:none; color:#fff !important; font-size:20px; line-height:1.15; font-weight:800; }
.rally-label { display:block; color:#efdfbe; font-size:10px; letter-spacing:.08em; }
.rally-prize { display:block; margin:3px 0; color:#ffe052; font-size:36px; line-height:1.05; font-weight:900; text-shadow:0 2px 8px #271332; }
#bizzo-site .rally-spins { margin:0 0 12px; color:#fff; font-size:12px; }
.rally-timer { display:flex; justify-content:center; gap:4px; margin-bottom:13px; }
.rally-timer > span { display:flex; flex-direction:column; min-width:29px; padding:4px 3px; border:1px solid #cdb4da33; border-radius:4px; background:#21132de0; }
.rally-timer b { color:#fff; font-size:14px; font-variant-numeric:tabular-nums; line-height:1.15; }
.rally-timer small { color:#d1bbdc; font-size:7px; text-transform:uppercase; margin-top:3px; }
.rally-timer.rally-ended { color:#eee2f4; font-size:11px; padding:9px 0; }
#bizzo-site .rally-link { display:flex; justify-content:center; align-items:center; gap:12px; min-height:35px; padding:7px 12px; border:1px solid #b0ef65; border-radius:6px; background:linear-gradient(#baff61,#67be3e); color:#172511; font-weight:800; font-size:12px; text-decoration:none; box-shadow:0 2px 0 #347b27; }
#bizzo-site .rally-card:hover .rally-link { filter:brightness(1.1); }
#bizzo-site .rally-all { display:flex; justify-content:space-between; padding:15px 5px 4px; color:#f6d447; font-size:12px; text-decoration:none; }
.rally-card:focus-visible,.rally-all:focus-visible { outline:2px solid #ffe052; outline-offset:3px; }
@media(min-width:1200px) {
 #bizzo-site .page-layout:has(> .tournament-rail) { grid-template-columns:220px minmax(0,1fr) 258px !important; max-width:1700px; }
 #bizzo-site .tournament-rail { position:sticky; top:92px; max-height:calc(100dvh - 108px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#70537b transparent; }
}
@media(max-width:1199px) {
 #bizzo-site .tournament-rail { grid-column:2; margin:24px 20px 0 18px; }
 .rally-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }

}
@media(max-width:960px) { #bizzo-site .tournament-rail { margin:24px 10px 0; } }
@media(max-width:640px) { .rally-cards { grid-template-columns:1fr; } #bizzo-site .rally-art { left:-25px; width:240px; } }

.winners-panel { margin:0 2px 16px; padding-bottom:14px; border-bottom:1px solid #70537b; }
.winners-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
#bizzo-site .winners-heading h3 { margin:0; color:#d8c7e0 !important; font-size:14px; font-weight:700; }
#bizzo-site .winners-list { list-style:none; margin:0; padding:0; height:140px; overflow:hidden; }
#bizzo-site .winner-row { display:flex; align-items:center; gap:9px; height:70px; margin:0; padding:6px 0; box-sizing:border-box; }
#bizzo-site .winner-row[hidden] { display:none; }
.winner-row.winner-entering { animation:winner-appear .4s ease-out both; }
#bizzo-site .winner-image { width:48px; height:48px; object-fit:cover; flex:0 0 48px; border-radius:6px; border:1px solid #cdb4da40; }
#bizzo-site .winner-copy { margin:0; min-width:0; color:#eee3f4; font-size:11px; line-height:1.35; }
.winner-name { font-weight:600; }
.winner-amount { color:#ffe052; white-space:nowrap; }
.winner-game { display:block; color:#ffe052; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
@keyframes winner-appear { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .winner-row.winner-entering { animation:none; } }

#bizzo-site .winner-link { display:flex; align-items:center; gap:9px; width:100%; min-width:0; height:100%; color:inherit; text-decoration:none; border-radius:6px; }
#bizzo-site .winner-link:hover { background:#ffffff0a; }
.winner-link:focus-visible { outline:2px solid #ffe052; outline-offset:2px; }

/* Below the hero, compact cards wrap and fill each available row. */
.tournament-strip { display: contents; }
@media (max-width:1199px) {
 #bizzo-site .content-column > .tournament-rail {
   position: relative;
   grid-column: auto;
   width: auto;
   max-width: 100%;
   min-width: 0;
   margin: 12px 10px 16px;
   padding: 11px 10px 8px;
 }
 #bizzo-site .tournament-rail .rally-heading { padding: 0 2px 10px; font-size: 14px; }
 #bizzo-site .tournament-strip {
   display: flex;
   align-items: stretch;
   gap: 10px;
   flex-wrap: wrap;
   overflow: visible;
   padding: 2px 2px 8px;
   scroll-snap-type: none;
   scrollbar-width: thin;
   scrollbar-color: #917343 #291432;
   overscroll-behavior-x: contain;
 }
 #bizzo-site .tournament-strip .rally-cards { display: contents; }
 #bizzo-site .tournament-strip .winners-panel {
   flex: 0 0 190px;
   width: 190px;
   margin: 0;
   padding: 10px;
   border: 1px solid #70537b;
   border-radius: 9px;
   box-sizing: border-box;
   background: #392443;
   scroll-snap-align: start;
 }
 #bizzo-site .tournament-strip .winners-heading { margin-bottom: 5px; }
 #bizzo-site .tournament-strip .winners-heading h3 { font-size: 12px; }
 #bizzo-site .tournament-strip .winners-list { height: 132px; }
 #bizzo-site .tournament-strip .winner-row { height: 66px; }
 #bizzo-site .tournament-strip .winner-image { width: 38px; height: 38px; flex-basis: 38px; }
 #bizzo-site .tournament-strip .winner-copy { font-size: 10px; }
 #bizzo-site .tournament-strip .rally-card { flex: 1 0 174px; min-height: 182px; scroll-snap-align: start; }
 #bizzo-site .tournament-strip .rally-copy { padding: 10px 9px; }
 #bizzo-site .tournament-strip .rally-copy h3 { font-size: 16px; margin-bottom: 5px; }
 #bizzo-site .tournament-strip .rally-prize { font-size: 27px; }
 #bizzo-site .tournament-strip .rally-spins { font-size: 10px; margin-bottom: 7px; }
 #bizzo-site .tournament-strip .rally-label { font-size: 9px; }
 #bizzo-site .tournament-strip .rally-timer { margin-bottom: 8px; gap: 3px; }
 #bizzo-site .tournament-strip .rally-timer b { font-size: 12px; }
 #bizzo-site .tournament-strip .rally-timer > span { min-width: 24px; padding: 3px 2px; }
 #bizzo-site .tournament-strip .rally-link { min-height: 30px; padding: 5px 8px; font-size: 10px; }
 #bizzo-site .tournament-rail .rally-all { padding: 5px 2px 0; font-size: 11px; }
}

@media(max-width:1199px) {
 #bizzo-site #content .content-column > .tournament-rail { width:calc(100% - 20px); margin:0; align-self:center; box-sizing:border-box; }
 #bizzo-site #content .tournament-strip .winners-heading h3 { font-size:12px !important; line-height:1.3; }
 #bizzo-site #content .tournament-strip .rally-copy h3 { font-size:16px !important; line-height:1.15; }
}

@media(max-width:1199px) {
 #bizzo-site #content .content-column > .tournament-rail { padding:8px 8px 6px; margin:0; }
 #bizzo-site #content .tournament-rail .rally-heading { font-size:12px; padding-bottom:6px; }
 #bizzo-site #content .tournament-strip { gap:7px; padding-bottom:5px; }
 #bizzo-site #content .tournament-strip .winners-panel { flex:1 1 160px; width:auto; min-width:0; max-width:100%; padding:8px; }
 #bizzo-site #content .tournament-strip .winners-list { height:110px; }
 #bizzo-site #content .tournament-strip .winner-row { height:55px; padding:3px 0; }
 #bizzo-site #content .tournament-strip .winner-image { width:30px; height:30px; flex-basis:30px; }
 #bizzo-site #content .tournament-strip .winner-link { gap:6px; }
 #bizzo-site #content .tournament-strip .winner-copy { font-size:9px; }
 #bizzo-site #content .tournament-strip .winners-heading h3 { font-size:11px !important; }
 #bizzo-site #content .tournament-strip .rally-card { flex:1 1 160px; min-width:0; max-width:100%; min-height:156px; }
 #bizzo-site #content .tournament-strip .rally-copy { padding:8px 7px; }
 #bizzo-site #content .tournament-strip .rally-copy h3 { font-size:14px !important; margin-bottom:3px; }
 #bizzo-site #content .tournament-strip .rally-prize { font-size:24px; margin:2px 0; }
 #bizzo-site #content .tournament-strip .rally-label { font-size:8px; }
 #bizzo-site #content .tournament-strip .rally-spins { font-size:9px; margin-bottom:5px; }
 #bizzo-site #content .tournament-strip .rally-timer { margin-bottom:5px; gap:2px; }
 #bizzo-site #content .tournament-strip .rally-timer > span { min-width:21px; padding:2px; }
 #bizzo-site #content .tournament-strip .rally-timer b { font-size:11px; }
 #bizzo-site #content .tournament-strip .rally-timer small { font-size:6px; margin-top:2px; }
 #bizzo-site #content .tournament-strip .rally-link { min-height:26px; padding:4px 5px; font-size:9px; }
 #bizzo-site #content .tournament-rail .rally-all { font-size:10px; padding-top:3px; }
}

/* Keep tournament CTA compact even when its card fills the row. */
#bizzo-site #content .tournament-rail .rally-link {
  width: fit-content;
  min-width: min(128px, 100%);
  max-width: 100%;
  box-sizing: border-box;
  margin-inline: auto;
}

@media(max-width:1199px) {
 #bizzo-site #content .tournament-strip .winners-four .winners-list {
   grid-template-columns:repeat(2,minmax(0,1fr));
   grid-template-rows:repeat(2,55px);
   column-gap:10px;
 }
 #bizzo-site #content .tournament-strip .winners-four .winner-row { min-width:0; }
}

/* A brief light sweep, with a long quiet interval between passes. */
#bizzo-site .tournament-rail .rally-link {
 position:relative;
 isolation:isolate;
 overflow:hidden;
 box-shadow:inset 0 1px 0 #ffffff80,0 2px 0 #347b27,0 3px 10px #8de64c20;
}
#bizzo-site .tournament-rail .rally-link::before {
 content:'';
 position:absolute;
 inset:-50% auto -50% -65%;
 width:40%;
 pointer-events:none;
 background:linear-gradient(90deg,transparent,#ffffff70,transparent);
 transform:skewX(-22deg);
 opacity:0;
}
@media(prefers-reduced-motion:no-preference) {
 #bizzo-site .tournament-rail .rally-link { transition:box-shadow .25s ease,filter .25s ease,translate .25s ease; }
 #bizzo-site .tournament-rail .rally-link::before { animation:rally-button-shine 7.5s ease-in-out infinite; }
 #bizzo-site .rally-lightning .rally-link::before { animation-delay:1.3s; }
 #bizzo-site .rally-blitz .rally-link::before { animation-delay:2.6s; }
 #bizzo-site .rally-link > span { transition:translate .25s cubic-bezier(.2,.8,.2,1); }
 @keyframes rally-button-shine {
  0%,72% { left:-65%; opacity:0; }
  74% { opacity:1; }
  86% { left:135%; opacity:0; }
  100% { left:135%; opacity:0; }
 }
}
@media(hover:hover) and (pointer:fine) {
 #bizzo-site .tournament-rail .rally-card:hover .rally-link {
  filter:brightness(1.06);
  box-shadow:inset 0 1px 0 #ffffffa0,0 2px 0 #347b27,0 0 16px #a2f65755;
 }
}
#bizzo-site .tournament-rail .rally-card:focus-visible .rally-link {
 box-shadow:inset 0 1px 0 #ffffffa0,0 2px 0 #347b27,0 0 16px #a2f65755;
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 #bizzo-site .tournament-rail .rally-card:hover .rally-link { translate:0 -1px; }
 #bizzo-site .tournament-rail .rally-card:hover .rally-link > span { translate:2px -2px; }
 #bizzo-site .tournament-rail .rally-card:active .rally-link { translate:0 1px; }
}
@media(prefers-reduced-motion:reduce) {
 #bizzo-site .tournament-rail .rally-link::before { display:none; animation:none; }
}

/* Gentle idle glow, visible without hovering. */
@media(prefers-reduced-motion:no-preference) {
 #bizzo-site .tournament-rail .rally-link { animation:rally-idle-glow 3s ease-in-out infinite; }
 #bizzo-site .tournament-rail .rally-link::before { animation-duration:4s; animation-delay:-3s; }
 #bizzo-site .rally-lightning .rally-link { animation-delay:-1s; }
 #bizzo-site .rally-blitz .rally-link { animation-delay:-2s; }
 #bizzo-site .rally-lightning .rally-link::before { animation-delay:-1.7s; }
 #bizzo-site .rally-blitz .rally-link::before { animation-delay:-.4s; }
 @keyframes rally-idle-glow {
  0%,100% { box-shadow:inset 0 1px 0 #ffffff80,0 2px 0 #347b27,0 0 5px #a2f65725; }
  50% { box-shadow:inset 0 1px 0 #ffffffb0,0 2px 0 #347b27,0 0 15px #a2f65766; }
 }
}
@media(prefers-reduced-motion:reduce) {
 #bizzo-site .tournament-rail .rally-link { animation:none; }
}
