.singer-voting-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 30px 0;
}

.svp-card {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
  overflow: hidden !important;
  padding: 25px !important;
  margin: 20px 0 !important;
  transition: all 0.3s ease !important;
}

.svp-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important;
}

.svp-card h3 {
  font-size: 22px !important;
  margin-bottom: 12px !important;
  color: #222 !important;
  font-weight: 700 !important;
  text-align: left !important;
}

.svp-main-thumb img {
  width: 100% !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  margin-bottom: 12px !important;
}

.svp-extra-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}

.svp-extra-thumb {
  position: relative !important;
  cursor: pointer !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  transition: transform 0.3s ease !important;
}

.svp-extra-thumb img {
  width: 100% !important;
  display: block !important;
  border-radius: 8px !important;
}

.svp-extra-thumb:hover {
  transform: scale(1.05) !important;
}

.svp-play-overlay.small {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 50px !important;
  height: 50px !important;
  background: rgba(0,0,0,0.6) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.svp-play-overlay.small::before {
  content: "" !important;
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 18px solid #fff !important;   /* triangle color */
  border-top: 11px solid transparent !important;
  border-bottom: 11px solid transparent !important;
  margin-left: 4px !important;
}

.svp-play-overlay.small:hover {
    background: rgb(207 46 46 / 80%) !important;
    transform: translate(-50%, -50%) scale(1.15) !important;
    box-shadow: 0 0 20px rgb(207 46 46 / 71%) !important;
}



.svp-extra-text {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #555 !important;
  margin-top: 12px !important;
  text-align: justify !important;
}

.svp-vote-wrap {
  margin-top: 15px !important;
  text-align: center !important;
}

.svp-vote-btn {
  background-color: #cf2e2e !important;
  color: white !important;
  border: none !important;
  padding: 10px 25px !important;
  font-size: 16px !important;
  border-radius: 25px !important;
  cursor: pointer !important;
  transition: 0.3s !important;
}

.svp-vote-btn:disabled {
  background: #ccc !important;
  cursor: not-allowed !important;
}

.svp-vote-btn:hover:not(:disabled) {
  background-color: #010101 !important;
  transform: scale(1.05) !important;
}

.svp-countdown {
  margin-top: 8px !important;
  font-size: 14px !important;
  color: #888 !important;
}

.svp-bar-wrap {
  background: #eee !important;
  border-radius: 8px !important;
  margin: 15px 0 !important;
  height: 10px !important;
  width: 100% !important;
  overflow: hidden !important;
}

.svp-percent, .svp-total-votes {
  font-size: 14px !important;
  text-align: center !important;
  color: #444 !important;
}

.svp-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0,0,0,0.8) !important;
  backdrop-filter: blur(5px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 9999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease-in-out !important;
}

.svp-modal.active {
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
}

.svp-modal-inner {
  position: relative !important;
  width: 90% !important;
  max-width: 900px !important;
  background: #000 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.6) !important;
  animation: fadeInScale 0.4s ease !important;
}

.svp-modal iframe {
  width: 100% !important;
  height: 500px !important;
  border: none !important;
  display: block !important;
}

.svp-modal-close {
  position: absolute !important;
  top: 12px !important;
  right: 15px !important;
  font-size: 28px !important;
  font-weight: bold !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: 0.2s !important;
}

.svp-modal-close:hover {
  color: #ff4444 !important;
  transform: scale(1.2) !important;
}

.svp-progress {
    width: 100% !important;
    height: 8px !important;
    background: #e0e0e0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    margin-top: 8px !important;
}

.svp-bar {
    height: 100% !important;
    background: linear-gradient(90deg, #ff3d3d, #ff6b6b) !important;
    border-radius: 10px !important;
    box-shadow: 0 0 5px rgba(255, 0, 0, 0.3) !important;
    transition: width 0.5s ease-in-out !important;
}



@keyframes fadeInScale {
  from { transform: scale(0.85) !important; opacity: 0 !important; }
  to   { transform: scale(1) !important; opacity: 1 !important; }
}

@media (max-width: 768px) {
  .svp-modal iframe {
    height: 300px !important;
  }
}

