body {
    overflow-x: hidden;
}

.ehf-header #masthead {
    z-index: 1 !important;
}

.listagemfrontend .aula {
    display: Flex;
    background: rgb(250, 250, 250);
    border: 2px solid rgb(250, 250, 250);
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 10px;
    cursor: pointer;
    border-radius: 2px;
    color: black;
    position: relative;
}

.listagemfrontend .aula:hover {
    border: 2px solid rgba(5, 117, 22, 0.4);
    transition: 0.2s;
}

.listagemfrontend h1 {
    text-align: center;
    color: #16582C;
    font-size: 29px;
    margin-bottom: 0px;
}

.listagemfrontend .aula .hora {
    width: 75px;
    text-align: center;
    vertical-align: center;
}

.listagemfrontend {
    max-width: 700px;
    display: block;
    margin: auto;

    max-height: 600px;
    overflow-y: scroll;
}

@media only screen and (max-width: 767px) {
    .listagemfrontend {
        max-height: none;
    }
}

.listagemfrontend .aula p {
    margin-top: 2px;
    margin-bottom: 2px;
}

.listagemfrontend .aula .informacao {
    border-left: 3px solid #16582c;
    padding-left: 10px;
}

.listagemfrontend .dia {
    padding-top: 20px;
    padding-bottom: 20px;
}

.listagemfrontend .dia h2 {
    color: #16582c;
    margin-top: 20px;
    font-size: 21px;
}

.listagemfrontend .filtros input,
.listagemfrontend .filtros select {
    border-radius: 0px;
    border: 2px solid #16582c;
    margin-top: 5px;
}

.listagemfrontend .filtros select {
    padding: 10px;
    padding-bottom: 11px;
}

.listagemfrontend .filtros input[type=submit] {
    vertical-align: bottom;
    padding: 10px 20px;
}

.listagemfrontend .filtros {
    padding: 20px;
    padding-top: 60px;
}

#modal-aula {
    max-width: 700px;
    padding: 50px;
}

#modal-aula .nome {
    color: #16582c;
}

#modal-aula .botao_purotreino {
    margin-top: 20px;
    margin-bottom: 20px;
}

#modal-aula .tabela td {
    padding: 5px;
}

@media only screen and (max-width: 500px) {
    #modal-aula {
        padding: 10px;
    }
}

#modal-aula .local {
    margin-top: -15px;
}

#modal-aula .data {
    margin-bottom: 15px;
}

.inscrito {
    background: gray !important;
    cursor: no-drop;
    border: 2px solid gray !important;
}

.botao_purotreino {
    background: #16582c;
    color: white !important;
    padding: 10px 20px;
    text-align: center;
    margin: auto;
    display: block;
    transition: .3s;
    border: 2px solid #16582c;
}

.botao_purotreino:hover {
    color: #16582c !important;
    background: none;
}

.notice.sucesso {
    background: #16582c;
    padding: 15px;
    color: white;
    margin-top: 10px;
    margin-bottom: 10px;
}

.vanilla-calendar-arrow {
    height: 40px !important;
    -webkit-transform: rotateZ(0deg) !important;
    -ms-transform: rotate(0deg) !important;
    transform: rotateZ(0deg) !important;
}

.vanilla-calendar-arrow::after,
.vanilla-calendar-arrow::before {
    display: none;
}

#calendario_marcacao_aulas_grupo {
    max-width: 400px;
    margin: auto;
}

#calendario_marcacao_aulas_grupo .vanilla-calendar-day {
    height: 45px;
    border-radius: 0px;
}

.checkmark {
    background: #16582c;
    color: white;
    padding: 4px 7px;
    font-size: 12px;
    margin-left: 10px;
    position: absolute;
    right: 10px;
}

.aviso_pagamento {
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.3);
    padding: 15px 20px;
    max-width: 500px;
    text-align: center;
    display: block;
    margin: auto;
    margin-bottom: 10px;
    color: white;
    border-radius: 10px;
    background-repeat: no-repeat !important;
    background-size: 46px !important;
    background-position: center left !important;
}

.aviso_pagamento.neutro {
    background: #334344;
    color: white;
}

.aviso_pagamento.verde {
    background: #16582c;
    color: white;
}

.aviso_pagamento.vermelho {
    background: #BC2223;
    color: white;
}

.botao_frontend_professor {
    color: white !important;
    padding: 20px 40px;
    font-weight: bold;
    margin-right: 20px;
    background: #16582c;
    white-space: nowrap;
    line-height: 80px;
}

#wp-admin-bar-aulas,
#wp-admin-bar-clientes,
#wp-admin-bar-financas,
#wp-admin-bar-voltar {
    display: block !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
}

#dados_pessoais {
    text-align: center;
}

#dados_pessoais label {
    display: block;
    margin-bottom: 20px;
    max-width: 400px;
}

#dados_pessoais label input,
#dados_pessoais label select {
    text-align: center;
    background-color: white;
    margin-top: 5px;
    border: 1px solid rgb(200, 200, 200);
    border-radius: 0px;
}

#dados_pessoais .hidden {
    display: none;
}

#dados_pessoais #img {
    margin-top: 5px;
}

#dados_pessoais #rmvimg {
    text-decoration: underline;
    font-size: 14px;
}

.botaoinfo {
    background: #16582C;
    color: white !important;
    padding: 10px 15px;
    margin-right: 5px;
    display: inline-block;
}

.proximasaulas td {
    vertical-align: middle;
}

/*Ranking*/
.rank tr td {
    text-align: center;
    font-size: 12px;
    padding: 10px 5px;
    background-color: #f7f7f7;
}

.rank tr.proprio {
    border: 2px solid #16582c;
}

.rank tr td:nth-child(3) {
    white-space: nowrap;
}

.rank tbody tr:nth-child(1) td {
    font-size: 20px;
}

.rank tbody tr:nth-child(1) td:nth-child(1) {
    background: #FFE274;
    border: 1px solid #FFE274;
}

.rank tbody tr:nth-child(2) td {
    font-size: 18px;
}

.rank tbody tr:nth-child(2) td:nth-child(1) {
    background: #c3c3c3;
    border: 1px solid #e9e9e9;
    color: white;
}

.rank tbody tr:nth-child(3) td {
    font-size: 16px;
}

.rank tbody tr:nth-child(3) td:nth-child(1) {
    background: #CF8338;
    border: 1px solid #CF8338;
    color: white;
}

.rank thead tr td {
    background-color: #16582c;
    color: white;
    font-weight: bold;
}

.bolaresultado {
    border-radius: 50px;
    width: 12px;
    height: 12px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 3px;
}

.bolaresultado.vermelha {
    background: red;
}

.bolaresultado.amarela {
    background: orange;
}

.bolaresultado.verde {
    background: #16582c;
}

.notificacoes {
    text-align: center;
}

.notificacao {
    color: white;
    padding: 10px 20px;
    display: block;
    margin: auto;
    width: 600px;
    max-width: 100%;
    margin-bottom: 5px;
}

.notificacao.clickable {
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.notificacao.clickable:hover {
    opacity: 0.8;
}

.consentimento a {
    background: #16582c;
    color: white !important;
    padding: 10px 20px;
    text-align: center;
    display: inline-block;
    transition: .3s;
    border: 2px solid #16582c;
    margin: 5px;
    text-decoration: none !important;
}

.consentimento a:hover {
    color: #16582c !important;
    background: none;
}

.consentimento b {
    color: red;
    display: block;
    margin-top: 20px;
}

.registospessoais h1 {
    text-align: center;
    margin-bottom: 50px;
}

.registospessoais h2 {
    margin-bottom: 20px;
}

.registospessoais .peso,
.registospessoais .fotografias {
    margin-bottom: 50px;
}

.registospessoais table {
    width: 100%;
    margin-top: 20px;
}

.registospessoais table td {
    padding: 10px;
    background: #f7f7f7;
}

.registospessoais table thead td {
    background: #16582c;
    color: white;
    font-weight: bold;
}

.registospessoais {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.registospessoais .peso {
    flex: 1;
    min-width: 300px;
}

.registospessoais .fotografias {
    flex: 2;
    min-width: 300px;
}

.registospessoais h1 {
    width: 100%;
}

.registopeso {
    text-align: center;
    padding: 20px;
    max-width: 600px;
    margin: auto;
}

.registopeso form {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

.registopeso input {
    width: 220px !important;
    padding: 10px;
    border: 1px solid #ccc;
}

.mensagemsistema {
    padding: 10px 20px;
    background: #f7f7f7;
    border: 1px solid #ddd;
    margin: 10px 0;
    border-radius: 4px;
    margin-bottom: 30px;
}

.mensagemsistema p {
    margin: 5px 0;
}

/*Registo Fotografico*/

.registofotografico {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.registofotografico .foto-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 20px 0;
}

@media (max-width: 767px) {
    .registofotografico .foto-grid {
        grid-template-columns: 1fr;
    }
}

.registofotografico .foto-upload {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
}

.registofotografico .foto-upload h3 {
    margin-bottom: 10px;
    color: #333;
    text-align: center;
}

.registofotografico .foto-upload input[type="file"] {
    display: block;
    margin: 10px 0;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 100%;
}

.registofotografico .example-image {
    height: 200px;
    object-fit: cover;
    margin-bottom: 15px;
    border-radius: 4px;
}

.registofotografico .botaosubmit {
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    margin: 20px auto 0;
    display: block;
    min-width: 200px;
}


.cancel-button.disabled {
    background: #cccccc;
    color: #666666 !important;
    border: 2px solid #cccccc;
    cursor: not-allowed;
}

.cancel-button.disabled:hover {
    background: #cccccc;
    color: #666666 !important;
    border: 2px solid #cccccc;
}

