/* =================== MODERN CASINO RANKING CARDS =================== */
.best-casinos-section {
  max-width: 1017px;
  margin-left: auto;
  margin-right: auto;
  background: transparent;
  padding: 60px 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.casino-rank-card {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
  border-radius: 20px;
  padding: 20px 10px 20px 80px;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

.casino-rank-card {
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
  border-radius: 20px;
  padding: 15px 10px 15px 80px; /* More padding on left for rank badge */
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

.casino-rank-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

/* Rank Badge */
.rank-badge {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  flex-shrink: 0;
  z-index: 10;
}

.rank-1-badge {
  background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
  color: #000;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.5);
}

.rank-2-badge {
  background: linear-gradient(135deg, #FF4444 0%, #CC0000 100%);
  color: #fff;
  box-shadow: 0 0 20px rgba(255, 68, 68, 0.5);
}

.rank-3-badge {
  background: linear-gradient(135deg, #C0C0C0 0%, #808080 100%);
  color: #000;
  box-shadow: 0 0 20px rgba(192, 192, 192, 0.5);
}

.rank-4-badge {
  background: linear-gradient(135deg, #333333 0%, #111111 100%);
  color: #fff;
  border: 2px solid #555;
}

/* Default badge for ranks > 4 */
.rank-default-badge {
  background: linear-gradient(135deg, #444 0%, #222 100%);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.15);
}

/* Casino Logo */
.casino-logo {
  margin-right: 30px;
  flex-shrink: 0;
}

.casino-logo img {
  width: 120px;
  height: auto;
  max-height: 60px;
  object-fit: contain;

/* Generic admin-defined banner badge (banner_badge) */
.casino-rank-card .casino-tag { pointer-events:none; }
}

/* Casino Name */
.casino-name {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  margin-right: 40px;
  min-width: 150px;
  flex-shrink: 0;
}

/* Bonus Info */
.bonus-info {
  display: flex;
  gap: 40px;
  flex: 1;
  justify-content: center;
}

.bonus-item {
  text-align: center;
 
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
  padding: 10px;
}

.bonus-item:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: none;
  outline: none;
}

.bonus-value {
  display: block;
  font-size: 20px;
  font-weight: bold;
  color: #FFD700;
  margin-bottom: 5px;
 
  transition: all 0.3s ease;
}

.bonus-item:hover .bonus-value {
  text-shadow: 0 0 15px rgba(255, 215, 0, 0.8);
  color: #fff;
}

.bonus-label {
  display: block;
  font-size: 12px;
  color: #ccc;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.bonus-item:hover .bonus-label {
  color: #fff;

}

/* Claim Button */
.claim-button {
  margin-left: 20px;
  flex-shrink: 0;
}

.btn-claim {
  background: linear-gradient(90deg, #FF6B35 0%, #F7931E 100%);
  color: #fff;
  border: none;
  border-radius: 25px;
  padding: 15px 20px;
  font-weight: bold;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 5px 15px rgba(255, 107, 53, 0.4);
}

.btn-claim::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M15.0102 3.39975L19.7695 7.60782C20.6566 8.39207 21.3816 9.03306 21.8774 9.61267C22.395 10.2176 22.75 10.8531 22.75 11.6327C22.75 12.4122 22.395 13.0477 21.8774 13.6527C21.3816 14.2323 20.6566 14.8733 19.7696 15.6575L15.0101 19.8656C14.6238 20.2073 14.2737 20.5169 13.974 20.7137C13.6785 20.9078 13.184 21.1599 12.6363 20.9153C12.0868 20.6698 11.9466 20.1315 11.8959 19.7815C11.8446 19.4273 11.8446 18.961 11.8447 18.4471L11.8447 16.4191C10.0727 16.5216 8.26985 16.9819 6.69743 17.744C4.89831 18.616 3.45132 19.8572 2.66328 21.3502C2.50236 21.6551 2.15431 21.811 1.81967 21.7281C1.48503 21.6452 1.25 21.3449 1.25 21.0001C1.25 15.4966 2.86837 11.9338 5.16167 9.75118C7.20044 7.81083 9.69493 7.03571 11.8447 6.89302V4.87269C11.8447 4.85449 11.8447 4.83634 11.8447 4.81825C11.8446 4.30437 11.8446 3.83799 11.8959 3.48381C11.9466 3.13387 12.0868 2.59554 12.6363 2.35008C13.184 2.10545 13.6785 2.35755 13.974 2.55163C14.2738 2.74848 14.6238 3.05806 15.0102 3.39975ZM13.3571 3.95726C13.5307 4.09508 13.7528 4.29022 14.0572 4.5594L18.7333 8.69388C19.6735 9.5251 20.3181 10.0974 20.7376 10.5878C21.1434 11.0621 21.25 11.3606 21.25 11.6327C21.25 11.9048 21.1434 12.2033 20.7376 12.6776C20.3181 13.168 19.6735 13.7402 18.7333 14.5715L14.0572 18.7059C13.7528 18.9751 13.5307 19.1703 13.3571 19.3081C13.3456 19.0884 13.3447 18.7952 13.3447 18.3926V15.6473C13.3447 15.2331 13.0089 14.8973 12.5947 14.8973C10.3638 14.8973 8.04463 15.4242 6.04321 16.3942C4.85692 16.9692 3.76443 17.709 2.86794 18.6031C3.26004 14.8062 4.58671 12.3691 6.19578 10.8377C8.13314 8.9939 10.5792 8.36804 12.5947 8.36804C13.0089 8.36804 13.3447 8.03226 13.3447 7.61804V4.87269C13.3447 4.47017 13.3456 4.17694 13.3571 3.95726Z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

.btn-claim:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, 0.5);
}

.btn-claim-red {
  background: linear-gradient(135deg, #FF4444 0%, #CC0000 100%);
  color: #fff;
  box-shadow: 0 5px 15px rgba(255, 68, 68, 0.3);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.btn-claim-red::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M15.0102 3.39975L19.7695 7.60782C20.6566 8.39207 21.3816 9.03306 21.8774 9.61267C22.395 10.2176 22.75 10.8531 22.75 11.6327C22.75 12.4122 22.395 13.0477 21.8774 13.6527C21.3816 14.2323 20.6566 14.8733 19.7696 15.6575L15.0101 19.8656C14.6238 20.2073 14.2737 20.5169 13.974 20.7137C13.6785 20.9078 13.184 21.1599 12.6363 20.9153C12.0868 20.6698 11.9466 20.1315 11.8959 19.7815C11.8446 19.4273 11.8446 18.961 11.8447 18.4471L11.8447 16.4191C10.0727 16.5216 8.26985 16.9819 6.69743 17.744C4.89831 18.616 3.45132 19.8572 2.66328 21.3502C2.50236 21.6551 2.15431 21.811 1.81967 21.7281C1.48503 21.6452 1.25 21.3449 1.25 21.0001C1.25 15.4966 2.86837 11.9338 5.16167 9.75118C7.20044 7.81083 9.69493 7.03571 11.8447 6.89302V4.87269C11.8447 4.85449 11.8447 4.83634 11.8447 4.81825C11.8446 4.30437 11.8446 3.83799 11.8959 3.48381C11.9466 3.13387 12.0868 2.59554 12.6363 2.35008C13.184 2.10545 13.6785 2.35755 13.974 2.55163C14.2738 2.74848 14.6238 3.05806 15.0102 3.39975ZM13.3571 3.95726C13.5307 4.09508 13.7528 4.29022 14.0572 4.5594L18.7333 8.69388C19.6735 9.5251 20.3181 10.0974 20.7376 10.5878C21.1434 11.0621 21.25 11.3606 21.25 11.6327C21.25 11.9048 21.1434 12.2033 20.7376 12.6776C20.3181 13.168 19.6735 13.7402 18.7333 14.5715L14.0572 18.7059C13.7528 18.9751 13.5307 19.1703 13.3571 19.3081C13.3456 19.0884 13.3447 18.7952 13.3447 18.3926V15.6473C13.3447 15.2331 13.0089 14.8973 12.5947 14.8973C10.3638 14.8973 8.04463 15.4242 6.04321 16.3942C4.85692 16.9692 3.76443 17.709 2.86794 18.6031C3.26004 14.8062 4.58671 12.3691 6.19578 10.8377C8.13314 8.9939 10.5792 8.36804 12.5947 8.36804C13.0089 8.36804 13.3447 8.03226 13.3447 7.61804V4.87269C13.3447 4.47017 13.3456 4.17694 13.3571 3.95726Z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

.btn-claim-red:hover {
  box-shadow: 0 8px 25px rgba(255, 68, 68, 0.5);
}

/* Casino Tags */
.casino-tag {
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 20px;
  border-radius: 0 0 15px 15px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 15;
  white-space: nowrap;
  min-width: 100px;
  text-align: center;
}

.giveaway-tag {
  background: linear-gradient(135deg, #FF4444 0%, #B71C1C 100%);
  color: #fff;
  box-shadow: 0 5px 15px rgba(255, 68, 68, 0.32);
}

.exclusive-tag {
  background: linear-gradient(135deg, #FFD700 0%, #F7931E 100%);
  color: #fff;
  box-shadow: 0 5px 15px rgba(255, 215, 0, 0.35);
}

.new-tag {
  background: linear-gradient(135deg, #e3e4e8 0%, #bfc1c6 100%);
  color: #222;
  box-shadow: 0 5px 15px rgba(192,192,192,0.32);
}

.red-tag {
  background: linear-gradient(135deg, #FF4444 0%, #B71C1C 100%);
  color: #fff;
  box-shadow: 0 5px 15px rgba(255, 68, 68, 0.32);
}

.silver-tag {
  background: linear-gradient(135deg, #e3e4e8 0%, #bfc1c6 100%);
  color: #222;
  box-shadow: 0 5px 15px rgba(192,192,192,0.32);
}

.gold-tag {
  background: linear-gradient(135deg, #FFD700 0%, #F7931E 100%);
  color: #fff;
  box-shadow: 0 5px 15px rgba(255, 215, 0, 0.35);
}

.gold-tag {
  background: linear-gradient(135deg, #FFD700 0%, #F7931E 100%);
  color: #fff;
  box-shadow: 0 5px 15px rgba(255, 215, 0, 0.35);
}

.silver-tag {
  background: linear-gradient(135deg, #e3e4e8 0%, #bfc1c6 100%);
  color: #222;
  box-shadow: 0 5px 15px rgba(192,192,192,0.32);
}

.red-tag {
  background: linear-gradient(135deg, #FF4444 0%, #B71C1C 100%);
  color: #fff;
  box-shadow: 0 5px 15px rgba(255, 68, 68, 0.32);
}

/* Rank-specific styling */
.rank-1 {
  /* Gold/Exclusive Table Row Styling from main site */
  border-color: rgba(255, 215, 0, 0.3);
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, rgba(255, 215, 0, 0.02) 100%);
}




.rank-2 {
  border-color: rgba(255, 68, 68, 0.3);
  background: linear-gradient(135deg, rgba(255, 68, 68, 0.1) 0%, rgba(255, 68, 68, 0.02) 100%);
}

.rank-3 {
  border-color: rgba(192, 192, 192, 0.3);
  background: linear-gradient(135deg, rgba(192, 192, 192, 0.1) 0%, rgba(192, 192, 192, 0.02) 100%);
}

.rank-4 {
  border-color: rgba(85, 85, 85, 0.5);
  background: linear-gradient(135deg, rgba(51, 51, 51, 0.2) 0%, rgba(17, 17, 17, 0.1) 100%);
}

/* Theme-specific styling (admin selectable) */
.theme-gold {
  border: 2px solid #F7931E  !important;
  background: linear-gradient(135deg, #353535 0%, #353535 100%) !important;
  box-shadow: 0 0 2px 2px rgba(228, 206, 86, 0.14) inset, 0 1.2px 40px 10px rgba(255, 215, 0, 0.22) inset;
  animation: goldPulseShadow 1.2s infinite alternate;
  position: relative;
}

@keyframes goldPulseShadow {
  from {
    box-shadow: 0 0 8px 2px rgba(255, 215, 0, 0.14) inset, 0 0 40px 10px rgba(255, 215, 0, 0.22) inset;
  }
  to {
    box-shadow: 0 0 16px 4px rgba(255, 215, 0, 0.28) inset, 0 0 60px 18px rgba(255, 215, 0, 0.32) inset;
  }
}
.theme-gold::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(255,255,200,0.18) 0%, rgba(255,255,255,0.04) 80%);
  z-index: 1;
}

.theme-red {
  border: 2px solid #FF4444 !important;
  background: linear-gradient(135deg, #353535 0%, #5a1a1a 100%) !important;
  box-shadow: 0 0 2px 2px rgba(255, 68, 68, 0.18), 0 0px 0px 0px #fff2f2 inset;
  position: relative;
}
.theme-red::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(255,68,68,0.18) 0%, rgba(255,255,255,0.04) 80%);
  z-index: 1;
}

.theme-default {
  border: 2px solid #fff !important;
  background: #2b2a2a !important;
  box-shadow: 0 0 2px 2px rgba(180, 180, 180, 0.10), 0 0px 0px 0px #ffffff inset;
  position: relative;
}
.theme-default .btn-claim {
  background: linear-gradient(135deg, #FF4444 0%, #CC0000 100%) !important;
  color: #fff;
}
 
.theme-silver {
  border: 2px solid silver !important;
  background: linear-gradient(135deg, #353535 0%, #353535 100%) !important;
  box-shadow: 0 0 2px 2px rgba(180, 180, 180, 0.18), 0 0px 0px 0px #ffffff inset;
  /* Optional: metallic shine effect */
  position: relative;
}
.theme-silver .btn-claim {
  background: linear-gradient(135deg, #e3e4e8 0%, #bfc1c6 100%) !important;
  color: #222;
}
.theme-silver .rank-badge {
  background: linear-gradient(135deg, #e3e4e8 0%, #bfc1c6 100%) !important;
  color: #222 !important;
  box-shadow: 0 0 20px rgba(192, 192, 192, 0.5);
}
.theme-gold .rank-badge {
  background: linear-gradient(135deg, #FFD700 0%, #F7931E 100%) !important;
  color: #222 !important;
  
}
.theme-red .rank-badge {
  background: linear-gradient(135deg, #FF4444 0%, #CC0000 100%) !important;
  color: #fff !important;
  box-shadow: 0 0 20px rgba(255, 68, 68, 0.5);
}
 
.theme-silver::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.04) 80%);
  z-index: 1;
}

.theme-dark {
  border-color: rgba(85, 85, 85, 0.5) !important;
  background: linear-gradient(135deg, rgba(51, 51, 51, 0.2) 0%, rgba(17, 17, 17, 0.1) 100%) !important;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .bonus-info {
    gap: 30px;
  }
  
  .casino-name {
    min-width: 120px;
    font-size: 20px;
  }
  
  .casino-logo img {
    width: 100px;
  }
}

@media (max-width: 992px) {
  .casino-rank-card {
    flex-wrap: wrap;
    padding: 20px 10px 20px 70px;
  }
  
  .rank-badge {
    left: 10px;
    width: 45px;
    height: 45px;
    font-size: 18px;
  }
  
  .casino-logo {
    margin-right: 20px;
  }
  
  .casino-logo img {
    width: 80px;
    max-height: 50px;
  }
  
  .casino-name {
    font-size: 18px;
    min-width: 100px;
    margin-right: 20px;
  }
  
  .bonus-info {
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin: 15px 0;
  }
  
  .bonus-item {
    min-width: 70px;
  }
  
  .bonus-value {
    font-size: 16px;
  }
  
  .claim-button {
    margin-left: 0;
    width: 100%;
    text-align: center;
  }
  
  .casino-tag {
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    padding: 6px 16px;
    border-radius: 0 0 12px 12px;
    min-width: 80px;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .casino-rank-card {
    flex-direction: column;
    text-align: center;
    padding: 25px 15px 20px 15px;
    border-radius: 15px;
  }
  
  .rank-badge {
    left: -8px;
    top: -8px;
    transform: none;
    width: 35px;
    height: 35px;
    font-size: 16px;
    font-weight: bold;
  }
  
  .casino-logo {
    margin: 0 0 15px 0;
  }
  
  .casino-logo img {
    width: 100px;
    max-height: 60px;
  }
  
  .casino-name {
    margin: 0 0 20px 0;
    font-size: 20px;
    min-width: auto;
  }
  
  .bonus-info {
    gap: 15px;
    margin: 20px 0;
    justify-content: space-around;
  }
  
  .bonus-item {
    min-width: 60px;
  }
  
  .bonus-value {
    font-size: 14px;
  }
  
  .bonus-label {
    font-size: 10px;
  }
  
  .btn-claim {
    padding: 12px 25px;
    font-size: 12px;
  }
  
  .casino-tag {
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    padding: 6px 15px;
    border-radius: 0 0 12px 12px;
    min-width: 70px;
    text-align: center;
  }
}

@media (max-width: 576px) {
  .best-casinos-section {
    padding: 40px 0;
  }
  
  .casino-rank-card {
    margin-bottom: 15px;
    padding: 25px 10px 15px 10px;
    border-radius: 12px;
  }
  
  .rank-badge {
    left: -6px;
    top: -6px;
    transform: none;
    width: 30px;
    height: 30px;
    font-size: 14px;
    font-weight: bold;
  }
  
  .casino-tag {
    top: 0px;
    left: 50%;
    transform: translateX(0%);
    transform: translateY(-95%);
    font-size: 9px;
    padding: 5px 12px;
    border-radius: 0 0 10px 10px;
    min-width: 60px;
    text-align: center;
  }
  
  .bonus-info {
    gap: 10px;
  }
  
  .bonus-item {
    min-width: 50px;
  }
  
  .bonus-value {
    font-size: 12px;
  }
  
  .bonus-label {
    font-size: 9px;
  }
  
  .btn-claim {
    padding: 10px 20px;
    font-size: 11px;
  }
  
  .casino-name {
    font-size: 16px;
  }
}

/* Fire Elements */
.fire-element {
  pointer-events: none;
}

.fire-element img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fire-top-left {
  top: -2rem;
  left: -2rem;
  width: 8rem;
  height: 8rem;
}

.fire-bottom-left {
  bottom: -1rem;
  left: -2rem;
  width: 8rem;
  height: 2rem;
}

.fire-top-right {
  top: -2rem;
  right: -1rem;
  width: 2rem;
  height: 8rem;
}

.fire-bottom-right {
  bottom: -1rem;
  right: -1rem;
  width: 2rem;
  height: 2rem;
}

/* Shadow Elements */
.fire-element-shadow-gold {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, transparent 50%);
  border-radius: 1rem;
}

.fire-element-shadow {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 140, 0, 0.1) 0%, transparent 50%);
  border-radius: 1rem;
}

.fire-element-shadow-silver {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(192, 192, 192, 0.1) 0%, transparent 50%);
  border-radius: 1rem;
}

/* Rank Backgrounds */
.rank-3-background,
.rank-4-background,
.rank-5-background,
.rank-section4-background {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 1rem;
}

.rank-3-background {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.15) 0%, rgba(255, 215, 0, 0.05) 100%);
}

.rank-4-background {
  background: linear-gradient(135deg, rgba(192, 192, 192, 0.15) 0%, rgba(192, 192, 192, 0.05) 100%);
}

.rank-5-background {
  background: linear-gradient(135deg, rgba(205, 127, 50, 0.15) 0%, rgba(205, 127, 50, 0.05) 100%);
}

.rank-section4-background {
  background: linear-gradient(135deg, rgba(255, 0, 0, 0.15) 0%, rgba(255, 0, 0, 0.05) 100%);
}

.rank-container {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(0.5rem);
}

.rank-container2 {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(0.5rem);
}

/* Casino Table Rows */
.casino-table-row1,
.casino-table-row,
.casino-table-row-section4 {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.8) 0%, rgba(20, 20, 30, 0.9) 100%);
  border-radius: 1rem;
  border: 0.125rem solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(1rem);
  min-height: 6rem;
}

.casino-table-row1 {
  border-color: rgba(255, 215, 0, 0.3);
  box-shadow: 0 0.5rem 2rem rgba(255, 215, 0, 0.2);
}

.casino-table-row-section4 {
  border-color: rgba(255, 0, 0, 0.3);
  box-shadow: 0 0.5rem 2rem rgba(255, 0, 0, 0.2);
}

.exclusive-shadow-lg {
  box-shadow: 0 1rem 3rem rgba(255, 215, 0, 0.3);
}

/* Casino Tags */
.casino-tag1,
.casino-tag,
.casino-tag3 {
  position: absolute;
  top: -0.75rem;
  left: 20rem;
  padding: 0.5rem 1rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  letter-spacing: 0.1rem;
  z-index: 10;
}

.casino-tag1 {
  background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
  box-shadow: 0 0.25rem 1rem rgba(255, 107, 53, 0.4);
}



.casino-tag3 {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  box-shadow: 0 0.25rem 1rem rgba(17, 153, 142, 0.4);
}

/* Sortable Values */
.sortable-values-gold {
  color: #ffd700;
}

.sortable-values {
  color: #ffffff;
}

.value-description {
  font-size: 0.75rem;
  opacity: 0.8;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}

/* CTA Buttons */
.cta-black-button,
.cta-red-button {
  text-decoration: none;
  border-radius: 2rem;
  overflow: hidden;
  transition: all 0.3s ease;
  position: relative;
}

.cta-black-button {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
  border: 0.125rem solid #34495e;
  color: #ffffff;
}

.cta-red-button {
  background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
  border: 0.125rem solid #e74c3c;
  color: #ffffff;
}

.cta-black-button:hover,
.cta-red-button:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.3);
}

.cta-black-button:hover {
  background: linear-gradient(135deg, #34495e 0%, #2c3e50 100%);
}

.cta-red-button:hover {
  background: linear-gradient(135deg, #c0392b 0%, #a93226 100%);
}

.cta-black-button-container,
.cta-red-button-container {
  position: relative;
  overflow: hidden;
}

.cta-black-button-text,
.cta-red-button-text {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  position: relative;
  z-index: 2;
}

.cta-black-button-text span,
.cta-red-button-text span {
  position: relative;
  display: inline-block;
  transition: all 0.3s ease;
}

.cta-black-button-text span[data-hover]:hover::before,
.cta-red-button-text span[data-hover]:hover::before {
  content: attr(data-hover);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: textSlide 0.5s ease-in-out;
}

@keyframes textSlide {
  0% { transform: translateY(-100%); opacity: 0; }
  50% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(100%); opacity: 0; }
}

/* Typography Classes */
.font-blackish {
  color: #2c3e50;
}

.font-fff {
  color: #ffffff;
}

.font-secondary {
  color: #ffd700;
}

.font-weight-700 {
  font-weight: 700;
}

.font-size-13rem {
  font-size: 3rem;
}

.font-size-12rem {
  font-size: 1.5rem;
}

.font-size-11rem {
  font-size: 2.5rem;
}

.font-size-19rem {
  font-size: 1.25rem;
}

/* Z-Index Classes */
.z1-index {
  z-index: 1;
}

.z2-index {
  z-index: 2;
}

/* Width Classes */
.w-lg-17 {
  width: 17%;
}

.w-lg-12 {
  width: 12%;
}

.w-lg-18 {
  width: 18%;
}

/* Best Casino Responsive Design */
@media (max-width: 992px) {
  .w-lg-17,
  .w-lg-12,
  .w-lg-18 {
    width: 100% !important;
  }
  
  .best-casinos-section .font-size-13rem {
    font-size: 2.5rem;
  }
  
  .best-casinos-section .font-size-11rem {
    font-size: 2rem;
  }
  
  .best-casinos-section .font-size-12rem {
    font-size: 1.25rem;
  }
  
  .best-casinos-section .font-size-19rem {
    font-size: 1rem;
  }
  
  .casino-tag1,
  .casino-tag,
  .casino-tag3 {
    position: static;
    display: inline-block;
    margin-bottom: 1rem;
  }
  
  .rank-container,
  .rank-container2 {
    width: 4rem;
    height: 4rem;
    top: 1rem;
    right: 1rem;
    left: auto;
  }
}

@media (max-width: 768px) {
  .casino-table-row1,
  .casino-table-row,
  .casino-table-row-section4 {
    flex-direction: column;
    text-align: center;
    padding: 2rem 1rem;
  }
  
  .fire-element {
    display: none;
  }
  
  .best-casinos-section .container-fluid {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 1rem;
  }
  
  .casino-rank-card {
    position: relative;
    flex-direction: column;
    padding: 20px 25px;
    text-align: center;
  }
  
  .rank-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    margin: 0;
    width: 40px;
    height: 40px;
    font-size: 18px;
    z-index: 2;
  }
  
  .casino-logo {
    margin: 0 auto 15px;
    padding-left: 30px; /* Make space for the rank badge */
    position: relative;
    z-index: 1;
    max-width: calc(100% - 50px); /* Prevent overlap */
  }
  
  .casino-name {
    margin: 0 auto 15px;
    width: 100%;
  }
  
  .bonus-info {
    display: grid;
    grid-template-columns: 2fr 2fr;
    gap: 15px;
    margin: 15px auto;
    width: 100%;
    max-width: 400px;
    justify-content: center;
  }
  
  .bonus-item {
    display: flex;
    align-items: center;
    text-align: left;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
  }
  
  .bonus-item .bonus-value {
    margin: 0 8px 0 0;
    font-size: 16px;
    white-space: nowrap;
  }
  
  .bonus-item .bonus-label {
    font-size: 11px;
    line-height: 1.2;
    text-align: left;
  }
  
  .claim-button {
    margin: 15px auto 0;
    width: 100%;
    max-width: 200px;
  }
  
  .cta-black-button-text,
  .cta-red-button-text {
    padding: 1rem 2rem;
    font-size: 0.875rem;
    width: 100%;
    text-align: center;
  }
  
  /* Rank badge positioning handled in the main mobile media query */
}

@media (max-width: 576px) {
  .best-casinos-section .font-size-13rem {
    font-size: 1.75rem;
  }
  
  .best-casinos-section .font-size-11rem {
    font-size: 1.5rem;
  }
  
  .best-casinos-section .font-size-12rem {
    font-size: 0.9rem;
  }
  
  .best-casinos-section .font-size-19rem {
    font-size: 0.8rem;
  }
  
  .casino-table-row1,
  .casino-table-row,
  .casino-table-row-section4 {
    padding: 1.25rem 0.5rem;
  }
  
  .rank-container,
  .rank-container2 {
    width: 3rem;
    height: 3rem;
  }
  
  .bonus-info {
    gap: 10px;
    max-width: 100%;
  }
  
  .bonus-item {
    padding: 6px 8px;
  }
  
  .bonus-item .bonus-value {
    font-size: 14px;
    margin-right: 6px;
  }
  
  .bonus-item .bonus-label {
    font-size: 10px;
  }
  
  .btn-claim {
    padding: 12px 16px;
    font-size: 11px;
  }
}

/* ============================================================
   THEME-MAFIA: Copy of theme-default with yellow CTA button
   ============================================================ */

.theme-mafia {
  border: 2px solid #fff !important;
  background: #2b2a2a !important;
  box-shadow: 0 0 2px 2px rgba(180, 180, 180, 0.10), 0 0px 0px 0px #ffffff inset;
  position: relative;
  transition: all 0.3s ease !important;
}

.theme-mafia:hover {
  box-shadow: 0 0 15px 5px rgba(255, 255, 255, 0.8), 0 0 2px 2px rgba(180, 180, 180, 0.10), 0 0px 0px 0px #ffffff inset !important;
}

.theme-mafia .btn-claim {
  display: inline-block !important;
  position: relative !important;
  padding: 12px 22px !important;
  border-radius: 8px !important;
  background: linear-gradient(90deg, #cc0000, #ff3333) !important;
  color: #fff !important;
  font-weight: bold !important;
  text-decoration: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: 0.3s !important;
}

.theme-mafia .btn-claim::before {
  content: "";
  position: absolute;
  width: 150%;
  height: 150%;
  top: -25%;
  left: -25%;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  pointer-events: none;
  transform: scale(0);
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.theme-mafia .btn-claim:hover::before {
  transform: scale(1);
}

/* Button hover state - button stays in place, only text rotates */

.theme-mafia .btn-claim {
  transition: all 0.3s ease !important;
}

.theme-mafia .btn-claim:hover {
  transform: rotate(360deg) !important;
}

.theme-mafia .btn-claim::after {
  display: none !important;
}

.theme-mafia .rank-badge {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #FFD700 !important;
  font-weight: 900 !important;
}

/* Mobile specific styling */
@media (max-width: 768px) {
  .bonus-info {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 15px;
    margin: 0px auto;
    justify-content: center;
  }
  
  .bonus-item {
    background: none !important;
    border: none !important;
  }
  
  .bonus-item:nth-child(3),
  .bonus-item:nth-child(4) {
    margin-left: 20px !important;
    text-align: center !important;
  }
  
  .theme-mafia .bonus-item {
    background: none !important;
    border: none !important;
  }
  
  .bonus-item .bonus-label {
    font-size: 11px;
    
  }
  
  .bonus-item .bonus-value {
    font-size: 16px;
    margin-right: 5px;
  }
  
  .theme-mafia .btn-claim {
    width: calc(100% + 120px) !important;
    max-width: none !important;
    min-width: calc(100% + 120px) !important;
    margin-left: -60px !important;
    margin-right: -60px !important;
    box-shadow: inset 0 0 20px rgba(255, 0, 0, 0.6), inset 0 0 40px rgba(255, 0, 0, 0.3) !important;
  }
  
  .theme-mafia .btn-claim:hover {
    box-shadow: inset 0 0 30px rgba(255, 0, 0, 0.8), inset 0 0 60px rgba(255, 0, 0, 0.5) !important;
  }
  
  .theme-mafia .btn-claim::after {
    display: block !important;
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
    animation: movingGlow 2.5s infinite;
    z-index: 2;
    border-radius: 8px;
  }
}

@keyframes movingGlow {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}
