
* {
  margin: 0; padding: 0; box-sizing: border-box;
}

body {
  font-family: 'Montserrat', sans-serif;
  background: #0a1428;
  color: #ddd;
  padding-top: 120px;
  overflow-x: hidden;
  position: relative;
  min-height: 100vh;
}

header {
  position: fixed;
  top: 0; left: 50%;
  transform: translateX(-50%);
  background: transparent;
  z-index: 10;
  padding: 0.5rem 0;
}

#ps5-topo {
  max-width: 100px;
  filter: drop-shadow(0 0 25px #33aaffcc);
  animation: pulseGlow 3s infinite alternate;
  cursor: default;
}

@keyframes pulseGlow {
  0% { filter: drop-shadow(0 0 15px #33aaffaa); }
  100% { filter: drop-shadow(0 0 40px #33aaffff); }
}

#hero {
  text-align: center;
  padding: 2rem 1rem;
  position: relative;
  z-index: 1;
}

#hero h2 {
  font-size: 2.8rem;
  margin-bottom: 0.5rem;
  color: #33aaff;
  text-shadow: 0 0 10px #33aaffbb;
}

#hero p {
  font-size: 1.2rem;
  color: #aaccee;
  margin-bottom: 1.5rem;
  text-shadow: 0 0 8px #33aaff88;
}

#hero button {
  background: #33aaff;
  border: none;
  padding: 1rem 2.5rem;
  border-radius: 50px;
  font-size: 1.3rem;
  color: #000;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 0 25px #33aaffcc;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

#hero button:hover {
  background-color: #2299ff;
  box-shadow: 0 0 50px #2299ffcc;
  color: #fff;
}

footer {
  text-align: center;
  padding: 1.5rem 1rem;
  background: rgba(0, 0, 20, 0.8);
  color: #666;
  font-size: 0.9rem;
  user-select: none;
  position: relative;
  z-index: 1;
}
body {
  background: #0a1428;
  color: #ddd;
  font-family: 'Montserrat', sans-serif;
  padding-top: 120px;
  overflow-x: hidden;
  min-height: 100vh;
  position: relative;
}

canvas#stars {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
}

header, section, footer {
  position: relative;
  z-index: 1;
}

#ps5-img {
  display: block;
  max-width: 800px;    /* tamanho legal, não fica gigante */
  margin: 1.5rem auto; /* centraliza horizontal e dá um espaçamento em cima e embaixo */
  filter: drop-shadow(0 0 15px #33aaffcc); /* brilho suave para combinar com o tema */
  transition: transform 0.3s ease;
  cursor: default;
}

#ps5-img:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 0 25px #33ccffdd);
}

#hero h2 {
  font-size: 2.8rem;
  margin-bottom: 0.5rem;
  color: #fff;
  text-shadow: 0 0 10px #33aaffbb;
}

#hero p {
  font-size: 1.2rem;
  color: #fff;
  margin-bottom: 1.5rem;
  text-shadow: 0 0 8px #33aaff88;
}

#regulamento {
  margin-top: 3rem;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #33aaff;
  border-radius: 12px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  color: #fff;
}

#regulamento h3 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  color: #33aaff;
  text-align: center;
}

#regulamento .regulamento-box {
  max-height: 300px;
  overflow-y: auto;
  padding-right: 1rem;
  line-height: 1.4;
}

#regulamento .regulamento-box p {
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

#rifas-finalizadas {
  margin: 4rem auto 2rem auto;
  text-align: center;
  max-width: 900px;
  padding: 1rem;
  position: relative;
  z-index: 1;
}

#rifas-finalizadas h3 {
  font-size: 1.8rem;
  color: #33aaff;
  margin-bottom: 2rem;
  text-shadow: 0 0 10px #33aaff88;
}

.rifas-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.rifa-card {
  position: relative;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #33aaff88;
  border-radius: 12px;
  padding: 1rem;
  width: 250px;
  text-align: center;
  box-shadow: 0 0 10px #33aaff22;
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
  overflow: hidden;
}

.rifa-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 0 30px #33aaff77;
  filter: brightness(1.1) blur(0.5px);
}

.rifa-card h4 {
  color: #fff;
  margin-bottom: 0.5rem;
  text-shadow: 0 0 5px #33aaffcc;
}

.rifa-card p {
  color: #aaccee;
  font-size: 0.95rem;
}

.badge-finalizada {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: #33aaff;
  color: #000;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 20px;
  box-shadow: 0 0 10px #33aaff88;
  text-transform: uppercase;
  letter-spacing: 1px;
  animation: pulseBadge 2s infinite alternate;
}

@keyframes pulseBadge {
  0% {
    box-shadow: 0 0 5px #33aaff88, 0 0 10px #33aaff55;
  }
  100% {
    box-shadow: 0 0 15px #33aaffcc, 0 0 30px #33aaff88;
  }
}

.rifa-card {
  position: relative;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #33aaff88;
  border-radius: 12px;
  padding: 1.5rem;
  width: 250px;
  text-align: center;
  box-shadow: 0 0 10px #33aaff22;
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
  overflow: hidden;

  /* NOVOS: */
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.0rem; /* espaçamento interno entre elementos */
}

.rifa-card h4 {
  color: #fff;
  margin-bottom: 0.3rem;
  font-size: 1.1rem;
  text-shadow: 0 0 5px #33aaffcc;
  line-height: 1.3; /* deixa mais respirável */
}

.rifa-card p {
  color: #aaccee;
  font-size: 0.95rem;
  line-height: 1.4;
  word-break: break-word;
  margin: 0;
}

#rifas-finalizadas {
  margin-top: 10rem;
}

.rifa-card h4 {
  color: #fff;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
  text-shadow: 0 0 5px #33aaffcc;
  line-height: 1.4; /* AUMENTEI */
  word-wrap: break-word; /* quebra se for longo */
}

.rifa-card p {
  color: #aaccee;
  font-size: 0.95rem;
  line-height: 1.4; /* mais espaçado */
  word-wrap: break-word;
  margin-top: 0.3rem; /* dá respiro */
}

#rifa-andamento {
  margin: 4rem auto 2rem auto;
  text-align: center;
  max-width: 900px;
  padding: 1rem;
  position: relative;
  z-index: 1;
}

#rifa-andamento h3 {
  font-size: 1.8rem;
  color: #33aaff;
  margin-bottom: 2rem;
  text-shadow: 0 0 10px #33aaff88;
}

.rifa-atual-card {
  position: relative;
  background: rgba(51, 170, 255, 0.1);
  border: 1px solid #33aaff;
  border-radius: 12px;
  padding: 1.5rem;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  box-shadow: 0 0 20px #33aaff44;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rifa-atual-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 0 30px #33aaff88;
}

.rifa-atual-card h4 {
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}

.rifa-atual-card p {
  color: #aaccee;
  font-size: 1rem;
  margin-bottom: 1rem;
}

.rifa-atual-card button {
  background: #33aaff;
  border: none;
  padding: 0.8rem 2rem;
  border-radius: 50px;
  font-size: 1rem;
  color: #000;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 0 20px #33aaff88;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.rifa-atual-card button:hover {
  background-color: #2299ff;
  box-shadow: 0 0 30px #2299ffaa;
  color: #fff;
}

.badge-andamento {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: #33ff77;
  color: #000;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 2px 10px;
  border-radius: 20px;
  box-shadow: 0 0 10px #33ff77aa;
  text-transform: uppercase;
  letter-spacing: 1px;
  animation: pulseBadge 2s infinite alternate;
}

.rifa-img {
  max-width: 300px;      
  margin: 0 auto 1rem auto; 
  display: block;
  border-radius: 12px;
  filter: drop-shadow(0 0 15px #33aaffcc);
  transition: transform 0.3s ease;
  cursor: default;
}

.rifa-img:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 0 25px #33ccffdd);
}

#desafio-deuses {
  background: linear-gradient(45deg, #1a1a1a, #333);
  color: #fff;
  padding: 2rem 1rem;
  margin: 2rem auto;
  max-width: 1000px;
  border: 2px solid #ffd700aa;
  border-radius: 15px;
  box-shadow: 0 0 20px #ffd70055;
  text-align: center;
  position: relative;
}

.desafio-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  gap: 1rem;
}

.desafio-texto {
  flex: 1 1 300px;
}

.desafio-texto h2 {
  font-size: 2rem;
  color: #ffd700;
  text-shadow: 0 0 10px #ffd700aa;
  margin-bottom: 0.5rem;
}

.desafio-texto p {
  font-size: 1rem;
  margin-bottom: 1rem;
  color: #eee;
}

.atual-campeao {
  font-weight: bold;
  color: #ffd700;
}

.desafio-texto button {
  background: #ffd700;
  color: #000;
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  border-radius: 50px;
  cursor: pointer;
  transition: 0.3s;
  font-weight: bold;
}

.desafio-texto button:hover {
  background: #ffea00;
  transform: scale(1.05);
}

.desafio-img {
  flex: 1 1 200px;
  max-width: 200px;
  border-radius: 10px;
  box-shadow: 0 0 15px #ffd70088;
}

#ps5-img,
#iphone-img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
}

#ps5-img,
#iphone-img {
  padding: 1rem 0;
}


/* Container pai para centralizar as imagens no mobile e desktop */
.img-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1.5rem 0;
  width: 100%;
}

/* Imagens PS5 e iPhone */
#ps5-img,
#iphone-img {
  max-width: 300px; /* ou o tamanho que quiser no desktop */
  width: 90vw;      /* largura responsiva que se adapta no mobile */
  height: auto;
  display: block;
  object-fit: contain;
}

/* Ajustes extra para telas menores */
@media (max-width: 480px) {
  #ps5-img,
  #iphone-img {
    max-width: 80vw; /* diminui um pouco pra caber bonitinho */
  }
}

#compra-mistica {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #33aaff;
  border-radius: 12px;
  padding: 2rem;
  max-width: 500px;
  margin: 2rem auto;
  text-align: center;
  box-shadow: 0 0 15px #33aaff77;
}

#compra-mistica h2 {
  color: #33aaff;
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
}

#compra-mistica p {
  color: #ccc;
  margin-bottom: 1rem;
}

.opcoes-rapidas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.opcao {
  background: #33aaff;
  color: #000;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}

.opcao:hover {
  background: #2299ff;
  color: #fff;
}

.manual {
  margin: 1rem 0;
}

.manual input {
  padding: 0.5rem;
  border-radius: 6px;
  border: none;
  width: 100px;
  text-align: center;
}

.total-mistico {
  margin: 1rem 0;
  font-size: 1.2rem;
  color: #fff;
}

#btnFinalizar {
  background: linear-gradient(45deg, #33aaff, #2299ff);
  border: none;
  padding: 0.8rem 2rem;
  border-radius: 50px;
  color: #000;
  font-weight: bold;
  font-size: 1.2rem;
  cursor: pointer;
  transition: 0.3s;
  box-shadow: 0 0 20px #33aaff88;
}

#btnFinalizar:hover {
  background: linear-gradient(45deg, #2299ff, #33aaff);
  color: #fff;
  box-shadow: 0 0 30px #33aaffaa;
}

.pulse {
  animation: pulse 0.3s ease;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    color: #33aaff;
  }
  50% {
    transform: scale(1.2);
    color: #66ccff;
  }
  100% {
    transform: scale(1);
    color: #33aaff;
  }
}

.compra-mistica {
  max-width: 400px;
  margin: 2rem auto;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #33aaff88;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 0 15px #33aaff44;
  text-align: center;
  color: #fff;
}

.compra-mistica label {
  font-size: 1.1rem;
  color: #aaccee;
  display: block;
  margin-bottom: 0.5rem;
}

.opcoes-rapidas {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.opcao {
  background: #33aaff22;
  color: #33aaff;
  border: 1px solid #33aaffaa;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-weight: bold;
  transition: all 0.2s ease;
}

.opcao:hover {
  background: #33aaff;
  color: #000;
  box-shadow: 0 0 10px #33aaffaa;
  transform: scale(1.05);
}

.quantidade-box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
  gap: 0.5rem;
}

.quantidade-box input {
  width: 70px;
  text-align: center;
  font-size: 1.1rem;
  border: none;
  border-radius: 6px;
  padding: 0.3rem;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.quantidade-box button {
  background: #33aaff44;
  color: #33aaff;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-weight: bold;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.quantidade-box button:hover {
  background: #33aaff;
  color: #000;
  box-shadow: 0 0 8px #33aaffaa;
}

.compra-mistica p {
  font-size: 1rem;
  margin: 1rem 0;
  color: #aaccee;
}

#btnComprar {
  background: linear-gradient(90deg, #33aaff, #00cfff);
  color: #000;
  font-weight: bold;
  border: none;
  border-radius: 50px;
  padding: 0.8rem 2rem;
  font-size: 1.1rem;
  cursor: pointer;
  box-shadow: 0 0 20px #33aaff66;
  transition: all 0.3s ease;
}

#btnComprar:hover {
  background: linear-gradient(90deg, #00cfff, #33aaff);
  box-shadow: 0 0 30px #33aaffaa;
  color: #fff;
  transform: translateY(-2px) scale(1.02);
}

.opcoes-rapidas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 15px;
}

.opcoes-rapidas .opcao {
  flex: 1 1 calc(50% - 20px); /* no mobile ficam 2 por linha */
  min-width: 100px;
  max-width: 150px;
  background: linear-gradient(135deg, #4b4bff, #8a2be2);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  text-align: center;
}

.opcoes-rapidas .opcao:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 10px #ffd700;
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .opcoes-rapidas .opcao {
    flex: 1 1 calc(45% - 10px);
    font-size: 0.9rem;
  }
}

@media (max-width: 480px) {
  .opcoes-rapidas .opcao {
    flex: 1 1 100%;
    max-width: none;
  }
}

.opcoes-rapidas {
  background: #f5f5f5;
  border-radius: 12px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}


