/* Título */
.rifas-titulo {
  color: #ffcc00;
  /* amarelo vibrante */
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 40px;
  text-align: center;
}

.rifa-detalhes p strong {
  color: #ff6347;
  /* destaque vermelho alaranjado */
  font-weight: bold;
}

/* Desktop: coloca lado a lado (2 ou 3 cards dependendo do tamanho da tela) */
@media (min-width: 992px) {
  .rifas-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

.rifas-grid {
  display: grid;
  gap: 2rem;
  justify-items: center;
  padding: 0 1rem;
}

/* Card clicável */
.rifa-card {
  display: flex;
  flex-direction: column;
  background-color: #222;
  border-radius: 15px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: 100%;
  max-width: 600px;
  /* largura máxima no desktop */
}

/* Hover com efeito */
.rifa-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(255, 204, 0, 0.5);
}

/* Imagem do card */
.rifa-imagem-container img {
  border-radius: 10px;
  width: 100%;
  object-fit: cover;
}

.rifa-card:hover .rifa-imagem-container img {
  transform: scale(1.05);
}

/* Detalhes do card */
.rifa-detalhes {
  padding: 1rem 1.2rem;
}

.rifa-detalhes h5 {
  color: #00bfff;
  /* azul claro */
  font-weight: bold;
  font-size: 1.4rem;
  margin-bottom: 10px;
}

.rifa-detalhes p {
  font-size: 0.95rem;
  margin: 3px 0;
  color: #f1f1f1;
  /* letras claras */
}

.status-aberto {
  color: #00ff99;
  font-weight: bold;
}

/* Loteria */
.rifa-loteria {
  display: flex;
  align-items: center;
  margin-top: 0.8rem;
}

.rifa-loteria img {
  width: 30px;
  margin-right: 0.5rem;
}

.rifa-loteria span {
  font-weight: bold;
  color: #f1f1f1;
  /* letras claras */
  font-size: 0.95rem;
}

/* Responsividade */
@media (max-width: 992px) {
  .rifa-imagem-container img {
    height: 220px;
  }

  .rifa-detalhes h5 {
    font-size: 1.3rem;
  }
}

@media (max-width: 576px) {
  .rifas-titulo {
    font-size: 1.6rem;
  }

  .rifa-imagem-container img {
    height: 180px;
  }

  .rifa-detalhes h5 {
    font-size: 1.1rem;
  }

  .rifa-detalhes p {
    font-size: 0.85rem;
  }
}

/* css rifa jogar */

/* Container principal */
.rifas-container {
  margin: 20px auto;
  padding: 10px;
  max-width: 800px;
  text-align: center;
}

/* Título */
.rifas-titulo {
  color: rgb(255, 255, 255);
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 20px;
}

/* Card da rifa */
.rifa-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 2px solid green;
  border-left: 6px solid red;
  background-color: #f0f0f0;
  border-radius: 8px;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
  overflow: hidden;
  text-align: left;
}

.rifa-item-jogar {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 2px solid green;
  border-left: 6px solid #00b0ff;
  background-color: #f0f0f0;
  border-radius: 8px;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
  overflow: hidden;
  text-align: left;
}

.rifa-imagem {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

.rifa-nome {
  font-size: 1.3rem;
  font-weight: bold;
  color: #c23d00;
  margin-bottom: 10px;
  text-align: center;
}

.status-aberto {
  color: green;
  font-weight: bold;
}

/* Seção da loteria */
.rifa-loteria {
  display: flex;
  align-items: center;
  margin-top: 10px;
}

.loteria-imagem {
  width: 50px;
  margin-right: 10px;
}

.rifa-loteria-texto {
  color: #1900ff;
  font-weight: bold;
  font-size: 0.9rem;
}

.card-jogar-rifa {
  border: 1px solid var(--white-5);
  background-color: rgb(39 41 0);
  border-radius: 16px;
  padding: 4px;
  position: relative;
}

.text-success-rifa {
  color: #0083db;
}

.text-dark-rifa {
  color: #00ff22;
  font-weight: bold;
}

.align-container-rifa {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 10px;
}

.rifa-info {
  margin-bottom: 7px;
  text-align: left;
}

.botao_rifinha {
  display: inline-table;
  padding: 1px 8px;
  margin: 2px;
  background-color: #0d3c51;
  border-radius: 5%;
  cursor: pointer;
}

.btn2 {
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
}

.btn-dark {
  color: #fff;
  background-color: #000;
  border-color: #000;
}

.botao_rifinha-conteiner {
  padding: 1rem;
}

.efeito-pulse {
  animation: pulse-efeito 1.5s infinite;
}

.alert-warning-rifa {
  color: #ffbf00;
}

@keyframes pulse-efeito {
  0% {
    box-shadow: 0 0 0 0 rgb(112 212 75 / 70%);
  }

  70% {
    box-shadow: 0 0 0 30px rgb(176 81 230 / 0%);
  }

  100% {
    box-shadow: 0 0 0 0 rgb(176 81 230 / 0%);
  }
}

.efeito-pulse2 {
  animation: pulse-efeito2 1.5s infinite;
}

@keyframes pulse-efeito2 {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 208, 0, 0.7);
  }

  70% {
    box-shadow: 0 0 0 30px rgb(176 81 230 / 0%);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
}

/* Animação de fade-in para o container */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Animação para o texto "Boa Sorte" */
@keyframes slideAndColorChange {
  0% {
    transform: translateX(-100%) rotate(-10deg);
    color: #3498db;
    opacity: 0;
  }
  50% {
    transform: translateX(0) rotate(0deg);
    color: #2ecc71;
    opacity: 1;
  }
  100% {
    transform: translateX(10%) rotate(10deg);
    color: #e74c3c;
  }
}

/* Aplicando a animação ao nome da rifa e "Boa Sorte" */
.animated-text {
  display: inline-block;
  font-size: 2em;
  animation: slideAndColorChange 2s ease-in-out forwards;
}

.qntcotas {
  font-size: 16px;
  font-weight: bold;
  color: #00ff74;
}

.valorcota {
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
}

.card-body-rifa {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 1px;
}

.card-jogar-rifa {
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  margin-bottom: 15px;
  overflow: visible;
  /* garante que nada esconda o header */
}

.card-header {
  background: linear-gradient(90deg, #0d6efd, #6610f2);
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  padding: 12px 10px;
  text-align: center;
  white-space: normal;
  /* força quebra de linha */
  display: block;
}

.card-header h5 {
  margin: 0;
  line-height: 1.2;
  display: block;
}

@media (max-width: 576px) {
  .card-header {
    font-size: 16px !important;
    padding: 10px 8px;
  }
}

.ganhador-info {
  position: relative;
  background-color: rgba(0, 0, 0, 0.3);
  /* fundo leve, transparente */
  border-left: 4px solid #ff4500;
  padding: 10px 15px;
  margin: 5px 0;
  border-radius: 8px;
  overflow: hidden;
  color: #fff;
}

/* Letras coloridas */
.ganhador-info p {
  font-weight: bold;
  font-size: 1rem;
  margin: 2px 0;
  background: linear-gradient(
    90deg,
    #ff0000,
    #ff7f00,
    #ffff00,
    #00ff00,
    #0000ff,
    #8b00ff
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Confetes simples animados */
.ganhador-info span.confete {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  animation: confettiFall 2s linear infinite;
  top: -10px;
}

/* Animação de queda */
@keyframes confettiFall {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
  }

  100% {
    transform: translateY(100px) rotate(360deg);
    opacity: 0;
  }
}
