@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap");

body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  background: url("../assets/wallpaperVolei.jpg") no-repeat center center fixed;
  background-size: cover;
  color: #333;
}

/* Container */
.container {
  padding: 20px;
}

.page {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.home-layout {
  flex-direction: row;
  justify-content: center; /* AGORA CENTRALIZA OS ITENS */
  align-items: center;
  height: 100vh;
  gap: 40px; /* ADICIONA ESPAÇO ENTRE AS CAIXAS (texto e botões) */
}

/* Caixas de conteúdo */
.welcome-text {
  max-width: 550px; /* Limita a largura do texto em PCs */
  width: auto; /* Permite que ele cresça até o max-width */
}

.box {
  background: rgba(255, 255, 255, 0.92);
  padding: 25px;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 320px; /* Largura original para o box de botões */
  max-width: 90%;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease-in-out;
}

.welcome-text:hover,
.box:hover {
  transform: translateY(-4px);
}

h1,
h2 {
  color: #fff;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7);
}

/* Botões e inputs */
button,
select {
  padding: 12px;
  border: none;
  border-radius: 12px;
  background-color: #3498db;
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  transition: all 0.25s ease-in-out;
}

button:hover,
select:hover {
  background-color: #2574a9;
  transform: scale(1.05);
}

input {
  padding: 10px;
  border-radius: 12px;
  border: 1px solid #ccc;
  width: 100%;
  font-size: 1rem;
}

ul {
  list-style: none;
  padding: 0;
}

/* Times */
.teams-container {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.team-box {
  background: rgba(255, 255, 255, 0.92);
  padding: 15px;
  border-radius: 12px;
  min-width: 160px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Navbar */
.navbar {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  background-color: rgba(255, 255, 255, 0.92);
  color: #2980b9;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 30px;
  border-radius: 12px;
  margin: 15px auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  z-index: 1000;
}

.navbar-left {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 1px;
}

.navbar-right a {
  color: #2980b9;
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
  transition: color 0.25s ease-in-out;
  margin: 0 15px; /* esse dá o espaço */
}

.navbar-right a:hover {
  color: #1f5d7a;
}

.navbar-left a {
  color: inherit; /* Usa a mesma cor do texto da navbar */
  text-decoration: none; /* Remove o sublinhado */
  font-size: inherit; /* Herdar tamanho da fonte da navbar */
  font-weight: inherit; /* Herdar peso da fonte */
}

.navbar-left a:hover {
  color: #4cafef; /* Cor ao passar o mouse, igual aos outros */
}

/* --- ESTILOS PARA O MODAL E O FUNDO DESFOCADO --- */

/* O fundo que cobre a página inteira */
#modal-backdrop {
  display: none; /* Começa escondido */
  position: fixed; /* Fica fixo na tela */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4); /* Cor preta com transparência */
  backdrop-filter: blur(5px); /* O EFEITO DE DESFOQUE! */
  z-index: 999; /* Garante que fique acima de tudo, menos do modal */
}

/* O container do modal (quadro branco) */
.modal-container {
  display: none; /* Começa escondido */
  position: fixed; /* Fixo no centro da tela */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Truque para centralizar perfeitamente */

  background-color: rgba(
    255,
    255,
    255,
    0.95
  ); /* Branco levemente translúcido, como na imagem */
  padding: 25px 35px;
  border-radius: 18px; /* Bordas arredondadas */
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.25); /* Sombra para dar profundidade */
  width: 90%;
  max-width: 550px; /* Largura máxima */
  z-index: 1000; /* Fica na frente de TUDO, inclusive do fundo */
}

/* Classe 'active' que será adicionada via JavaScript para mostrar os elementos */
#modal-backdrop.active,
.modal-container.active {
  display: block;
}

/* Botão de fechar (X) */
.modal-container .close-btn {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 28px;
  font-weight: bold;
  color: #888;
  cursor: pointer;
  transition: color 0.2s;
}

.modal-container .close-btn:hover {
  color: #000;
}

/* Título do modal */
.modal-container h2 {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 24px;
  color: #333;
  text-align: center;
}

/* Lista para as frases */
.phrases-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Cada item da lista (cada frase) */
.phrases-list li {
  display: flex; /* Habilita o alinhamento flexível */
  justify-content: space-between; /* Empurra o texto para um lado e os pontos para o outro */
  align-items: center; /* Alinha verticalmente no centro */
  padding: 12px 0;
  border-bottom: 1px dashed #ccc;
  font-size: 16px;
  color: #555;
}

.phrases-list .points {
  background-color: #f0f0f0; /* Cor de fundo para os pontos */
  padding: 3px 8px;
  border-radius: 5px;
  font-weight: bold;
  font-size: 14px;
  color: #333;
  margin-left: 15px; /* Garante um espaço mínimo entre o texto e os pontos */
}

/* Remove a linha do último item */
.phrases-list li:last-child {
  border-bottom: none;
}

/*
 * Adicione essas regras no final do seu arquivo style.css
 * para garantir que elas sobrescrevam as regras anteriores em telas pequenas.
 */

/* ------------------------------------------------------------------- */
/* REGRAS PARA TELAS MENORES (Celulares e Tablets) */
/* ------------------------------------------------------------------- */
@media (max-width: 768px) {
  body {
    /* REMOVA a linha "overflow-y: hidden" do seu código original */
    overflow-y: visible; /* Apenas para garantir que a rolagem funcione */
    background-position: left center; /* Ajusta a posição da imagem de fundo para celulares */
  }

  /* Ajusta o layout principal para que os elementos fiquem empilhados */
  .home-layout {
    flex-direction: column;
    justify-content: flex-start;
    height: auto; /* Remove a altura fixa para permitir que o conteúdo se expanda */
    padding-top: 100px; /* Adiciona um espaço para que o conteúdo não fique embaixo da navbar */
  }

  /* Faz com que a barra de navegação se empilhe */
  .navbar {
    flex-direction: column;
    gap: 10px;
    padding: 10px 15px;
  }

  .navbar-right {
    display: flex; /* Garante que os links fiquem lado a lado novamente, mas em uma coluna separada */
    gap: 15px;
  }
}

/* ------------------------------------------------------------------- */
/* ESTILOS DO MENU HAMBÚRGUER */
/* ------------------------------------------------------------------- */

/* Esconde o botão do hambúrguer em telas grandes */
.hamburger {
  display: none;
}

/* Esconde o menu de links no celular por padrão */
@media (max-width: 768px) {
  .store-grid {
    flex-direction: column;
    align-items: center;
  }

  .reset-button {
    width: 90%; /* Faz o botão ocupar a largura total no celular */
    max-width: 350px;
  }

  .scoreboard {
    flex-direction: column; /* Continua empilhando os times */
    align-items: center;
    gap: 20px; /* Espaço entre os times empilhados */
    margin-top: 100px; /* Ajusta a margem para telas menores */
  }

  .team {
    width: 90%; /* Faz com que o card ocupe quase a largura toda da tela */
    max-width: 350px; /* Impede que ele fique muito largo em tablets */
    padding: 15px; /* Reduz o padding interno */
  }

  .sets,
  .points {
    font-size: 2.5rem; /* Reduz o tamanho da fonte dos números */
  }
  .scoreboard {
    flex-direction: column;
    align-items: center;
  }

  /* Mostra o botão do hambúrguer */
  .hamburger {
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001; /* Fica acima de tudo */
  }

  .hamburger .bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    background-color: #2980b9;
    transition: all 0.3s ease-in-out;
  }

  /* Estiliza o menu lateral que vai aparecer */
  .navbar-right {
    position: fixed;
    top: 0;
    right: -100%; /* Inicia fora da tela, à direita */
    width: 70%;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 60px 20px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 30px;
    transition: right 0.3s ease-in-out; /* Adiciona a transição de slide */
    z-index: 1000;
    box-shadow: -4px 0 10px rgba(0, 0, 0, 0.1);
  }

  /* Classe para quando o menu estiver ativo (visível) */
  .navbar-right.active {
    right: 0;
  }
}

/*
 * ADICIONE ESTE BLOCO de CSS no FINAL do seu style.css.
 * Esta media query é para telas de celular em modo paisagem (deitado) ou tablets pequenos.
 */
@media (min-width: 576px) and (orientation: landscape) {
  .scoreboard {
    flex-direction: row; /* Coloca os times lado a lado novamente */
    justify-content: center; /* Centraliza os times */
    gap: 30px; /* Espaço entre os times */
    margin-top: 100px; /* Ajusta a margem superior */
  }

  .team {
    width: 280px; /* Uma largura fixa para os cards ficarem bem lado a lado */
    max-width: 45%; /* Garante que não ultrapassem muito */
    padding: 20px;
  }

  .sets,
  .points {
    font-size: 3rem; /* Volta o tamanho maior da fonte */
  }

  .team button {
    font-size: 1rem; /* Volta o tamanho maior da fonte dos botões */
    padding: 12px 15px;
  }

  .reset-button {
    width: auto; /* O botão de reset volta a ter largura automática */
    max-width: 200px; /* Limita a largura em modo paisagem */
  }
}

body.no-scroll-x {
  overflow-x: hidden;
}

/* -------------------------------LOJA--------------------------------------------------------------------------- */
/* Container geral */
.container {
  text-align: center;
  padding: 20px;
}

.container h1 {
  color: #fff;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.7);
}

.container p {
  background: rgba(255, 255, 255, 0.85);
  display: inline-block;
  padding: 10px 20px;
  border-radius: 10px;
  margin-bottom: 30px;
}

/* Grid de produtos */
.store-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
}

/* Card da loja */
.store-card {
  background: rgba(255, 255, 255, 0.85);
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  text-align: center;
  transition: transform 0.2s ease-in-out;
}

.store-card:hover {
  transform: translateY(-5px);
}

.store-card h2 {
  color: #2980b9;
}

.navbar-left a {
  color: inherit; /* Usa a mesma cor do texto da navbar */
  text-decoration: none; /* Remove o sublinhado */
  font-size: inherit; /* Herdar tamanho da fonte da navbar */
  font-weight: inherit; /* Herdar peso da fonte */
}

.navbar-left a:hover {
  color: #4cafef; /* Cor ao passar o mouse, igual aos outros */
}

/*
 * Adicione este código para estilizar o layout da loja em ambas as versões (PC e celular).
 */
.container {
  padding: 20px;
  text-align: center;
  margin-top: 80px; /* Para não ficar embaixo da navbar */
}

.store-grid {
  display: flex;
  flex-wrap: wrap; /* Permite que os cards quebrem a linha */
  justify-content: center;
  gap: 20px;
  padding: 20px;
}

.store-card {
  background: rgba(255, 255, 255, 0.9);
  padding: 25px;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease-in-out;
  flex: 1 1 300px; /* Permite que o card se ajuste automaticamente e tenha um tamanho base de 300px */
  max-width: 400px;
}

.store-card:hover {
  transform: translateY(-4px);
}

/* --------------------------------------------------------------------Placar------------------------------------ */
.scoreboard {
  display: flex;
  justify-content: center;
  gap: 30px;
  /* Altere esta linha para um valor maior */
  margin-top: 120px; /* Dê mais espaço abaixo da navbar */
}

.team {
  flex: 1;
  text-align: center;
  padding: 20px;
  position: relative;
  border-radius: 20px;
  width: 300px; /* Largura base para o card */
  max-width: 45%; /* Garante que não ocupe mais que 45% do espaço no PC */
  flex-grow: 1; /* Permite que o card cresça para preencher o espaço disponível */
}

.team.blue {
  background: linear-gradient(135deg, #007bff, #004085);
}

.team.red {
  background: linear-gradient(135deg, #dc3545, #6a000f);
}

.points {
  font-size: 8rem;
  font-weight: bold;
}

.sets {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 2rem;
  font-weight: bold;
  opacity: 0.9;
}

button {
  margin: 5px;
  padding: 10px 15px;
  font-size: 1rem;
  font-weight: bold;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}

.blue button {
  background: #ffffffaa;
  color: #004085;
}

.red button {
  background: #ffffffaa;
  color: #6a000f;
}

button:hover {
  opacity: 0.8;
}

.team .button-group {
  display: flex;
  flex-wrap: wrap; /* Permite que os botões quebrem a linha */
  justify-content: center;
  gap: 10px; /* Espaço entre os botões */
  width: 100%; /* Ocupa a largura total do card */
}

/* Garante que os botões sejam menores e se ajustem */
.team button {
  padding: 10px 15px; /* Reduz o padding */
  font-size: 0.9rem; /* Reduz o tamanho da fonte */
  flex-grow: 1; /* Permite que eles cresçam para preencher o espaço */
  max-width: 150px; /* Limite máximo para o botão */
}

.reset-button {
  padding: 12px 24px;
  border: none;
  border-radius: 12px;
  background-color: #95a5a6; /* Cor cinza, para indicar que é uma ação de "reset" */
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  transition: all 0.25s ease-in-out;
  margin-top: 20px; /* Para dar um espaço do placar */
}

.reset-button:hover {
  background-color: #7f8c8d;
  transform: scale(1.05);
}
