@keyframes shimmer {
  0%   { transform: translateX(-100%) rotate(12deg); }
  100% { transform: translateX(200%) rotate(12deg); }
}

.rewards-hero {
  text-align: center;
  padding: 2rem 0 0.5rem;
}
.rewards-hero .eyebrow { display: block; text-align: center; }
.rewards-hero h1 {
  font-size: clamp(2.6rem, 8vw, 5rem);
  margin: 0.3rem 0 0.9rem;
}
.rewards-hero .lede { margin: 0 auto; text-align: center; }

/* grid */
.rewards-grid {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: 1.4rem;
}

/* card shell */
.rc {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid transparent;
  backdrop-filter: blur(12px);
  background: linear-gradient(145deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 100%);
  cursor: pointer;
  transition: border-color 0.5s ease;
}
.rc.bandit { border-color: rgba(245,158,11,0.18); }
.rc.rustclash { border-color: rgba(168,85,247,0.18); }
.rc.splits  { border-color: rgba(82,215,182,0.18); }
.rc.acebet  { border-color: rgba(220,80,80,0.22); }

/* hover glow overlay */
.rc-glow {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  border-radius: 16px;
  transition: opacity 0.5s ease;
}
.rc:hover .rc-glow { opacity: 1; }
.rc.bandit .rc-glow {
  box-shadow:
    rgba(245,158,11,0.07) 0px 0px 80px inset,
    rgba(245,158,11,0.10) 0px 8px 50px,
    rgba(245,158,11,0.07) 0px 0px 0px 1px;
}
.rc.rustclash .rc-glow {
  box-shadow:
    rgba(168,85,247,0.07) 0px 0px 80px inset,
    rgba(168,85,247,0.10) 0px 8px 50px,
    rgba(168,85,247,0.07) 0px 0px 0px 1px;
}
.rc.splits .rc-glow {
  box-shadow:
    rgba(82,215,182,0.07) 0px 0px 80px inset,
    rgba(82,215,182,0.10) 0px 8px 50px,
    rgba(82,215,182,0.07) 0px 0px 0px 1px;
}
.rc.acebet .rc-glow {
  box-shadow:
    rgba(220,80,80,0.08) 0px 0px 80px inset,
    rgba(220,80,80,0.12) 0px 8px 50px,
    rgba(220,80,80,0.08) 0px 0px 0px 1px;
}

/* shimmer sweep */
.rc-shimmer {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  border-radius: 16px;
  overflow: hidden;
  transition: opacity 0.5s ease;
}
.rc:hover .rc-shimmer { opacity: 1; }
.rc-shimmer::after {
  content: '';
  position: absolute;
  inset: -100%;
  animation: shimmer 2s ease-in-out infinite;
}
.rc.bandit .rc-shimmer::after {
  background: linear-gradient(90deg, transparent 40%, rgba(245,158,11,0.04) 50%, transparent 60%);
}
.rc.rustclash .rc-shimmer::after {
  background: linear-gradient(90deg, transparent 40%, rgba(168,85,247,0.04) 50%, transparent 60%);
}
.rc.splits .rc-shimmer::after {
  background: linear-gradient(90deg, transparent 40%, rgba(82,215,182,0.04) 50%, transparent 60%);
}
.rc.acebet .rc-shimmer::after {
  background: linear-gradient(90deg, transparent 40%, rgba(220,80,80,0.05) 50%, transparent 60%);
}

/* logo banner */
.rc-banner {
  position: relative;
  height: 144px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.rc.bandit .rc-banner { background: linear-gradient(135deg, rgba(245,158,11,0.06), transparent); }
.rc.rustclash .rc-banner { background: linear-gradient(135deg, rgba(168,85,247,0.08), transparent); }
.rc.splits  .rc-banner { background: linear-gradient(135deg, rgba(82,215,182,0.06), transparent); }
.rc.acebet .rc-banner { background: linear-gradient(135deg, rgba(220,80,80,0.12), rgba(0,4,61,0.18)); }
.rc-banner-fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.3));
}
.rc-logo {
  position: relative;
  z-index: 1;
  height: 80px;
  max-width: 220px;
  object-fit: contain;
}

/* body */
.rc-body {
  padding: 1.25rem 1.3rem 1.3rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.rc-title {
  color: #fff;
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin: 0 0 0.35rem;
}

/* stars */
.rc-stars {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-bottom: 1rem;
}
.rc-stars svg { width: 14px; height: 14px; }
.rc-stars span { font-size: 0.75rem; color: rgba(255,255,255,0.45); margin-left: 4px; font-weight: 600; }

/* features */
.rc-features {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 1.3rem;
  flex: 1;
}
.rc-feat {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}
.rc-feat svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; }
.rc.bandit .rc-feat svg { color: rgb(245,158,11); }
.rc.rustclash .rc-feat svg { color: rgb(168,85,247); }
.rc.splits  .rc-feat svg { color: rgb(82,215,182); }
.rc.acebet .rc-feat svg { color: rgb(220,80,80); }
.rc-feat span { font-size: 0.87rem; color: rgba(255,255,255,0.55); line-height: 1.4; }

/* deposit bonuses table */
.rc-bonuses {
  border-radius: 12px;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.025);
}
.rc-bonuses-label {
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin-bottom: 0.55rem;
}
.rc-bonus-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.32rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.rc-bonus-row:last-child { border-bottom: none; }
.rc-bonus-name {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.83rem;
  color: rgba(255,255,255,0.55);
}
.rc-bonus-name svg { width: 13px; height: 13px; color: rgba(245,158,11,0.7); flex-shrink: 0; }
.rc-bonus-val {
  font-size: 0.83rem;
  font-weight: 800;
  color: rgb(245,158,11);
}
.rc.splits .rc-bonuses {
  border-color: rgba(82,215,182,0.1);
  background: rgba(82,215,182,0.03);
}
.rc.splits .rc-bonus-name svg { color: rgba(82,215,182,0.75); }
.rc.splits .rc-bonus-val { color: rgb(82,215,182); }

.rc.rustclash .rc-bonuses {
  border-color: rgba(168,85,247,0.1);
  background: rgba(168,85,247,0.03);
}
.rc.rustclash .rc-bonus-name svg { color: rgba(168,85,247,0.75); }
.rc.rustclash .rc-bonus-val { color: rgb(192,132,252); }
.rc.acebet .rc-bonuses {
  border-color: rgba(220,80,80,0.16);
  background: rgba(220,80,80,0.05);
}
.rc.acebet .rc-bonus-name svg { color: rgba(220,80,80,0.82); }
.rc.acebet .rc-bonus-val { color: rgb(255,124,124); }
.rc-bonus-scrap .rc-bonus-name svg { color: rgba(245,158,11,0.9); }
.rc-bonus-already {
  font-size: 0.76rem;
  color: rgba(255,255,255,0.3);
}
.rc-bonus-already strong {
  color: rgba(245,158,11,0.7);
  font-weight: 700;
}
.rc.splits .rc-bonus-already strong { color: rgba(82,215,182,0.78); }
.rc.rustclash .rc-bonus-already strong { color: rgba(168,85,247,0.78); }

/* highlight box */
.rc-box {
  border-radius: 12px;
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid;
}
.rc.bandit .rc-box { background: rgba(245,158,11,0.04); border-color: rgba(245,158,11,0.12); }
.rc.rustclash .rc-box { background: rgba(168,85,247,0.04); border-color: rgba(168,85,247,0.12); }
.rc.splits  .rc-box { background: rgba(82,215,182,0.04); border-color: rgba(82,215,182,0.12); }
.rc.acebet .rc-box { background: rgba(220,80,80,0.07); border-color: rgba(220,80,80,0.18); }

.rc-box-label {
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}
.rc.bandit .rc-box-label { color: rgb(245,158,11); }
.rc.rustclash .rc-box-label { color: rgb(192,132,252); }
.rc.splits  .rc-box-label { color: rgb(82,215,182); }
.rc.acebet .rc-box-label { color: rgb(255,128,128); }

.rc-box-title {
  color: #fff;
  font-weight: 700;
  font-size: 0.92rem;
}

.rc-box-code {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
}
.rc-box-code-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.35);
}
.rc-code {
  font-family: 'Courier New', monospace;
  font-weight: 900;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  padding: 0.15rem 0.5rem;
  border-radius: 6px;
}
.rc.bandit .rc-code { color: #f6c945; background: rgba(246,201,69,0.12); }
.rc.rustclash .rc-code { color: #c084fc; background: rgba(168,85,247,0.12); }
.rc.splits  .rc-code { color: #52d7b6; background: rgba(82,215,182,0.12); }
.rc.acebet .rc-code { color: #ff8b8b; background: rgba(220,80,80,0.16); }

/* CTA button */
.rc-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  padding: 0.78rem 1rem;
  border-radius: 12px;
  border: none;
  text-decoration: none;
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: filter 0.3s ease, transform 0.15s ease;
}
.rc-cta:hover  { filter: brightness(1.12); }
.rc-cta:active { transform: scale(0.98); }
.rc-cta svg { width: 14px; height: 14px; opacity: 0.7; flex-shrink: 0; transition: opacity 0.2s ease; }
.rc-cta:hover svg { opacity: 1; }
.rc.bandit .rc-cta {
  background: linear-gradient(135deg, rgb(245,158,11), rgba(245,158,11,0.8));
  color: rgb(10,10,5);
  box-shadow: rgba(245,158,11,0.22) 0px 6px 24px;
}
.rc.rustclash .rc-cta {
  background: linear-gradient(135deg, rgb(168,85,247), rgba(124,58,237,0.9));
  color: rgb(255,255,255);
  box-shadow: rgba(168,85,247,0.28) 0px 6px 24px;
}
.rc.splits .rc-cta {
  background: linear-gradient(135deg, rgb(82,215,182), rgba(52,185,155,0.85));
  color: rgb(0,20,15);
  box-shadow: rgba(82,215,182,0.22) 0px 6px 24px;
}
.rc.acebet .rc-cta {
  background: linear-gradient(135deg, rgb(192,0,0), rgb(0,4,61));
  color: rgb(255,245,245);
  box-shadow: rgba(192,0,0,0.25) 0px 6px 24px;
}

/* responsible gambling */
.rewards-legal {
  margin-top: 2.5rem;
  text-align: center;
  color: #5a6e7e;
  font-size: 0.79rem;
  letter-spacing: 0.04em;
}
.rewards-legal a { color: #7890a0; text-decoration: underline; }

@media (max-width: 720px) {
  .rewards-grid { grid-template-columns: 1fr; }
}
