/* ===========================
   Calendário (competicoes.php)
   Scope: body.calendar-page
   =========================== */

/* 0) Defensivo: neutralizar estilos globais problemáticos só nesta página */
.calendar-page .table { border-collapse: separate; } /* caso tenhas .table { border-collapse: collapse } global */
.calendar-page .is-hidden { display: none; }         /* garante ocultação só nesta página */

/* ===========================
   Season bar
   =========================== */
.calendar-page .season-nav {
    padding: 16px 0;
}

.calendar-page .season-nav .season-list {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 8px;
}

.calendar-page .season-nav .season-chip {
    display: inline-block;
    padding: 10px 18px;
    border: 1.5px solid #d9dee4;
    border-radius: 999px;
    background: #fff;
    color: #333;
    font-weight: 700;
    font-size: 17px;
    line-height: 1;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.calendar-page .season-nav .season-chip:hover {
    background: #f1f3f6;
    border-color: #c6ccd3;
}

.calendar-page .season-nav .season-chip:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(226, 6, 19, .2);
}

.calendar-page .season-nav .season-chip.is-active {
    background: #E20613;
    border-color: #E20613;
    color: #fff;
}

.calendar-page .season-nav .season-chip.is-hidden {
    display: none;
}

.calendar-page .season-nav.is-expanded .season-chip.is-hidden {
    display: inline-block;
}

.calendar-page .season-nav .season-toggle {
    margin: 2px auto 0;
    display: block;
    background: transparent;
    border: 0;
    color: #E20613;
    font-weight: 700;
    cursor: pointer;
    text-decoration: underline;
}

.calendar-page .season-nav .season-toggle .label-hide { display: none; }
.calendar-page .season-nav.is-expanded .season-toggle .label-show { display: none; }
.calendar-page .season-nav.is-expanded .season-toggle .label-hide { display: inline; }

@media (max-width: 480px) {
    .calendar-page .season-nav .season-chip {
        font-size: 15px;
        padding: 8px 14px;
    }
}

/* ===========================
   Tabela / meses (accordion)
   =========================== */

/* Espaço entre "cards" de mês */
.calendar-page table.jv-competicoes{
    border-collapse: separate;
    border-spacing: 0 12px;
}

/* Remove ruído de bordas/linhas do Bootstrap/tema nesta tabela */
.calendar-page .table.jv-competicoes > tbody > tr > td,
.calendar-page .table.jv-competicoes > tbody > tr > th{
    border-top: 0 !important;
}

.calendar-page table.jv-competicoes > tbody > tr > th{
    padding: 10px 0 !important;
    background: transparent !important;
}

/* Cabeçalho do mês */
.calendar-page .jv-month-title { margin: 0; }
.calendar-page .jv-month-title.classic-title:before,
.calendar-page .jv-month-title.classic-title:after{
    display:none !important;
}
.calendar-page .jv-month-title.classic-title span{
    padding:0 !important;
}

.calendar-page .jv-month-toggle{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 18px 18px;
    border: 1px solid #e8e8e8;
    background: #fff;
    border-radius: 12px;

    font-weight: 800;
    font-size: 20px;
    color: #222;

    cursor: pointer;
    text-align: left;

    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

.calendar-page .jv-month-toggle:hover{
    transform: translateY(-1px);
    border-color: rgba(227,6,19,.25);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.calendar-page .jv-month-toggle__label{
    display: inline-block;
}

.calendar-page .jv-month-toggle__icon{
    font-size: 16px;
    opacity: .65;
    transition: transform .2s ease, opacity .2s ease;
}

.calendar-page .jv-month-toggle[aria-expanded="true"] .jv-month-toggle__icon{
    transform: rotate(180deg);
    opacity: .9;
}

/* Cabeçalhos de coluna */
.calendar-page .jv-month-head{
    background: #fafafa;
}

.calendar-page .jv-month-head th{
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #777;
}

/* Linhas */
.calendar-page .jv-competicoes tbody tr.jv-month-row td{
    vertical-align: middle;
}

.calendar-page .jv-competicoes tbody tr.jv-month-row:hover{
    background: rgba(227,6,19,.04);
}

/* remove qualquer borda/linha entre o header do mês e o conteúdo */
.calendar-page .table.jv-competicoes,
.calendar-page .table.jv-competicoes > tbody,
.calendar-page .table.jv-competicoes > tbody > tr,
.calendar-page .table.jv-competicoes > tbody > tr > th,
.calendar-page .table.jv-competicoes > tbody > tr > td{
    border: 0 !important;
}

/* fundo leve na área do calendário para dar contraste */
.calendar-page #container .page-content{
    background: #fafafa;
    padding: 24px 0;
}

/* mantém o conteúdo alinhado (evita que o fundo afete tudo) */
.calendar-page #container .page-content > .row{
    margin-left: 0;
    margin-right: 0;
}

/* quando o mês está aberto, o cabeçalho de colunas + linhas ficam num panel branco */
.calendar-page .jv-month-head,
.calendar-page .jv-month-row{
    background: #fff;
}

/* borda suave nas linhas para não se perderem no branco */
.calendar-page .jv-month-row td{
    border-bottom: 1px solid #f0f0f0 !important;
}

/* última linha sem border */
.calendar-page .jv-month-row:last-of-type td{
    border-bottom: 0 !important;
}

/* mais contraste na linha hover */
.calendar-page .jv-competicoes tbody tr.jv-month-row:hover{
    background: rgba(227,6,19,.06);
}

.calendar-page table.jv-competicoes{
    border-spacing: 0 10px; /* era 12px */
}

/* --- FIX: linha entre header do mês e tabela (tema classic-title + table rules) --- */

/* mata as linhas/ornamentos do classic-title especificamente aqui */
.calendar-page .jv-month-title.classic-title,
.calendar-page .jv-month-title.classic-title *{
    background-image: none !important;
    box-shadow: none !important;
}

.calendar-page .jv-month-title.classic-title span{
    border: 0 !important;          /* muitos temas fazem underline via border-bottom */
    background: none !important;
}

/* garante que o <th> do header do mês não tem border-bottom/linha */
.calendar-page .table.jv-competicoes > tbody > tr > th{
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* e garante que a linha de cabeçalho da tabela não cria uma “divisor line” no topo */
.calendar-page .jv-month-head th{
    border-top: 0 !important;
    box-shadow: none !important;
}

/* fundo global da página do calendário */
.calendar-page{
    background: #fafafa;
}

/* garante que o container não está a forçar branco por cima */
.calendar-page #container{
    background: transparent;
}

/* mantém a área do conteúdo confortável */
.calendar-page #container .page-content{
    background: transparent; /* já tens #fafafa aqui, mas agora o body trata do fundo */
    padding: 24px 0;
}

/* remover linhas/bordas herdadas nos headers da tabela do calendário */
.calendar-page table.jv-competicoes,
.calendar-page table.jv-competicoes th,
.calendar-page table.jv-competicoes td{
    border: 0 !important;
}

.calendar-page table.jv-competicoes > tbody > tr > th{
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}