          .countdown-container {
              text-align: center;
              color: white;
              padding: 20px;
              border-radius: 15px;
              margin-top: 20px;
          }
          .countdown-title {
              font-size: 2rem;
              margin-bottom: 10px;
           }
          .countdown-timer {
              font-size: 1.5rem;
              font-weight: bold;
          }

          @media (max-width: 576px) {
              .countdown-title {
                  font-size: 1.5rem !important;
              }
              .countdown-timer {
                  font-size: 1.25rem !important;
                  padding: 0.5rem 1rem !important;
              }
          }
        table {
            border-collapse: collapse;
            width: 90%;
            margin: 20px auto;
        }
        th, td {
            border: 1px solid #888;
            padding: 8px;
            text-align: left;
        }
        th {
            background-color: #333;
            color: #fff;
        }
        tr:nth-child(even) {
            background-color: #f2f2f2;
        }
        body {
            font-family: Arial, sans-serif;
            background: #f9f9f9;
        }
        h1 {
            text-align: center;
            margin-top: 30px;
        }
        /* Container do login/logout */
        .auth-container {
          max-width: 320px;
          margin: 20px auto;
          padding: 20px 25px;
          background-color: #f7f9fc;
          border-radius: 8px;
          box-shadow: 0 2px 8px rgb(0 0 0 / 0.1);
          font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        /* Texto de boas-vindas */
        .auth-container p {
          font-size: 1.1rem;
          color: #333;
          margin-bottom: 15px;
        }

        /* Formulário */
        .auth-container form {
          display: flex;
          flex-direction: column;
        }

        /* Labels */
        .auth-container label {
          margin-bottom: 5px;
          font-weight: 600;
          color: #555;
        }

        /* Inputs */
        .auth-container input[type="text"],
        .auth-container input[type="password"] {
          padding: 8px 12px;
          font-size: 1rem;
          border: 1.5px solid #ccc;
          border-radius: 4px;
          margin-bottom: 15px;
          transition: border-color 0.3s ease;
        }

        .auth-container input[type="text"]:focus,
        .auth-container input[type="password"]:focus {
          border-color: #007bff;
          outline: none;
        }

        /* Botões */
        .auth-container button {
          padding: 10px;
          font-size: 1rem;
          background-color: #540000;
          color: white;
          border: none;
          border-radius: 5px;
          cursor: pointer;
          font-weight: 600;
          transition: background-color 0.3s ease;
        }

        .auth-container button:hover {
          background-color: #ac0000;
        }

        .banbtn {
          background-color: #540000;
          color: white;
          border: none;
          border-radius: 5px;
          cursor: pointer;
          transition: background-color 0.3s ease;
        }

        .banbtn:hover {
          background-color: #ac0000;
        }

        .on {
          background:url("../images/state.png") no-repeat top left;
          height:30px;
          color:green;
          text-shadow:0 1px 1px #000;
          line-height:35px;
          text-align:left;
          text-indent:40px;
        }

        .off {
          background:url("../images/state.png") no-repeat bottom left;
          height:30px;
          color: #540000;
          text-shadow:0 1px 1px #000;
          line-height:35px;
          text-align:left;
          text-indent:40px;

        }

        .blue {
          background:url("../images/state2.png") no-repeat top left;
          height:30px;
          color:white;
          text-shadow:0 1px 1px #000;
          line-height:35px;
          text-align:left;
          text-indent:40px;

        }

        .yellow {
          background:url("../images/state2.png") no-repeat bottom left;
          height:30px;
          color:white;
          text-shadow:0 1px 1px #000;
          line-height:35px;
          text-align:left;
          text-indent:40px;
        }

        .barra {
          background:url("../images/sub.png") no-repeat bottom left;
          height:15px;
        }

        .sistema {
          width: 100%;        /* ocupa toda a largura disponível */
          margin: 0 auto;     /* centraliza se necessário */
          padding-bottom: 0;
        }
        
        .sistema div,
        .on, .off, .blue, .yellow {
          white-space: normal;      /* permite quebra de linha automática */
          word-wrap: break-word;    /* quebra palavras longas */
          max-width: 100%;          /* impede que ultrapassem a largura do container */
        }

        .sistema2 {
          padding-bottom: 0;    /* mantém sem padding inferior */
        }

        .registocss {
  width: 100%;
  max-width: 600px;
  margin: 0 auto 2rem auto;
  font-family: "Segoe UI", "Roboto", Arial, sans-serif;
  box-shadow: 0 0 15px rgba(0,0,0,0.1);
  background-color: #1c1c1c;
  border-radius: 10px;
  padding: 25px 30px;
  box-sizing: border-box;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 18px;
  align-items: center;
}

.form-row label {
  flex: 0 0 180px;
  max-width: 180px;
  font-weight: 600;
  font-size: 15px;
  color: #fff8dc;
  padding-right: 15px;
  box-sizing: border-box;
}

.form-row input.bar,
.form-row select.optionregcss {
  flex: 1 1 auto;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
  background-color: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
  box-sizing: border-box;
}

.form-row input.bar:focus,
.form-row select.optionregcss:focus {
  border-color: #007BFF;
  box-shadow: 0 0 5px rgba(0,123,255,0.4);
  outline: none;
}

/* Placeholder style for hints inside inputs */
.form-row input.bar::placeholder {
  color: black;
  font-size: 13px;
}

.checkbox-row {
  display: flex;
  align-items: center;
  justify-content: center;  /* CENTRALIZA HORIZONTALMENTE */
}

.checkbox-row input[type="checkbox"] {
  appearance: none;          /* Remove estilo padrão */
  -webkit-appearance: none;  /* Safari/Chrome */
  -moz-appearance: none;     /* Firefox */
  width: 18px;
  height: 18px;
  background-color: #fff;
  border: 2px solid #540000;
  border-radius: 4px;        /* opcional: cantos arredondados */
  margin-right: 10px;
  cursor: pointer;
  position: relative;
  flex: 0 0 auto;
}

.checkbox-row input[type="checkbox"]:checked {
  background-color: #540000;
  border-color: #540000;
}

.checkbox-row input[type="checkbox"]:checked::after {
  content: "✔";
  color: #fff;
  font-size: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
}

.checkbox-label {
  font-size: 14px;
  color: #333;
}

.checkbox-label a {
  color: #007BFF;
  text-decoration: none;
  font-weight: 500;
}

.checkbox-label a:hover {
  text-decoration: underline;
}

.buttons-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 10px;
}

.buttons-row input.btnreg {
  flex: 1;
  max-width: 140px;
  padding: 10px 24px;
  background: linear-gradient(135deg, #540000, #330000);
    color: #fff8dc;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
  font-size: 15px;;
}

.buttons-row input.btnreg:hover {
  background: linear-gradient(135deg, #330000, #540000);
    transform: scale(1.05);
    box-shadow: 0 0 10px #7a0000;
}

/* Responsivo */
@media (max-width: 600px) {
  .form-row {
    flex-direction: column;
    align-items: stretch;
  }

  .form-row label {
    flex: none;
    max-width: 100%;
    margin-bottom: 6px;
    text-align: left;
  }

  .form-row input.bar,
  .form-row select.optionregcss {
    width: 100%;
  }

  .checkbox-row {
    flex-direction: row;
  }

  .buttons-row {
    flex-direction: column;
  }

  .buttons-row input.btnreg {
    max-width: 100%;
  }
}



        .usercss {
  width: 100%;
  max-width: 500px;
  margin: 0 auto 2rem auto;
  border-collapse: collapse;
  font-family: 'Segoe UI', Roboto, Arial, sans-serif;
  background-color: #1c1c1c;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}

/* Cabeçalhos */
.usercss th {
  background: linear-gradient(135deg, #540000, #330000);
  color: #fff8dc;
  font-weight: 700;
  font-size: 15px;
  padding: 14px 16px;
  text-align: left;
  border: none;
  text-shadow: 1px 1px 2px #000;
  user-select: none;
}

/* Células */
.usercss td {
  padding: 14px 16px;
  font-size: 14px;
  color: #fff8dc;
  background-color: #2a2a2a;
  border: none;
}

/* Alternar cor das linhas */
.usercss tr:nth-child(even) td {
  background-color: #333333;
}


/* Links */
.usercss a {
  color: #ff6b6b;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.usercss a:hover {
  color: #ff9999;
  text-decoration: underline;
}

/* Cantos arredondados */
.usercss tr:first-child th:first-child {
  border-top-left-radius: 16px;
}
.usercss tr:first-child th:last-child {
  border-top-right-radius: 16px;
}
.usercss tr:last-child td:first-child {
  border-bottom-left-radius: 16px;
}
.usercss tr:last-child td:last-child {
  border-bottom-right-radius: 16px;
}

/* Responsivo */
@media (max-width: 576px) {
  .usercss,
  .usercss thead,
  .usercss tbody,
  .usercss th,
  .usercss td,
  .usercss tr {
    display: block;
    width: 100%;
  }

  .usercss thead {
    display: none;
  }

  .usercss tr {
    margin-bottom: 1rem;
    background: #1c1c1c;
    box-shadow: 0 2px 8px rgba(0,0,0,0.4);
    border-radius: 12px;
    overflow: hidden;
  }

  .usercss td {
    padding: 12px 16px;
    position: relative;
    text-align: left;
    border: none;
    background: transparent !important;
    color: #fff8dc;
  }

  .usercss td::before {
    content: attr(data-label);
    position: absolute;
    left: 16px;
    top: 12px;
    font-weight: 700;
    font-size: 13px;
    color: #ff6b6b;
  }

  .usercss td {
    padding-left: 50%;
  }
}



        .anticheatcss {
          width: 100%;
          max-width: 1000px;
          margin: 0 auto 2rem auto;
          border-collapse: collapse;
          font-family: Arial, sans-serif;
          box-shadow: 0 0 12px rgba(0,0,0,0.15);
          background-color: #fff;
          border-radius: 8px;
          overflow: hidden;
        }

        .anticheatcss th,
        .anticheatcss td {
          padding: 12px 15px;
          text-align: center;
        }

        .anticheatcss th {
          background-color: #343a40;
          color: #fff;
          font-weight: bold;
        }

        .anticheatcss td {
          background-color: #f9f9f9;
          color: #333;
        }

        .anticheatcss tr:nth-child(even) td {
          background-color: #f1f1f1;
        }

        .anticheatcss .banbtn {
          padding: 6px 12px;
          background-color: #8B0000;
          color: #fff;
          border: none;
          border-radius: 4px;
          cursor: pointer;
          font-size: 13px;
          transition: background-color 0.3s;
        }

        .anticheatcss .banbtn:hover {
          background-color: #ff0000;
        }

        /* Responsivo */
        @media (max-width: 700px) {
          .anticheatcss,
          .anticheatcss th,
          .anticheatcss td {
            display: block;
            width: 100%;
          }

          .anticheatcss th,
          .anticheatcss td {
            text-align: left;
            box-sizing: border-box;
          }

          .anticheatcss th {
            text-align: center;
          }
        }

/* Container geral */
.rankings-container {
    width: 100%;
    max-width: 900px;
    margin: 2rem auto;
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
    background-color: #1c1c1c;
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    text-align: center;
}

/* Tabela de rankings */
.rankings {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px; /* espaçamento entre linhas */
    text-align: center;
    border: none; /* remove todas as bordas da tabela */
    border-radius: 16px; /* arredonda apenas a tabela externa */
    overflow: hidden; /* aplica arredondamento corretamente */
}

/* Cabeçalho */
.rankings th {
    background: linear-gradient(135deg, #540000, #330000);
    color: #fff8dc;
    font-weight: 700;
    text-align: center;
    padding: 14px 16px;
    font-size: 15px;
    border: none;
    text-shadow: 1px 1px 2px #000;
}

/* Células */
.rankings td {
    background-color: #2a2a2a;
    color: #fff8dc;
    padding: 14px 16px;
    font-size: 14px;
    vertical-align: middle;
    text-align: center;
    border: none; /* remove linhas internas */
}

/* Linhas alternadas */
.thell {
    background-color: #333333;
}

.tdunkel {
    background-color: #2a2a2a;
}

/* Linha destacada (pesquisa ou teu personagem) */
.tmarkiert {
    background-color: #540000;
    color: #fff8dc;
    font-weight: bold;
    box-shadow: inset 0 0 10px #7a0000;
    transition: transform 0.2s ease;
}

.tmarkiert:hover {
    transform: scale(1.02);
}

/* Imagens de ranking */
.rankings img {
    max-height: 32px;
    vertical-align: middle;
    display: block;
    margin: 0 auto;
}

/* Formulário de pesquisa */
.rankings form {
    margin-bottom: 1.5rem;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.rankings .bar {
    padding: 6px 10px;
    border: 1px solid #540000;
    font-size: 14px;
    background-color: #1c1c1c;
    color: #fff8dc;
    width: 100%;
    max-width: 200px;
    text-align: center;
    border-radius: 8px;
}

.rankings .btn {
    padding: 6px 12px;
    background: linear-gradient(135deg, #540000, #330000);
    color: #fff8dc;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
    transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
    text-align: center;
}

.rankings .btn:hover {
    background: linear-gradient(135deg, #330000, #540000);
    transform: scale(1.05);
    box-shadow: 0 0 10px #7a0000;
}

/* Paginação */
.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 20px 0;
    flex-wrap: wrap;
}

.page-link {
    display: inline-block;
    padding: 8px 14px;
    background-color: #2a2a2a;
    border: none; /* sem bordas */
    font-weight: 600;
    color: #fff8dc;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
    cursor: pointer;
    min-width: 36px;
    text-align: center;
    user-select: none;
}

.page-link:hover:not(.disabled):not(.current) {
    background-color: #540000;
    color: #fff8dc;
    transform: scale(1.05);
    box-shadow: 0 0 8px #7a0000;
}

.page-link.current {
    background-color: #540000;
    color: #fff8dc;
    cursor: default;
    box-shadow: 0 0 10px #7a0000;
}

.page-link.disabled {
    background-color: #333;
    color: #777;
    cursor: default;
    pointer-events: none;
}

/* Mensagem de alerta */
.meldung {
    text-align: center;
    color: #fff;
    font-weight: 700;
    margin: 10px 0;
}

/* Responsividade */
@media (max-width: 768px) {
    .rankings-container {
        padding: 10px;
    }
    .rankings th, .rankings td {
        padding: 8px 6px;
        font-size: 12px;
    }
    .rankings .bar {
        max-width: 120px;
        font-size: 12px;
        padding: 4px 6px;
    }
    .page-link {
        padding: 4px 8px;
        font-size: 12px;
    }
    /* Adaptação para não quebrar a tabela, mantendo scroll horizontal */
    .rankings {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
    .rankings th, .rankings td {
        white-space: nowrap;
    }
}


          .verhistory {
            display: inline-block;        /* para definir largura/altura */
            width: 30px;                  /* largura da imagem desejada */
            height: 30px;                 /* altura da imagem */
            text-indent: -9999px;         /* esconde o texto */
            overflow: hidden;             /* corta o texto fora */
            white-space: nowrap;          /* impede quebra */
            background-image: url('../images/icon-history.png');  /* caminho da imagem */
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;     /* ajusta a imagem dentro do espaço */
            cursor: pointer;              /* muda cursor para mãozinha */
            vertical-align: middle;       /* alinha verticalmente */
          }

          .verhistory:hover {
            background-image: url('../images/icon-history-hover.png'); /* imagem para hover */
          }

          /* Dropdown básico */
          .navbar-nav .dropdown-menu {
            background-color: #540000; /* cor de fundo do submenu */
            border-radius: 6px;
            padding: 0.5rem 0;
            box-shadow: 0 8px 15px rgba(0, 0, 0, 0.25);
            min-width: 200px;
            transition: opacity 0.3s ease, transform 0.3s ease;
            opacity: 0;
            transform: translateY(10px);
            pointer-events: none;
            position: absolute;
            z-index: 1000;
          }

          /* Mostrar o dropdown no hover do pai */
          .nav-item.dropdown:hover > .dropdown-menu,
          .nav-item.dropdown:focus-within > .dropdown-menu {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
          }

          /* Itens do submenu */
          .navbar-nav .dropdown-menu .dropdown-item {
            color: #fff;
            padding: 10px 20px;
            font-weight: 600;
            transition: background-color 0.3s ease, color 0.3s ease;
            cursor: pointer;
          }

          /* Hover no item do submenu */
          .navbar-nav .dropdown-menu .dropdown-item:hover,
          .navbar-nav .dropdown-menu .dropdown-item:focus {
            background-color: #ff0000; /* vermelho forte ao passar */
            color: #fff;
            text-decoration: none;
            outline: none;
          }

          /* Remover underline dos links padrão */
          .navbar-nav .nav-link {
            transition: color 0.3s ease;
          }

          /* Hover no link principal */
          .navbar-nav .nav-link:hover,
          .navbar-nav .nav-link:focus {
            color: #ff0000; /* vermelho para destaque */
          }

          /* Pequena seta ao lado do dropdown-toggle */
          .navbar-nav .dropdown-toggle::after {
            border-top: 0.3em solid #fff; /* seta branca */
            border-right: 0.3em solid transparent;
            border-left: 0.3em solid transparent;
            content: "";
            display: inline-block;
            margin-left: 0.4em;
            vertical-align: middle;
            transition: transform 0.3s ease;
          }

          /* Gira a seta quando aberto */
          .nav-item.dropdown.show > .nav-link.dropdown-toggle::after {
            transform: rotate(180deg);
          }

          .charcss {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 2rem auto;
  border-collapse: collapse;
  font-family: 'Segoe UI', Roboto, Arial, sans-serif;
  background-color: #1c1c1c;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}

/* Cabeçalhos */
.charcss th {
  background: linear-gradient(135deg, #540000, #330000);
  color: #fff8dc;
  font-weight: 700;
  font-size: 15px;
  padding: 14px 16px;
  text-align: left;
  border: none;
  text-shadow: 1px 1px 2px #000;
  user-select: none;
}

/* Células */
.charcss td {
  padding: 14px 16px;
  font-size: 14px;
  color: #fff8dc;
  background-color: #2a2a2a;
  border: none;
  vertical-align: middle;
}

/* Alternar cor das linhas */
.charcss tr:nth-child(even) td {
  background-color: #333333;
}


/* Links */
.charcss a {
  color: #ff6b6b;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.charcss a:hover {
  color: #ff9999;
  text-decoration: underline;
}

/* Select box (lista de amigos) */
.charcss select {
  background-color: #1c1c1c;
  color: #fff8dc;
  border: 1px solid #540000;
  border-radius: 8px;
  padding: 6px;
  font-size: 13px;
  width: 100%;
}

.charcss select option {
  background-color: #2a2a2a;
  color: #fff8dc;
}

/* Cantos arredondados */
.charcss tr:first-child th:first-child {
  border-top-left-radius: 16px;
}
.charcss tr:first-child th:last-child {
  border-top-right-radius: 16px;
}
.charcss tr:last-child td:first-child {
  border-bottom-left-radius: 16px;
}
.charcss tr:last-child td:last-child {
  border-bottom-right-radius: 16px;
}

/* Responsivo */
@media (max-width: 768px) {
  .charcss {
    display: block;
    overflow-x: auto;   /* scroll horizontal se não couber */
    -webkit-overflow-scrolling: touch;
  }

  .charcss table {
    width: 100%;
    border-collapse: collapse;
  }

  .charcss th,
  .charcss td {
    white-space: nowrap; /* mantém cada célula na mesma linha */
    text-align: center;
    font-size: 13px;
    padding: 8px;
  }
}


          .class,
          .altpass,
          .altsafe {
            width: 100%;
            max-width: 600px;
            margin: 0 auto 2rem auto;
            border-collapse: collapse;
            font-family: Arial, sans-serif;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            background-color: #fff;
            border-radius: 8px;
            overflow: hidden;
          }

          .class th, .altpass th, .altsafe th,
          .class td, .altpass td, .altsafe td {
            padding: 12px 15px;
            text-align: left;
          }

          .class th, .altpass th, .altsafe th {
            background-color: #212529;
            color: #fff;
            font-weight: bold;
          }

          .class td, .altpass td, .altsafe td {
            background-color: #f7f9fb;
            color: #333;
          }

          .class tr:nth-child(even) td,
          .altpass tr:nth-child(even) td,
          .altsafe tr:nth-child(even) td {
            background-color: #e9eff5;
          }

          .class input.bar,
          .altpass input.bar,
          .altsafe input.bar {
            width: 100%;
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
            transition: border-color 0.3s, box-shadow 0.3s;
          }

          .class input.bar:focus,
          .altpass input.bar:focus,
          .altsafe input.bar:focus {
            border-color: #007BFF;
            box-shadow: 0 0 4px rgba(0,123,255,0.5);
            outline: none;
          }

          .class input.btnreg,
          .altpass input.btnreg,
          .altsafe input.btnreg {
            padding: 10px 20px;
            background: linear-gradient(135deg, #540000, #330000);
            color: #fff8dc;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
            font-size: 15px;
            margin: 5px;
          }

          .class input.btnreg:hover,
          .altpass input.btnreg:hover,
          .altsafe input.btnreg:hover {
            background: linear-gradient(135deg, #330000, #540000);
            transform: scale(1.05);
            color: #fff8dc;
            box-shadow: 0 0 10px #7a0000; 
          }

          /* Responsivo */
          @media (max-width: 600px) {
            .class,
            .altpass,
            .altsafe,
            .class th, .altpass th, .altsafe th,
            .class td, .altpass td, .altsafe td {
              display: block;
              width: 100%;
            }

            .class th, .altpass th, .altsafe th,
            .class td, .altpass td, .altsafe td {
              box-sizing: border-box;
            }

            .class th, .altpass th, .altsafe th {
              text-align: center;
            }
          }

          .menue {
            list-style: none;          /* Remove marcadores de lista */
            padding: 0;
            margin: 20px auto;            /* Centraliza o menu horizontalmente */
            background-color: #212529; /* Fundo escuro */
            display: flex;             /* Menu horizontal */
            justify-content: center;   /* Centra os itens horizontalmente */
            border-radius: 5px;
            overflow: hidden;
            font-family: Arial, sans-serif;
          }

          .menue li {
            margin: 0 10px;            /* Espaçamento horizontal entre os itens */
          }

          .menue li a {
            display: block;
            padding: 12px 20px;
            color: #fff;
            text-decoration: none;
            transition: background-color 0.3s ease;
          }

          .menue li a:hover,
          .menue li a:focus {
            background-color: #540000; /* Fundo vermelho escuro ao passar o rato */
            color: #fff;
            outline: none;
          }

          /* Menu vertical para telas pequenas */
          @media (max-width: 600px) {
            .menue {
              flex-direction: column;
              align-items: center;      /* Centra os itens na vertical */
            }
            .menue li {
              margin: 5px 0;            /* Espaçamento vertical nos itens */
            }
            .menue li a {
              border-bottom: 1px solid #333;
            }
            .menue li:last-child a {
              border-bottom: none;
            }
          }

          .usermenu {
            list-style: none;          /* Remove marcadores de lista */
            padding: 0;
            margin: 20px auto;            /* Centraliza horizontalmente o menu */
            background-color: #212529; /* Fundo escuro */
            display: flex;             /* Menu horizontal */
            justify-content: center;   /* Centra os itens horizontalmente */
            border-radius: 5px;
            overflow: hidden;
            font-family: Arial, sans-serif;
            max-width: 900px;          /* Opcional: limita a largura para melhor visual */
          }

          .usermenu li {
            margin: 0 10px;            /* Espaçamento horizontal entre os itens */
          }

          .usermenu li a {
            display: block;
            padding: 12px 20px;
            color: #fff;
            text-decoration: none;
            transition: background-color 0.3s ease;
          }

          .usermenu li a:hover,
          .usermenu li a:focus {
            background-color: #540000; /* Fundo vermelho escuro ao passar o rato */
            color: #fff;
            outline: none;
          }

          /* Menu vertical para telas pequenas */
          @media (max-width: 600px) {
            .usermenu {
              flex-direction: column;
              align-items: center;      /* Centrar verticalmente na coluna */
            }
            .usermenu li {
              margin: 5px 0;            /* Espaçamento vertical na versão mobile */
            }
            .usermenu li a {
              border-bottom: 1px solid #333;
            }
            .usermenu li:last-child a {
              border-bottom: none;
            }
          }

          .newsblock {
            background-color: #212529;        /* Fundo escuro */
            border: 1px solid #343a40;        /* Borda um pouco mais clara que o fundo */
            border-radius: 6px;
            padding: 15px 20px;
            margin-bottom: 20px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.5); /* Sombra mais escura */
            color: #e9ecef;                   /* Texto claro */
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
            font-family: Arial, sans-serif;
          }

          .newsblock .conteudo p {
            margin-top: 0;
            margin-bottom: 0px;
            color: #f8f9fa;
          }

          .newsblock h3 {
            font-size: 1.3em;
            color: #f8f9fa;                   /* Título branco quase puro */
            margin-top: 0;
            margin-bottom: 10px;
          }

          .newsblock h3 b {
            font-weight: 700;
          }

          .newsblock p {
            font-size: 1em;
            line-height: 1.5em;
            color: #ced4da;                   /* Texto do parágrafo mais claro */
            margin-bottom: 15px;
          }

          .newsblock p.footer {
            font-size: 0.9em;
            color: #adb5bd;                   /* Texto secundário cinza claro */
            border-top: 1px solid #343a40;
            padding-top: 8px;
            margin-top: 10px;
            font-style: italic;
          }

          .newsblock a {
            color: #66b2ff;                   /* Azul claro para links */
            text-decoration: none;
          }

          .newsblock a:hover {
            text-decoration: underline;
          }

          @media (max-width: 576px) {
            .newsblock {
              padding: 10px 15px;
            }
          }

          @media (max-width: 360px) {
            .newsblock h3 {
              font-size: 1.1em;
            }
            .newsblock p {
              font-size: 0.9em;
            }
          }

          .termosco {
            padding: 1.5rem;                        /* espaçamento interno confortável */
            font-size: 0.95rem;                     /* ligeiramente menor que o padrão */
            line-height: 1.6;                       /* boa leitura */
            color: #fff;                         /* texto escuro padrão Bootstrap */
            box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075); /* leve sombra como nos cards */
            max-width: 800px;
            margin: 0 auto;
            background-color: #1c1c1c;
            border-radius: 10px;
            text-align: center;
          }

          .termosco p {
            margin-bottom: 1rem;                    /* espaçamento entre parágrafos */
          }

          .logibtn {
            background-color: #540000 !important;
            color: #fff !important;
            border: none !important;
            border-radius: 0.5rem !important; /* Bootstrap rounded */
            padding: 0.5rem 1.25rem !important; /* padding similar ao btn-primary */
            font-weight: 500;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
            transition: all 0.3s ease;
            margin-left: 5px;
        }

        .logibtn:hover, .logibtn:focus {
            background-color: #ac0000 !important;
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.35);
            transform: translateY(-2px);
            outline: none;
        }

        .logibtn:active {
            background-color: #8a0000 !important;
            transform: translateY(0);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
        }

        /* Container geral do formulário */
        .swal2-html-container form {
            width: 100%;
            max-width: 100%;
        }

        /* Labels */
        .swal2-html-container label.form-label {
            font-weight: 600;
            color: #333;
            margin-bottom: 0.3rem;
            display: block;
        }

        /* Inputs */
        .swal2-html-container input.form-control {
            width: 100%;
            padding: 0.45rem 0.75rem;
            font-size: 1rem;
            border: 1.5px solid #ced4da;
            border-radius: 0.375rem;
            transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
        }

        .swal2-html-container input.form-control:focus {
            border-color: #540000;
            box-shadow: 0 0 0 0.2rem rgba(84, 0, 0, 0.25);
            outline: none;
        }

        /* Botão de submit */
        .swal2-html-container button.btn-primary {
            background-color: #540000;
            border-color: #540000;
            font-weight: 600;
            padding: 0.5rem 0;
            font-size: 1.05rem;
            border-radius: 0.375rem;
            transition: background-color 0.3s ease, box-shadow 0.3s ease;
            width: 100%;
        }

        .swal2-html-container button.btn-primary:hover,
        .swal2-html-container button.btn-primary:focus {
            background-color: #ac0000;
            border-color: #ac0000;
            box-shadow: 0 0 10px rgba(172, 0, 0, 0.7);
            outline: none;
        }

        /* Link para recuperação */
        .swal2-html-container div.mt-2 {
            margin-top: 0.75rem;
        }

        .swal2-html-container div.mt-2 a {
            color: #540000;
            font-style: italic;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .swal2-html-container div.mt-2 a:hover {
            color: #ac0000;
            text-decoration: underline;
        }

        /* Lista do menu user dentro do SweetAlert */
        .swal2-html-container ul.menusweet {
            list-style: none;
            padding: 0;
            margin: 1rem 0;
            border-top: 1px solid #ddd;
            border-bottom: 1px solid #ddd;
        }

        .swal2-html-container ul.menusweet li {
            margin: 0;
            padding: 0;
            border-bottom: 1px solid #eee;
        }

        .swal2-html-container ul.menusweet li:last-child {
            border-bottom: none;
        }

        .swal2-html-container ul.menusweet li a {
          color: #333; /* cor neutra escura */
          text-decoration: none;
          font-weight: 600;
          padding: 0.6rem 1rem;
          display: block;
          transition: background-color 0.3s ease, color 0.3s ease;
          border-radius: 0.25rem;
      }

        .swal2-html-container ul.menusweet li a:hover,
        .swal2-html-container ul.menusweet li a:focus {
            background-color: #ac0000;
            color: white;
            outline: none;
        }

        .download-container {
            max-width: 800px;
            margin: 0 auto;
            padding: 40px;
            background-color: #1c1c1c;
            border-radius: 10px;
            box-shadow: 0 0 15px rgba(0,0,0,0.4);
            text-align: center;
            color: #fff;
        }

        .download-btn {
            display: block;
            width: fit-content; /* para o botão ficar do tamanho do texto */
            margin: 0 auto 10px auto; /* centraliza e dá espaçamento vertical */
            padding: 15px 30px;
            background: linear-gradient(135deg, #540000, #330000);
            color: #fff8dc;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
            text-decoration: none;
        }

        .download-btn:hover {
            background: linear-gradient(135deg, #330000, #540000);
            color: #fff8dc;
            transform: scale(1.05);
            box-shadow: 0 0 10px #7a0000;
        }

        .info {
            margin-top: 30px;
            text-align: center; /* mantém o container centrado */
            font-size: 15px;
            line-height: 1.6;
        }

        .info h3 {
            text-align: left; /* títulos alinhados à esquerda */
            margin-bottom: 10px;
            margin-left: 38px; /* ou usa margin-left, conforme preferires */
        }

        .info ul {
            display: inline-block; /* mantém a lista como bloco inline */
            text-align: left;       /* bullets alinhados à esquerda */
            list-style-position: inside;
            padding-left: 0;
            margin: 0;
        }

        .info li {
            margin-bottom: 5px;
        }

        .volbtn {
          text-align: center;
          margin-top: 20px;
        }

        .volbtn a {
          display: inline-block;
          padding: 10px 20px;
          background: linear-gradient(135deg, #540000, #330000);
          color: #fff8dc;
          border: none;
          border-radius: 8px;
          cursor: pointer;
          transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
          text-decoration: none;
        }

        .volbtn a:hover {
          background: linear-gradient(135deg, #330000, #540000);
          color: #fff8dc;
          transform: scale(1.05);
          box-shadow: 0 0 10px #7a0000;
        }

        .newstab {
          width: 100%;
          max-width: 1200px;
          margin: 0 auto 2rem auto;
          border-collapse: collapse;
          font-family: Arial, sans-serif;
          box-shadow: 0 0 10px rgba(0,0,0,0.1);
          background-color: #fff;
          border-radius: 8px;
          overflow: hidden;
        }

        .newstab th,
        .newstab td {
          padding: 12px 15px;
          text-align: left;
          vertical-align: top;
        }

        .newstab th.topLine {
          background-color: #212529;
          color: #fff;
          font-weight: bold;
          width: 20%;
        }

        .newstab td.thell {
          background-color: #f7f9fb;
          color: #333;
        }

        .newstab td.tdunkel {
          background-color: #e9eff5;
          color: #333;
        }

        .newstab tr:nth-child(even) td.thell {
          background-color: #e9eff5;
        }

        .newstab tr:nth-child(odd) td.tdunkel {
          background-color: #f7f9fb;
        }

        /* Inputs estilo barra */
        .newstab input.bar,
        .newstab textarea {
          padding: 8px;
          border: 1px solid #ccc;
          border-radius: 4px;
          font-size: 14px;
          transition: border-color 0.3s, box-shadow 0.3s;
          box-sizing: border-box;
        }

        .newstab input.bar:focus,
        .newstab textarea:focus {
          border-color: #007BFF;
          box-shadow: 0 0 4px rgba(0,123,255,0.5);
          outline: none;
        }

        /* Checkbox */
        .newstab input[type="checkbox"] {
          margin-right: 6px;
          transform: scale(1.2);
          vertical-align: middle;
        }

        /* Botão de submit */
        .newstab input.btn {
          padding: 10px 20px;
          background-color: #540000;
          color: #fff;
          border: none;
          border-radius: 5px;
          cursor: pointer;
          font-size: 15px;
          margin: 5px auto;
          transition: background-color 0.3s;
          display: block;
        }

        .newstab input.btn:hover {
          background-color: red;
        }

        /* Links dentro da tabela de notícias */
        .newstab a {
          color: #007BFF;
          text-decoration: none;
        }

        .newstab a:hover {
          text-decoration: underline;
        }

        /* Responsivo */
        @media (max-width: 600px) {
          .newstab,
          .newstab th,
          .newstab td {
            display: block;
            width: 100%;
          }

          .newstab th.topLine {
            text-align: center;
          }
        }

        .listnews {
          width: 100%;
          max-width: 1200px;
          margin: 0 auto 2rem auto;
          border-collapse: collapse;
          font-family: Arial, sans-serif;
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          background-color: #fff;
          border-radius: 8px;
          overflow: hidden;
        }

        .listnews th,
        .listnews td {
          padding: 12px 15px;
          text-align: left;
          vertical-align: middle;
        }

        /* Cabeçalhos */
        .listnews th.topLine {
          background-color: #212529;
          color: #fff;
          font-weight: bold;
        }

        /* Linhas alternadas com classes definidas no PHP */
        .listnews td.thell {
          background-color: #f7f9fb;
          color: #333;
        }

        .listnews td.tdunkel {
          background-color: #e9eff5;
          color: #333;
        }

        /* Efeito hover para toda a linha */
        .listnews tr:hover td {
          background-color: #d6e4f1;
        }

        /* Ícones */
        .listnews img {
          width: 18px;
          height: 18px;
        }

        /* Links */
        .listnews a {
          color: #007BFF;
          text-decoration: none;
        }

        .listnews a:hover {
          text-decoration: underline;
        }

        /* Responsivo */
        @media (max-width: 600px) {
          .listnews,
          .listnews th,
          .listnews td {
            display: block;
            width: 100%;
          }

          .listnews th.topLine {
            text-align: center;
          }

          .listnews td {
            padding: 10px;
          }
        }

        .select-style {
          padding: 8px 10px;
          border: 1px solid #ccc;
          border-radius: 4px;
          background-color: #fff;
          font-size: 14px;
          font-family: Arial, sans-serif;
          transition: border-color 0.3s, box-shadow 0.3s;
        }

        .select-style:focus {
          border-color: #007BFF;
          box-shadow: 0 0 4px rgba(0, 123, 255, 0.4);
          outline: none;
        }

        .welcomelog {
          text-align: center;
          font-size: 18px;
          font-weight: normal;
          color: #fff;
          margin: 20px 0;
        }

        .welcomelog b {
          color: #fff; /* Cor de destaque para o nome */
        }

        .donate-form {
          max-width: 500px;
          background-color: #1c1c1c;
          border: 1px solid #1c1c1c;
          border-radius: 0.75rem;
          padding: 2rem;
          box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.05);
          margin-bottom: 2rem;
          transition: all 0.3s ease;
        }

        /* Título */
        .donate-title {
          font-size: 1.75rem;
          margin-bottom: 1.5rem;
          font-weight: 600;
        }

        /* Labels */
        .donate-label {
          font-weight: 500;
          margin-bottom: 0.5rem;
          display: block;
        }

        /* Selects & Inputs */
        .donate-select,
        .donate-input {
          border-radius: 0.5rem;
          padding: 0.5rem 0.75rem;
          border: 1px solid #ced4da;
          transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        /* Foco nos inputs e selects */
        .form-select.donate-select:focus,
        .donate-input:focus {
          border-color: #dc3545 !important;
          box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5) !important;
          outline: none;
        }

        /* Botão de submissão */
        .donate-submit {
          padding: 6px 12px;
          background: linear-gradient(135deg, #540000, #330000);
          color: #fff8dc;
          border: none;
          border-radius: 8px;
          cursor: pointer;
          transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
          text-align: center;
          flex: 1 1 auto; /* para ficar expansível dentro do container flex */
          min-width: 0;
        }

        .donate-submit:hover:not(:disabled) {
          background: linear-gradient(135deg, #330000, #540000);
          transform: scale(1.05);
          box-shadow: 0 0 10px #7a0000;
        }

        /* Desabilitado para botão */
        .donate-submit:disabled {
          background-color: #ccc;
          cursor: not-allowed;
        }

        /* Opções de pagamento */
        .donate-payment-option {
          display: inline-flex;
          color: #1c1c1c;
          align-items: center;
          border: 2px solid #ced4da;
          border-radius: 0.5rem;
          padding: 0.5rem 1rem;
          margin-right: 1rem;
          cursor: pointer;
          transition: all 0.2s ease-in-out;
          background-color: #f8f9fa;
          user-select: none;
        }

        .donate-payment-option img {
          height: 28px;
          margin-right: 0.5rem;
        }

        .donate-payment-option input {
          display: none;
        }

        .donate-payment-option:hover {
          background-color: #e2fbe5;
          border-color: #28a745;
        }

        /* Classe para opção selecionada */
        .donate-payment-option.selected {
          background-color: #e2fbe5;
          border-color: #28a745;
          box-shadow: 0 0 8px 2px rgba(40, 167, 69, 0.6);
        }

        /* Campos condicionalmente visíveis */
        .donate-payment-fields {
          padding: 1rem;
          border: 1px dashed #ced4da;
          background-color: #1c1c1c;
          border-radius: 0.5rem;
          margin-bottom: 1rem;
        }

        /* Elementos escondidos */
        .donate-hidden {
          display: none;
        }

        /* Animação suave para a transição entre etapas */
        .animate-slide {
          animation: slideIn 0.3s ease forwards;
        }

        @keyframes slideIn {
          from {
            opacity: 0;
            transform: translateX(20px);
          }
          to {
            opacity: 1;
            transform: translateX(0);
          }
        }

        /* Container para os botões da etapa 2 */
        .d-flex.justify-content-between {
          display: flex;
          justify-content: space-between;
          gap: 1rem; /* Espaço entre os botões */
        }

        /* Botão Voltar */
        #back-btn {
          flex: 0 0 auto; /* ocupa o espaço do seu conteúdo */
          min-width: 100px; /* largura mínima para o botão voltar */
        }

        /* Botão Doar */
        .donate-submit {
          flex: 1 1 auto; /* ocupa o resto do espaço disponível */
          min-width: 0; /* para evitar overflow */
        }

        .text-doacao{
          color: #fff;
        }

        /* Estilo da tabela de doações */
        .donations-table-wrapper {
            width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch; /* para smooth scroll no iOS */
        }

        .donations-table {
            border-collapse: collapse;
            width: 100%;
            font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
            font-size: 0.9rem;
        }

        .donations-table th,
        .donations-table td {
            border: 1px solid #dee2e6; /* cor padrão de border do Bootstrap */
            padding: 0.5rem 0.75rem;
            vertical-align: middle;
        }

        .donations-table th {
            background-color: #f8f9fa; /* cinza claro do Bootstrap */
            color: #212529;
            font-weight: 600;
            text-align: center;
        }

        .donations-table td {
            text-align: center;
            color: #495057;
        }

        /* Botões personalizados para ações */
        .donations-table form button {
            padding: 0.25rem 0.5rem;
            font-size: 0.85rem;
            border-radius: 0.2rem;
            border: none;
            cursor: pointer;
            transition: background-color 0.2s ease;
        }

        .donations-table form button[name="action"][value="accept"] {
            background-color: #198754; /* verde Bootstrap */
            color: white;
            margin-right: 0.3rem;
        }

        .donations-table form button[name="action"][value="accept"]:hover {
            background-color: #157347;
        }

        .donations-table form button[name="action"][value="reject"] {
            background-color: #dc3545; /* vermelho Bootstrap */
            color: white;
        }

        .donations-table form button[name="action"][value="reject"]:hover {
            background-color: #bb2d3b;
        }

        /* Mensagem de nenhuma doação */
        .donations-table .no-donations {
            text-align: center;
            font-style: italic;
            color: #6c757d; /* cinza bootstrap */
        }

        /* Ajuste responsivo simples */
        @media (max-width: 768px) {
            .donations-table th, 
            .donations-table td {
                font-size: 0.8rem;
                padding: 0.35rem 0.5rem;
            }

            .donations-table form button {
                font-size: 0.75rem;
                padding: 0.2rem 0.4rem;
            }
        }

        .referral-form {
            max-width: 500px;
            background-color: #fff;
            border: 1px solid #dee2e6;
            border-radius: 0.75rem;
            padding: 2rem;
            box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.05);
            margin-bottom: 2rem;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        /* Título */
        .referral-title {
            font-size: 1.75rem;
            margin-bottom: 1.5rem;
            font-weight: 600;
            color: #3b3b3b;
        }

        /* Labels */
        .referral-label {
            font-weight: 500;
            margin-bottom: 0.5rem;
            display: block;
            color: #4a4a4a;
        }

        /* Selects & Inputs */
        .referral-select,
        .referral-input {
            width: 100%;
            border-radius: 0.5rem;
            padding: 0.5rem 0.75rem;
            border: 1px solid #ced4da;
            font-size: 1rem;
            color: #495057;
            box-sizing: border-box;
            transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
        }

        .referral-select:focus,
        .referral-input:focus {
            border-color: #dc3545 !important;
            box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5) !important;
            outline: none;
        }

        /* Pequenos inputs lado a lado */
        .referral-input-small {
            width: 120px;
            display: inline-block;
            vertical-align: middle;
        }

        /* Botão */
        .referral-submit {
            width: 100%;
            font-size: 1.1rem;
            padding: 0.6rem;
            border-radius: 0.5rem;
            background-color: #540000;
            color: #fff;
            border: none;
            cursor: pointer;
            transition: background-color 0.2s ease-in-out;
        }

        .referral-submit:hover {
            background-color: #7a1a1a; /* tom mais claro para hover */
        }

        .swal-scrollable {
          max-height: 250px;
          overflow-y: auto;
          padding-right: 10px;
          text-align: left;
        }

        .swal-scrollable ul {
          list-style: none;
          padding: 0;
          margin: 0;
        }

        .swal-scrollable li {
          margin-bottom: 10px;
        }

        #customImageButton {
          position: relative;
          display: inline-block;
          width: 40px;
          height: 40px;
          background: url('../images/donation.png') no-repeat center center;
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          border: none;
          background-color: transparent;
        }

        #customImageButton:hover {
          background-image: url('../images/donation_hover.png');
        }

        #customImageButton .pending-count {
          position: absolute;
          top: -6px;
          right: -6px;
          background: red;
          color: white;
          font-size: 12px;
          font-weight: bold;
          border-radius: 50%;
          padding: 2px 6px;
          line-height: 1;
          min-width: 18px;
          text-align: center;
          box-shadow: 0 0 3px rgba(0,0,0,0.4);
          pointer-events: none;
        }

        .swal2-confirm.btn-confirm-custom {
            background-color: #540000 !important;
            color: #fff !important;
            border: none;
            box-shadow: none;
        }

        .swal2-confirm.btn-confirm-custom:hover {
            background-color: #6a0000 !important;
        }

        #customImageButton2 {
          position: relative;
          display: inline-block;
          width: 40px;
          height: 40px;
          background: url('../images/rescode.png') no-repeat center center;
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          border: none;
          background-color: transparent;
        }

        #customImageButton2:hover {
          background-image: url('../images/rescode_hover.png');
        }

        /* Container principal em coluna */
        .custom-redeem {
            max-width: 400px;
            margin: 20px auto;
            display: flex;
            flex-direction: column; /* empilha verticalmente */
            gap: 15px;
            background-color: #1c1c1c;
            border: 1px solid #1c1c1c;
            border-radius: 0.75rem;
            padding: 2rem;
            box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.05);
        }

        /* Formulário também em coluna */
        .custom-redeem-form {
            display: flex;
            flex-direction: row; /* input e botão lado a lado */
            gap: 10px;
        }

        .custom-redeem p {
            font-size: 1.1rem;
            font-weight: 600;
            text-align: center;
            margin: 0;
            padding-bottom: 10px;
            color: #fff; /* mesmo tom do botão para consistência */
        }

        /* Input clean com estilo do Bootstrap */
        .custom-redeem-form input[type="text"] {
            flex-grow: 1;
            padding: 0.375rem 0.75rem;
            font-size: 1rem;
            border: 1px solid #ced4da;
            border-radius: 0.375rem;
            transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
        }

        /* Botão estilizado */
        .custom-redeem-form button {
            background-color: #540000;
            color: white;
            border: none;
            border-radius: 0.375rem;
            padding: 0.375rem 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }

        .custom-redeem-form button:hover {
            background-color: #7a0000;
            color: white;
        }

        /* Mensagem de retorno (em cima do form) */
        .redeem-message {
            font-weight: bold;
            margin-bottom: 10px;
        }

.newredeem {
    max-width: 480px;
    margin: 20px auto;
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    padding: 1rem;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.9rem;
}

.newredeem form {
    display: flex;
    flex-direction: column;
}

.newredeem label {
    font-weight: 600;
    color: #343a40;
    margin: 2px 0 1px 0; /* bem colado ao input */
    font-size: 0.9rem;
}

.newredeem input[type="text"],
.newredeem input[type="number"],
.newredeem input[type="date"] {
    padding: 0.25rem 0.5rem;
    border: 1px solid #ced4da;
    border-radius: 0.3rem;
    font-size: 0.9rem;
    margin-bottom: 4px;
}

.newredeem input:focus {
    border-color: #80bdff;
    outline: none;
    box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.2);
}

.newredeem button[type="submit"] {
    background-color: #540000;
    color: #ffffff;
    padding: 0.35rem 0.75rem;
    border: none;
    border-radius: 0.3rem;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-top: 6px;
}

.newredeem button[type="submit"]:hover {
    background-color: #7a0000;
}

.product__sidebar {
  margin-top: 35px;
}

.product__sidebar .section-title h5 {
  font-weight: 600;
  font-family: "Oswald", sans-serif;
  line-height: 21px;
  padding-left: 20px;
  position: relative;
}

.product__sidebar .section-title h5:after {
  position: absolute;
  left: 0;
  top: -6px;
  height: 32px;
  width: 4px;
  background: #540000;
  content: "";
}

.product__sidebar__view {
  position: relative;
  margin-bottom: 30px;
}

.product__sidebar__view .filter__controls {
  position: absolute;
  right: 0;
  top: -5px;
}

.product__sidebar__view .filter__controls li {
  list-style: none;
  font-size: 13px;
  color: #b7b7b7;
  display: inline-block;
  margin-right: 7px;
  cursor: pointer;
}

.product__sidebar__view .filter__controls li.active {
  color: #ffffff;
}

.product__sidebar__view .filter__controls li:last-child {
  margin-right: 0;
}

.product__sidebar__view__item {
  height: 190px;
  position: relative;
  border-radius: 5px;
  margin-bottom: 20px;
}

.product__sidebar__view__item .ep {
  font-size: 13px;
  color: #ffffff;
  background: #e53637;
  display: inline-block;
  padding: 2px 12px;
  border-radius: 4px;
  position: absolute;
  left: 10px;
  top: 10px;
}

.product__sidebar__view__item .view {
  font-size: 13px;
  color: #ffffff;
  background: #3d3d3d;
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  position: absolute;
  right: 10px;
  top: 10px;
}

.product__sidebar__view__item h5 {
  position: absolute;
  left: 0;
  bottom: 25px;
  width: 100%;
  padding: 0 30px 0 20px;
}

.product__sidebar__view__item h5 a {
  color: #ffffff;
  font-weight: 700;
  line-height: 26px;
}

.product__sidebar__comment {
  margin-bottom: 35px;
}

.product__sidebar__comment__item {
  margin-bottom: 20px;
  overflow: hidden;
}

.product__sidebar__comment__item__pic {
  float: left;
  margin-right: 15px;
}

.product__sidebar__comment__item__text {
  overflow: hidden;
}

.product__sidebar__comment__item__text ul {
  margin-bottom: 10px;
}

.product__sidebar__comment__item__text ul li {
  list-style: none;
  font-size: 10px;
  color: #ffffff;
  font-weight: 700;
  padding: 1px 10px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50px;
  display: inline-block;
}

.product__sidebar__comment__item__text h5 {
  margin-bottom: 10px;
}

.product__sidebar__comment__item__text h5 a {
  color: #ffffff;
  font-weight: 700;
  line-height: 26px;
}

.product__sidebar__comment__item__text span {
  display: block;
  font-size: 13px;
  color: #b7b7b7;
}

/* ======================
   Formulário de Login
====================== */

/* Estado ativo do link */
.custom-user-area ul li a.active {
    color: #7a0000;
    font-weight: 700;
}

/* Efeito underline sempre visível se estiver ativo */
.custom-user-area ul li a.active::after {
    width: 100%;
}

/* Inputs texto e password */
.custom-login-form input[type="text"],
.custom-login-form input[type="password"] {
    border: 1px solid #540000;
    background-color: #ffffff;
    color: #540000;
}

.custom-login-form input[type="text"]::placeholder,
.custom-login-form input[type="password"]::placeholder {
    color: #7a3e3e;
}

.custom-login-form input[type="text"]:focus,
.custom-login-form input[type="password"]:focus {
    border-color: #540000;
    box-shadow: 0 0 0 0.2rem rgba(84, 0, 0, 0.25);
    outline: none;
}

/* Checkbox */
.custom-login-form .form-check-input {
    border: 1px solid #540000;
    background-color: #fff;
    box-shadow: none; /* Remove glow padrão */
}

.custom-login-form .form-check-input:checked {
    background-color: #540000;
    border-color: #540000;
}

/* Remove o glow amarelo padrão ao focar o checkbox */
.custom-login-form .form-check-input:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(84, 0, 0, 0.5);
}

.custom-login-form .form-check-label {
    color: #fff;
}

/* Fundo branco para formulário login e área do utilizador logado */
.custom-login-form,
.custom-user-area {
    background-color: #1c1c1c;
    color: #fff;
    border: 1px solid #1c1c1c;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(84, 0, 0, 0.1);
}

.fundobg {
    background-color: #1c1c1c;
    color: #540000;
    border: 1px solid #1c1c1c;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(84, 0, 0, 0.1);
}

.pleft {
  padding-left: 20px;
}

/* ======================
   Botões Personalizados
====================== */

.custom-btn-primary {
    padding: 6px 12px;
    background: linear-gradient(135deg, #540000, #330000);
    color: #fff8dc;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
    text-align: center;
}

.custom-btn-primary:hover,
.custom-btn-primary:focus {
    background: linear-gradient(135deg, #330000, #540000);
    transform: scale(1.05);
    box-shadow: 0 0 10px #7a0000;
}

.custom-btn-danger {
    padding: 6px 12px;
    background: linear-gradient(135deg, #540000, #330000);
    color: #fff8dc;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
    text-align: center;
}

.custom-btn-danger:hover,
.custom-btn-danger:focus {
    background: linear-gradient(135deg, #330000, #540000);
    transform: scale(1.05);
    box-shadow: 0 0 10px #7a0000;
}

/* ======================
   Links na área do utilizador
====================== */

/* Links modernos na área do utilizador */
.custom-user-area ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    position: relative;
    padding-bottom: 2px;
    transition: color 0.3s ease;
}

/* Underline animado */
.custom-user-area ul li a::after {
    content: "";
    position: absolute;
    width: 0%;
    height: 2px;
    left: 0;
    bottom: 0;
    background-color: #7a0000;
    transition: width 0.3s ease;
}

/* Hover/focus: muda a cor e faz o underline crescer */
.custom-user-area ul li a:hover,
.custom-user-area ul li a:focus {
    color: #7a0000;
    outline: none;
}

.custom-user-area ul li a:hover::after,
.custom-user-area ul li a:focus::after {
    width: 100%;
}

/* Opcional: efeito leve de scale para destacar */
.custom-user-area ul li a:hover,
.custom-user-area ul li a:focus {
    transform: scale(1.05);
    transition: color 0.3s ease, transform 0.3s ease;
}

/* ======================
   Link "Recuperar Palavra-Passe"
====================== */
.custom-login-form .mt-2.text-center a {
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.custom-login-form .mt-2.text-center a:hover,
.custom-login-form .mt-2.text-center a:focus {
    color: #7a0000 !important;
    text-decoration: underline;
}

#customImageButton3 {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url('../images/adonation.png') no-repeat center center;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    background-color: transparent;
}

#customImageButton3:hover {
    background-image: url('../images/adonation_hover.png');
}

#customImageButton3 .pending-count {
    position: absolute;
    top: -6px;
    right: -6px;
    background: red;
    color: white;
    font-size: 12px;
    font-weight: bold;
    border-radius: 50%;
    padding: 2px 6px;
    line-height: 1;
    min-width: 18px;
    text-align: center;
    box-shadow: 0 0 3px rgba(0,0,0,0.4);
    pointer-events: none;
}

/* Novo container que organiza vários eventos */
.evento-lista {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .evento-lista {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
  }
}

/* Mantém o visual original */
.evento-container {
  background: url('../images/event/eventoox.png') no-repeat center;
  background-size: cover;
  width: 100%;
  max-width: 800px;
  height: 250px;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 20px;
  border-radius: 8px;
}

/* Wrapper para info + contador */
.contador-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px; /* espaço entre info e contador */
}

/* Info extra (recompensa/descrição) */
.evento-info {
  background: rgba(139, 0, 0, 0.8);
  color: #fff;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  max-width: 90%;
}

.contador {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.bloco {
  background-color: rgba(139, 0, 0, 0.8);
  color: white;
  width: 60px;
  height: 70px;
  text-align: center;
  border-radius: 5px;
  font-weight: bold;
  font-size: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 5px;
}

.bloco span {
  font-size: 12px;
  margin-top: 4px;
}

.evento-comecou {
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  background-color: rgba(139, 0, 0, 0.8);
  padding: 15px 25px;
  border-radius: 8px;
  text-align: center;
}

/* Mobile: mantém look, apenas mais compacto */
@media (max-width: 576px) {
  .evento-container {
    height: 250px;
    padding: 10px 10px;
  }

  .contador {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center;
    gap: 8px;
  }

  .bloco {
    width: calc(50% - 8px);
    height: 50px;
    font-size: 18px;
    margin: 0;
    padding: 5px 0;
  }

  .bloco span {
    font-size: 10px;
  }

  .evento-info {
    font-size: 13px;
    padding: 5px 10px;
  }
}

.textoinicial {
  font-size: 18px;
  line-height: 1.6;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  justify-content: center;
  padding-bottom: 20px;
  padding: 1.5rem;                        /* espaçamento interno confortável */
  font-size: 0.95rem;                     /* ligeiramente menor que o padrão */
  line-height: 1.6;                       /* boa leitura */
  color: #fff;                         /* texto escuro padrão Bootstrap */
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075); /* leve sombra como nos cards */
  background-color: #1c1c1c;
  border-radius: 10px;
  text-align: center;
}

.eventoscss {
  width: 100%;
  max-width: 1000px;
  margin: 2rem auto;
  font-family: 'Segoe UI', Roboto, Arial, sans-serif;
  background-color: transparent;
  border-collapse: separate;
  border-spacing: 0 10px;
}

/* Cabeçalho */
.eventoscss th {
  background-color: #343a40;
  color: #ffffff;
  font-weight: 600;
  text-align: left;
  padding: 14px 16px;
  font-size: 15px;
  border: none;
}

/* Bordas arredondadas do cabeçalho */
.eventoscss thead tr th:first-child {
  border-top-left-radius: 12px;
}
.eventoscss thead tr th:last-child {
  border-top-right-radius: 12px;
}

/* Células */
.eventoscss td {
  background-color: #ffffff;
  padding: 14px 16px;
  font-size: 14px;
  color: #111827;
  border: none;
  box-shadow: none;
  transition: background-color 0.3s ease;
  vertical-align: middle;
}

/* Arredondamento dos cantos das linhas */
.eventoscss tbody tr td:first-child {
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}
.eventoscss tbody tr td:last-child {
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* Hover suave sem sombra */
.eventoscss tbody tr:hover td {
  background-color: #f1f3f5;
}

/* Zebra */
.eventoscss tbody tr:nth-child(even) td {
  background-color: #f4f5f7;
}

/* Botões */
.eventoscss button,
.eventoscss a.button {
  padding: 6px 14px;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

/* Botão Ativar/Desativar */
.eventoscss button.toggle {
  background-color: #16a34a;
  color: #ffffff;
}

.eventoscss button.toggle.inactive {
  background-color: #dc2626;
}

.eventoscss button.toggle:hover {
  opacity: 0.9;
  transform: scale(1.05);
}

/* Botão Editar */
.eventoscss a.button.edit {
  background-color: #2563eb;
  color: #ffffff;
}

.eventoscss a.button.edit:hover {
  background-color: #1d4ed8;
  transform: scale(1.05);
}

/* Botão Apagar */
.eventoscss button.delete {
  background-color: #ef4444;
  color: #ffffff;
}

.eventoscss button.delete:hover {
  background-color: #b91c1c;
  transform: scale(1.05);
}

/* Imagem do evento */
.eventoscss td img {
  max-height: 40px;
  border-radius: 6px;
}

/* Centralizar colunas específicas */
.eventoscss th:nth-child(6),
.eventoscss th:nth-child(7),
.eventoscss td:nth-child(6),
.eventoscss td:nth-child(7) {
  text-align: center;
}

/* Responsivo */
@media (max-width: 600px) {
  .eventoscss th,
  .eventoscss td {
    padding: 10px 8px;
    font-size: 13px;
  }

  .eventoscss button,
  .eventoscss a.button {
    width: 100%;
    margin-bottom: 5px;
  }
}


.ranking-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px; /* espaçamento entre linhas */
    text-align: center; /* centraliza texto das células */
    margin: 0 auto; /* centraliza a tabela no container */
}

.ranking-table th,
.ranking-table td {
    padding: 10px auto;
    border: none; /* remove linhas internas */
    color: #fff8dc; /* texto branco */
    text-align: center; /* centraliza texto nas células */
}

.ranking-table th {
    background: linear-gradient(135deg, #540000, #330000);
    font-weight: 700;
    text-shadow: 1px 1px 2px #000;
}

.ranking-table td {
    background-color: #2a2a2a;
}

.ranking-table tr:nth-child(even) td {
    background-color: #333333;
}

.ranking-table td img {
    width: 32px;
    height: 32px;
    vertical-align: middle;
    display: inline-block;
    margin: 0 auto; /* centraliza imagens */
}

#mini-icons {
  position: fixed;
  left: 0;
  top: 30%;
  z-index: 1500;
  transition: all 0.5s ease-in-out 0s;
}

#mini-icons>* {
  position: relative;
  width: 56px;
  height: 56px;
  display: block;
  text-align: center;
  line-height: 56px;
}

#mini-icons > div:first-child a {
  border-top-right-radius: 20px;
}
#mini-icons > div:last-child a {
  border-bottom-right-radius: 20px;
}

#mini-icons a {
  display: block;
  color: #eddccd;
  font-size: 12px;
  background-color: #1c1c1c;
  transition: all 0.2s ease-in-out 0s;
  text-decoration: none;
}

#mini-icons div:hover a,
#mini-icons div.active a {
  background-color: #2a2a2a;
}

.editeventform {
    background-color: #1c1c1c;
    color: #fff;
    border: 1px solid #1c1c1c;
    padding: 20px;
    border-radius: 8px;
    max-width: 600px;
    margin: 20px auto;
    box-shadow: 0 0 10px rgba(84, 0, 0, 0.3);
    font-family: Arial, sans-serif;
}

.editeventform h2 {
    color: #fff8dc;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}

.editeventform label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #fff;
}

.editeventform input[type="text"],
.editeventform input[type="password"],
.editeventform input[type="email"],
.editeventform input[type="datetime-local"] {
    width: 100%;
    padding: 8px 10px;
    margin-bottom: 15px;
    border: 1px solid #540000;
    border-radius: 6px;
    background-color: #fff;
    color: #540000;
    font-size: 14px;
    transition: all 0.3s ease;
}

.editeventform input::placeholder {
    color: #7a3e3e;
}

.editeventform input:focus {
    border-color: #7a0000;
    box-shadow: 0 0 0 0.2rem rgba(84, 0, 0, 0.25);
    outline: none;
}

.editeventform .form-check {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.editeventform .form-check-input {
    margin-right: 8px;
    border: 1px solid #540000;
    cursor: pointer;
}

.editeventform .form-check-input:checked {
    background-color: #540000;
    border-color: #540000;
}

.editeventform .form-check-label {
    color: #fff;
    cursor: pointer;
}

.editeventform button {
    padding: 10px 20px;
    background: linear-gradient(135deg, #540000, #330000);
    color: #fff8dc;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.1s ease, box-shadow 0.2s ease;
    display: block;
    width: 100%;
    text-align: center;
}

.editeventform button:hover,
.editeventform button:focus {
    background: linear-gradient(135deg, #330000, #540000);
    transform: scale(1.05);
    box-shadow: 0 0 10px #7a0000;
}
