html,
body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    /* Hide horizontal scrollbar */
}

body {
    background-color: black;
    color: white;
    width: 100vw !important;
    height: 100vh !important;
    background-image: url('../imagens/kyomeimg.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

@font-face {
    font-family: 'Abnes';
    src: url('abnes.otf');
    font-weight: normal;
    font-size: normal;
}

h2 {
    font-family: 'Abnes';
}

#navbar {
    box-sizing: border-box;
    width: 100%;
    padding: 30px 0px 0px 48px;
    display: flex;
    flex-direction: row;
    align-items: center;
}

#logo {
    width: 50%;
    display: flex;
    align-items: center;
}

#navbar-buttons {
    box-sizing: border-box;
    width: 50%;
    display: flex;
    flex-direction: row;
    gap: 40px;
    justify-content: flex-end;
    box-sizing: border-box;
    padding-right: 30px;
    align-items: center;
}

#usuario {
    display: flex;
    align-items: center;
    justify-content: center;
}

#log-btn {
    width: 100px;
}

#form {
    /*
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);*/
    width: 70vw;
    background-color: rgba(255, 255, 255, 0.15);
    padding: 40px;
    margin: 0 auto;
    border-radius: 12px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

#homePontosPartida form
{
    width:100vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-form {
    width: 50% !important;
}

#cards-partida {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    margin: 20px;
    width: 100%;
    box-sizing: border-box;
}

#form form {
    margin: 0 auto;
}

#form label {
    display: block;
    margin-bottom: 5px;
}

.radio {
    width: 5% !important;
    height: 20px !important;
}

select {
    width: 100%;
    height: 40px;
    padding-left: 10px;
    background-color: rgba(230, 221, 221, 0);
    color: rgb(219, 214, 214);
}

select option {
    color: rgb(12, 11, 11);

}


#form input,
button {
    width: 100%;
    height: 40px;
    background-color: rgb(137, 137, 137, 0);
    border: 2px solid #808080;
    color: rgb(219, 214, 214);
    border-radius: 10px;
    padding: 5px;
    box-sizing: border-box;
}

#form input::placeholder {
    color: rgb(219, 214, 214);
}

select {
    width: 100%;
    height: 40px;
    padding-left: 10px;
    background-color: rgba(230, 221, 221, 0);
    color: rgb(219, 214, 214);
}

select option {
    color: rgb(12, 11, 11);

}

#sexo {
    padding: 5px;
    background-color: rgba(230, 221, 221, 0);
    color: rgb(219, 214, 214);
}

.primary-btn,
.secondary-btn {
    appearance: none;
    color: white;
    border: 2px solid rgba(255, 255, 255, 0);
}

.primary-btn {
    background-color: rgb(38, 13, 161);
}

.secondary-btn {
    background-color: rgba(173, 170, 190, 0.2);
}

.primary-btn:hover,
.secondary-btn:hover {
    cursor: pointer;
    color: lightgrey;
}

#titulo {
    font-size: 107%;
}

div.two-columns {
    display: flex;
    gap: 20px;
}

div.column {
    box-sizing: border-box;
    width: calc(100% / 2);
}

select {
    border: 2px solid #808080;
    border-radius: 10px;
}

/* Estilização geral das tabelas de listagem de dados */
table {
    width: 100%;
    border-collapse: collapse;
    /* Remove espaços duplos entre as bordas */
    font-family: Arial, sans-serif;
    margin: 20px 0;
}

Container que envolve a tabela */
.table-container {
  width: 100%;
  overflow-x: auto; /* Adiciona barra de rolagem horizontal se necessário */
  -webkit-overflow-scrolling: touch; /* Melhora a rolagem em dispositivos iOS */
}
/* Estilo das células de cabeçalho */
th {
    background-color: rgb(138, 13, 13);
    ;
    color: white;
    padding: 12px;
    text-align: left;
}

/* Estilo das células comuns */
td {
    padding: 10px;
    border-bottom: 1px solid #FFF;
    color: #1e293b;
}

tr {
    background-color: #f2f2f2;
}


td a {
    color: #1e293b;
    text-decoration: none;
}

td a:hover {
    color: #1e293b;
    text-decoration: underline;
}

#home {
    box-sizing: border-box;
    height: auto;
    display: flex;
    padding: 20px;
    gap: 20px;
    flex-direction: row;
}

#cards {
    box-sizing: border-box;
    width: 100vw;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#home_cards_partida  {
    box-sizing: border-box;
    width: 100%;
    display: block;
    padding: 48px;
}

.card-partida {
    background-color: rgba(173, 170, 190, 0.3);
    height: 350px;
    width: 100%;
    box-sizing: border-box;
border-radius: 20px;
}

.card-partida-s1 {
    height: 40%;
    background-color: red;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: #808080;
    border-radius: 20px;
}

.card-partida-s2 {
    height: 40%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Impede que o conteúdo vaze visualmente da div */
    overflow: hidden;

    /* Quebra palavras longas ou URLs sem espaços para não estourarem a largura */
    overflow-wrap: break-word;
    /* Padrão moderno recomendado */
    word-break: break-word;
    /* Garante suporte a navegadores antigos */

    /* Se você quiser que palavras normais também quebrem hífens ao final da linha */
    hyphens: auto;

}

.card-partida-s3 {
    height: 40%;
}

.userphoto {
    width: 45%;
    align-items: center;
    justify-content: center;
    font-size: 70px;
}

.userphoto img {
    max-width: 100%;
    /* Impede que a imagem transborde da div */
    height: auto;
    /* Mantém a proporção original de altura/largura */
    display: block;
    object-fit: cover;
    /* Ajusta a imagem para cobrir o espaço sem distorcer */
    border-radius: 50%;
    /* Torna a imagem circular */
}

.separator {
    width: 10%;
}

#partida {
    width: 95%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

#atletas-bar {
    display: flex;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    padding: 20px;
    font-size: calc(1rem + 1vw);
    flex-direction: column;
    box-sizing: border-box;
}

.atleta-bar {
    display: flex;
    flex-direction: row;
    height: 130px;
    gap: 20px;
}

#atleta1-bar {
    display: flex;
    flex-direction: row;
    margin-bottom: 20px;
}

#atleta2-bar {
    display: flex;
    flex-direction: row;
}

#point-bar-1,
#point-bar-2 {
    width: 88%;
    display: flex;
    flex-direction: row;
    border-radius: 10px;
}

.point-bar-geral {
    width: 100%!important;
}

#point-bar-1 {
    background-color: #fff;
    color: #000;
}

#point-bar-2 {
    background-color: rgb(38, 13, 161);
}

#osaekomi-1 {
    width: 12%;
    background-color: #fff;
    color: #fff;
    font-size: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

#osaekomi-2 {
    width: 12%;
    background-color: rgb(38, 13, 161);
    color: #fff;
    font-size: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.nome-atleta-bar {
    width: 75%;
    display: flex;
    align-items: center;
    padding-left: 20px;
}

.pontuacao {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    justify-content: center;
    width: 25%;
    margin-right: 20px;
}

.ponto {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20%;
    flex-direction: column;
}

.ponto-divisao {
    display: flex;
    align-items: center;
    justify-content: center;
}

.penalidade {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20%;
    flex-direction: column;
    background-color: rgb(0, 0, 0, 0.3);
    color: rgba(234, 14, 14, 0.816);
    border-radius: 10px;
}

.ponto-especial {
    background-color: rgba(0, 0, 0, 0.3);
    height: 80%;
    margin: 15px;
    border-radius: 10px;
}

#control-bar {
    margin-top: 20px;
    width: 100%;
    display: flex;
    flex-direction: row;
    text-transform: uppercase;
}

#controles-normais {
    width: 47%;
    display: flex;
    flex-direction: column;
}

#atleta-1-controles,
#atleta-2-controles {
    display: flex;
    flex-direction: row;
    height: 50%;
}

.controle-bloco {
    display: flex;
    flex-direction: column;
    width: 50%;
    margin-bottom: 10px;
}

.nome-controle {
    display: flex;
    justify-content: center;
    text-align: center;
    margin-bottom: 10px;
}

.controles {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.controle-1,
.controle-2 {
    width: 35%;
    font-size: 30px;
    display: flex;
    justify-content: center;
    text-align: center;
}

.controle-1 {
    background-color: #fff;
    color: #000;
    border: none;
}

.controle-2 {
    background-color: rgb(38, 13, 161);
    color: #fff;
    border: none;
}

#hansuko-make {
    display: flex;
    flex-direction: column;
    width: 25%;
    justify-content: center;
    align-items: center;
}

#cronometro {
    width: 33%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

#cronometro-botao {
    height: 60%;
    display: flex;
    text-align: center;
    justify-content: center;
    background-color: #fff;
    color: #000;
    margin-bottom: 10px;
    border-radius: 10px;
    font-size: 22px;
    width: 80%;
}

#transmitir-luta {
    border: none;
    background-color: #fff;
    color: #000;
    width: 80%;
}

#lista {
    box-sizing: border-box;
    width: 50%;
}

#lista ul {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.card-row {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.card {
    box-sizing: border-box;
    width: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 10px solid rgba(230, 221, 221, 0);
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    text-transform: uppercase;
}

.card-g {
    height: 120px;
    background-color: rgba(173, 170, 190, 0.3);
}

.card-s {
    height: 60px;
    background-color: rgba(173, 170, 190, 0.2);
}

.card:hover {
    cursor: pointer;
    background-color: rgba(173, 170, 190, 0.3);
}

.card-g:hover {
    background-color: rgba(173, 170, 190, 0.5);
}

.btn {
    padding: 10px 20px;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.3s;
}

.primary {
    background-color: #3b2cff;
    color: white;
}

.secondary {
    background-color: #2a2a2a;
    color: white;
}

.btn:hover {
    opacity: 0.8;
}

#action-bar {
    display: flex;
    flex-direction: row;
    padding-left: 48px;
    gap: 20px;
}

.action-btn {
    width: 180px;
    height: 50px;
}

#lista a {
    text-decoration: none;
    color: inherit;
}

#lista ul li {
    background-color: rgba(173, 170, 190, 0.2);
    width: 170px;
    padding: 15px;
    list-style: none;
    border-radius: 10px;
    display: flex;
    justify-content: center;
}

#lista ul li:hover {
    cursor: pointer;
    background-color: rgba(173, 170, 190, 0.3);
}

@media screen and (max-width: 800px) {
  .pontuacao {
    width: 50%;
  }

  .nome-atleta-bar {
    width: 50%;
  }
}