.home-voter-list-button-wrap {
  position: fixed;
  left: 50%;
  top: 6rem;
  transform: translateX(-50%);
  /* Bootstrap's "fixed element" tier. It must stay BELOW the modal backdrop
     (1050) and the modal itself (1055), otherwise this capsule floats on top
     of the buy-votes form the home page opens - it used to sit at 2050 and
     covered the form's header. Everything else on the home page is far lower
     (the nav is 200), so it still floats above the page itself. */
  z-index: 1030;
}

/* Fire ring container */
.home-voter-list-fire-ring {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 999px;
  background: conic-gradient(
    from var(--fire-angle, 0deg),
    #ff4500, #ff8c00, #ffd700, #ff6347,
    #ff4500, #ffa500, #ff0, #ff4500,
    #ff8c00, #ffd700, #ff4500
  );
  animation: fireRotate 1.8s linear infinite, firePulse 0.6s ease-in-out infinite alternate;
}

/* Soft outer glow */
.home-voter-list-fire-glow {
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  background: conic-gradient(
    from var(--fire-angle, 0deg),
    rgba(255, 69, 0, 0.5), rgba(255, 165, 0, 0.3), rgba(255, 215, 0, 0.5),
    rgba(255, 99, 71, 0.3), rgba(255, 69, 0, 0.5)
  );
  filter: blur(8px);
  animation: fireRotate 1.8s linear infinite;
  z-index: -1;
}

@property --fire-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@keyframes fireRotate {
  to {
    --fire-angle: 360deg;
  }
}

@keyframes firePulse {
  from {
    filter: brightness(1) drop-shadow(0 0 4px rgba(255, 100, 0, 0.6));
  }
  to {
    filter: brightness(1.15) drop-shadow(0 0 10px rgba(255, 69, 0, 0.9));
  }
}

/* Button */
.home-voter-list-capsule-btn {
  position: relative;
  border: none;
  border-radius: 999px;
  padding: 0.42rem 1.15rem;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
  background: linear-gradient(135deg, var(--primary-color, #0d6efd), var(--hover-color, #0b5ed7));
  box-shadow: 0 10px 22px rgba(13, 110, 253, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  white-space: nowrap;
  z-index: 1;
  cursor: pointer;
}

.home-voter-list-capsule-btn:hover,
.home-voter-list-capsule-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(13, 110, 253, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.35);
  filter: saturate(1.05);
  outline: none;
}

.home-voter-list-capsule-btn:active {
  transform: translateY(0);
}

.home-vote-entry-hidden {
  display: none !important;
}

@media (max-width: 576px) {
  .home-voter-list-capsule-btn {
    padding: 0.38rem 1rem;
    font-size: 0.82rem;
  }
}