/* FCF – Égol Webservice | v1.41.0 */

:root {
    --fcf-verde:     #004701;
    --fcf-verde-esc: #004d26;
    --fcf-verde-bg:  #f0ffe4;
    --fcf-vermelho:  #cc0000;
    --fcf-branco:    #ffffff;
    --fcf-cinza:     #e3e3e3;
    --fcf-cinza-bd:  #f8f8f8;
    --fcf-texto:     #000;
    --fcf-texto-sec: #666666;
    --fcf-radius:    3px;
    --fcf-font:      inherit;
}

/* =========================================================================
   Base
   ========================================================================= */

.fcf-wrap { font-family: var(--fcf-font); color: var(--fcf-texto); width: 80%; margin: 45px auto; }
.fcf-hidden { display: none !important; }
.fcf-empty  { color: var(--fcf-texto-sec); font-style: italic; padding: 12px 0; }

.fcf-table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* =========================================================================
   Logos
   ========================================================================= */

.fcf-logo-time { display: inline-block; object-fit: contain; vertical-align: middle; }
.fcf-logo-xs  { width: 18px;  height: 18px; }
.fcf-logo-sm  { width: 24px;  height: 24px; margin-right: 6px; mix-blend-mode: darken; }
.fcf-logo-lg  { width: 64px;  height: 64px; }

/* =========================================================================
   Tabs genéricas
   ========================================================================= */

.fcf-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    border-bottom: 2px solid var(--fcf-verde);
    margin-bottom: 16px;
}

.fcf-tab {
    background: none;
    border: none;
    border-radius: var(--fcf-radius) var(--fcf-radius) 0 0;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    color: var(--fcf-texto-sec);
    transition: background 0.15s, color 0.15s;
}

.fcf-tab:hover { background: var(--fcf-verde-bg); color: #000; }

.fcf-tab--active {
    background: #30e606;
    color: #000;
}

/* =========================================================================
   Tabela de classificação
   ========================================================================= */

.fcf-tabela-wrap { }

.fcf-grupo-nome {
    font-size: 18px;
    font-weight: 400;
    text-transform: uppercase;
    color: #000;
    margin: 16px 0 8px;
    border-left: none;
    padding-left: 0;
}

.fcf-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.fcf-table thead th {
    background: #f8f8f8;
    padding: 8px 6px;
    text-align: center;
    font-weight: 600;
    white-space: nowrap;
}

.fcf-table tbody tr:nth-child(even) { background: var(--fcf-cinza); }
.fcf-table tbody tr:hover           { background: var(--fcf-verde-bg); }

.fcf-table tbody td {
    padding: 8px 6px;
    vertical-align: middle;
    border-bottom: 1px solid var(--fcf-cinza-bd);
}

.fcf-col-pos   { text-align: center; width: 32px; font-weight: 800; }
.fcf-col-num   { text-align: center; width: 36px; }
.fcf-col-clube { text-align: left; min-width: 140px; }
.fcf-col-clube span { vertical-align: middle; }

.fcf-pts { font-weight: 700; color: var(--fcf-verde-esc); }

/* Últimos resultados */
.fcf-res-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    margin: 1px;
}
.fcf-res--v { background: #2e8b57; }
.fcf-res--e { background: #f0a500; color: #333; }
.fcf-res--d { background: #cc0000; }

/* =========================================================================
   Jogos / Rodadas
   ========================================================================= */

.fcf-jogos-wrap { }

.fcf-rodada-nav {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 6px;
    margin-bottom: 16px;
    text-align: center;
}

.fcf-btn-rodada {
    background: #888;
    color: var(--fcf-branco);
    border: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    transition: background 0.15s;
}
.fcf-btn-rodada:disabled { background: #e3e3e3; cursor: default; }
.fcf-btn-rodada:not(:disabled):hover { background: #30e606; }

.fcf-rodada-titulo {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fcf-rodada-nome-unica {
    font-size: 15px;
    font-weight: 700;
    color: var(--fcf-verde-esc);
    margin-bottom: 12px;
}

.fcf-jogo-card {
    background: var(--fcf-branco);
    border: 1px solid #e3e3e3;
    border-radius: var(--fcf-radius);
    padding: 12px 16px;
    margin-bottom: 10px;
}

.fcf-jogo-meta {
    font-size: 13px;
    font-weight: 600;
    color: var(--fcf-texto-sec);
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.fcf-jogo-placar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.fcf-time {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 1;
}
.fcf-time--mandante  { align-items: center; text-align: center; }
.fcf-time--visitante { align-items: center; text-align: center; }

.fcf-time-nome {
    font-size: 9px;
    font-weight: 500;
    line-height: 1.2;
}

.fcf-logo-time.fcf-logo-jogo { width: 36px; height: 36px; }

.fcf-placar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.fcf-gol {
    font-size: 28px;
    font-weight: 800;
    color: #000;
    min-width: 28px;
    text-align: center;
}

.fcf-placar-sep, .fcf-placar-vs {
    font-size: 18px;
    color: var(--fcf-texto-sec);
    font-weight: 400;
}

/* Separador no cabeçalho do detalhe do jogo */
.fcf-jd-placar .fcf-placar-sep {
    font-size: 36px;
    color: #888;
    font-weight: 400;
}

.fcf-placar-pen {
    font-size: 11px;
    color: var(--fcf-texto-sec);
    display: block;
    text-align: center;
}

.fcf-jogo-acoes {
    margin-top: 5px;
    text-align: center;
}

.fcf-btn {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: background 0.15s;
}
.fcf-btn--sobre {
    background: #000;
    color: var(--fcf-branco);
}
.fcf-btn--sobre:hover { background: #333; color: var(--fcf-branco); }

.fcf-btn--back {
    background: #000;
    color: #fff;
    border: 1px solid #000;
}
.fcf-btn--back:hover { background: #fff; color: #000; }

.fcf-jd-back { margin-bottom: 16px; }

.fcf-jogo-obs {
    margin-top: 8px;
    font-size: 12px;
    color: var(--fcf-texto-sec);
    text-align: center;
}

/* =========================================================================
   Artilharia e Goleiros
   ========================================================================= */

.fcf-artilharia-table,
.fcf-goleiros-table { width: 100%; }

.fcf-col-jogador    { text-align: left; }
.fcf-col-clube-art  { text-align: left; white-space: nowrap; }
.fcf-gols-count     { font-weight: 700; color: var(--fcf-verde-esc); font-size: 15px; }

.fcf-foto-jogador {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
    margin-right: 8px;
}

.fcf-jogador-info { display: inline-flex; flex-direction: column; vertical-align: middle; }
.fcf-jogador-apelido { font-weight: 600; font-size: 14px; }
.fcf-jogador-nome    { font-size: 11px; color: var(--fcf-texto-sec); }
.fcf-jogador-cbf     { font-size: 10px; color: var(--fcf-texto-sec); }

/* =========================================================================
   Atletas habilitados — Accordion
   ========================================================================= */

.fcf-atletas-table { width: 100%; }

.fcf-accordion-item {
    border: 1px solid var(--fcf-cinza-bd);
    border-radius: var(--fcf-radius);
    margin-bottom: 8px;
    overflow: hidden;
}

.fcf-accordion-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    font-size: 14px;
    font-weight: 700;
    color: var(--fcf-verde-esc);
    background: var(--fcf-cinza);
    transition: background 0.15s;
}
.fcf-accordion-header::-webkit-details-marker { display: none; }
.fcf-accordion-header::after {
    content: '▾';
    margin-left: auto;
    font-size: 18px;
    color: var(--fcf-verde);
    transition: transform 0.2s;
    flex-shrink: 0;
}
details[open] > .fcf-accordion-header { background: var(--fcf-verde-bg); }
details[open] > .fcf-accordion-header::after { transform: rotate(-180deg); }
.fcf-accordion-header:hover { background: var(--fcf-verde-bg); }

.fcf-accordion-nome  { flex: 1; }
.fcf-atletas-total   { font-size: 12px; font-weight: 400; color: var(--fcf-texto-sec); white-space: nowrap; }

.fcf-accordion-body { padding: 12px 16px 16px; }

.fcf-status-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 99px;
    white-space: nowrap;
}
.fcf-status--ok   { background: #d4edda; color: #155724; }
.fcf-status--pend { background: #fff3cd; color: #856404; }

/* =========================================================================
   Documentos do campeonato (links manuais)
   ========================================================================= */

.fcf-doc-camp-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--fcf-cinza);
}

.fcf-doc-camp-nome {
    font-size: 15px;
    font-weight: 500;
    flex: 1;
}

/* =========================================================================
   Documentos (API Égol — por jogo)
   ========================================================================= */

.fcf-docs-list { list-style: none; margin: 0; padding: 0; }

.fcf-docs-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--fcf-cinza-bd);
    font-size: 18px;
}

.fcf-docs-tipo {
    background: var(--fcf-verde-bg);
    color: var(--fcf-verde-esc);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 99px;
    white-space: nowrap;
}

.fcf-docs-link {
    color: #000;
    text-decoration: none;
    font-weight: 500;
}
.fcf-docs-link:hover { text-decoration: underline; color: #000; }
.fcf-docs-ext { font-size: 12px; opacity: 0.7; }

/* =========================================================================
   Detalhe do Jogo
   ========================================================================= */

.fcf-jogo-detalhe-wrap { }

.fcf-jd-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f8f8f8;
    color: #000;
    border-radius: var(--fcf-radius);
    padding: 24px 20px;
    margin-bottom: 20px;
    text-align: center;
}

.fcf-jd-time {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.fcf-jd-nome-time {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.fcf-logo-lg { border-radius: 4px; mix-blend-mode: multiply; }

.fcf-jd-centro {
    flex-shrink: 0;
    min-width: 100px;
    text-align: center;
}

.fcf-jd-placar {
    font-size: 36px;
    font-weight: 900;
    letter-spacing: 4px;
    color: #000;
}

.fcf-jd-status {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    opacity: 0.8;
    margin-top: 4px;
}

.fcf-jd-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 14px;
    opacity: 1;
    margin-top: 6px;
    color: #000;
    font-weight: 500;
}

.fcf-jd-camp-nome {
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #000;
    margin: 0 0 16px;
    text-align: center;
    border: 1px solid #e3e3e3;
    padding: 10px 0;
    border-radius: 3px;
}

.fcf-jd-panel { margin-bottom: 24px; }

.fcf-jd-section-title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--fcf-verde);
    border-bottom: 2px solid var(--fcf-verde-bg);
    padding-bottom: 4px;
    margin: 20px 0 10px;
}

/* Escalação */
.fcf-escalacao-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.fcf-escalacao-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--fcf-verde-esc);
    margin-bottom: 10px;
    text-align: center;
}

.fcf-escalacao-lista { list-style: none; margin: 0; padding: 0; }

.fcf-escalacao-jogador {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid var(--fcf-cinza);
    font-size: 13px;
}
.fcf-escalacao-jogador.fcf-reserva { color: var(--fcf-texto-sec); }

.fcf-num-camisa {
    width: 22px;
    text-align: center;
    font-weight: 700;
    color: var(--fcf-verde);
    flex-shrink: 0;
}

.fcf-badge-titular {
    margin-left: auto;
    font-size: 10px;
    background: var(--fcf-verde-bg);
    color: var(--fcf-verde);
    padding: 1px 5px;
    border-radius: 3px;
}

/* Eventos */
.fcf-eventos-lista { list-style: none; margin: 0; padding: 0; }

.fcf-evento {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 0;
    border-bottom: 1px solid var(--fcf-cinza);
    font-size: 13px;
}

.fcf-evento-min {
    font-weight: 700;
    color: var(--fcf-verde);
    min-width: 32px;
}
.fcf-evento-clube  { color: var(--fcf-texto-sec); font-size: 12px; }
.fcf-evento-motivo { color: var(--fcf-texto-sec); font-size: 11px; font-style: italic; }
.fcf-evento-tipo   { font-size: 11px; background: var(--fcf-cinza); padding: 2px 5px; border-radius: 3px; }

.fcf-evento--amarelo .fcf-evento-min::before { content: "🟨"; margin-right: 4px; }
.fcf-evento--vermelho .fcf-evento-min::before { content: "🟥"; margin-right: 4px; }
.fcf-sub-entrou { color: #2e8b57; font-weight: 500; }
.fcf-sub-saiu   { color: #cc0000; font-weight: 500; }

/* Arbitragem */
.fcf-arb-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    gap: 16px;
}

.fcf-arb-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: #f8f8f8;
    border-radius: var(--fcf-radius);
}

.fcf-arb-cargo { display: block; font-size: 15px; color: var(--fcf-texto-sec); }
.fcf-arb-nome  { display: block; font-size: 16px; font-weight: 600; }

/* =========================================================================
   Shortcode de destaque [shortcodestaque]
   ========================================================================= */

.fcf-destaque-wrap {
    font-family: var(--fcf-font);
    color: var(--fcf-texto);
}

/* Na página /competicoes/, o destaque é irmão do seletor — alinha com o .fcf-wrap */
.fcf-campeonatos-wrap ~ .fcf-destaque-wrap {
    width: 80%;
    margin: 0 auto 45px;
}

.fcf-destaque-titulo {
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #000;
    margin: 0 0 16px;
    text-align: center;
    border: 1px solid #e3e3e3;
    padding: 10px 0;
    line-height: 1.1em;
    border-radius: 3px;
}

/* =========================================================================
   Campeonato completo (shortcode [fcf_campeonato])
   ========================================================================= */

.fcf-camp-titulo {
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #000;
    margin: 0 0 16px;
    text-align: center;
    border: 1px solid #e3e3e3;
    padding: 10px 0;
    line-height: 1.1em;
    border-radius: 3px;
}

/* Abas principais: mais altas e destaque maior */
.fcf-camp-tabs {
    gap: 2px;
    border-bottom: 1px solid #e3e3e3;
    margin-bottom: 20px;
}

.fcf-camp-tabs .fcf-tab {
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-radius: var(--fcf-radius) var(--fcf-radius) 0 0;
}

/* Abas secundárias (fases): menores */
.fcf-tab--sm {
    padding: 6px 12px;
    font-size: 13px;
}

/* Navegação de fases — um nome por vez com setas */
.fcf-fase-nav-header {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 6px;
    margin-top: 16px;
    margin-bottom: 16px;
    text-align: center;
}

.fcf-btn-fase {
    background: #888;
    color: var(--fcf-branco);
    border: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    transition: background 0.15s;
}
.fcf-btn-fase:disabled { background: #e3e3e3; cursor: default; }
.fcf-btn-fase:not(:disabled):hover { background: #30e606; }

.fcf-fase-titulo {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fcf-camp-panel { min-height: 100px; }

/* =========================================================================
   Responsivo
   ========================================================================= */

/* =========================================================================
   Seletor de campeonatos ([fcf_campeonatos])
   ========================================================================= */

.fcf-selector-anos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.fcf-selector-ano {
    padding: 6px 18px;
    border-radius: 99px;
    border: 2px solid #e3e3e3;
    background: #e3e3e3;
    color: var(--fcf-texto);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
}
.fcf-selector-ano:hover { border-color: #30e606; color: #000; }
.fcf-selector-ano--ativo {
    background: #30e606;
    border-color: #30e606;
    color: #000;
}

.fcf-camp-select-wrap {
    margin-bottom: 24px;
}

.fcf-camp-select {
    width: 100%;
    max-width: 60%;
    padding: 0px 13px;
    font-size: 15px;
    font-weight: 500;
    border: 1px solid #e3e3e3;
    border-radius: var(--fcf-radius);
    background: #fff;
    color: #000;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23004701' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 40px;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.fcf-camp-select:focus {
    outline: none;
    border-color: #30e606;
    box-shadow: 0 0 0 3px rgba(0,102,51,.15);
}

.fcf-camp-back { margin-bottom: 16px; }

/* =========================================================================
   Layout por fase: tabela + jogos lado a lado
   ========================================================================= */

.fcf-fase-grid { display: block; }

.fcf-fase-grid--2col {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 32px;
    align-items: start;
}

.fcf-secao-titulo {
    font-size: 21px;
    font-weight: 500;
    letter-spacing: 0.1px;
    color: #000;
    margin: 0 0 15px;
    padding-bottom: 6px;
    padding-left: 10px;
    border-bottom: none;
    border-left: 6px solid #30e606;
}

.fcf-col-grafico { text-align: center; white-space: nowrap; }

@media (max-width: 1100px) {
    .fcf-fase-grid--2col .fcf-col-grafico { display: none; }
}

@media (max-width: 900px) {
    .fcf-fase-grid--2col { grid-template-columns: 1fr; }
}

/* =========================================================================
   Responsivo
   ========================================================================= */

@media (max-width: 600px) {
    .fcf-wrap           { width: 95%; margin: 20px auto; }
    .fcf-col-hide-sm    { display: none; }
    .fcf-jd-header      { flex-direction: column; }
    .fcf-jd-time        { flex-direction: row; }
    .fcf-escalacao-grid { grid-template-columns: 1fr; }
    .fcf-jogo-placar    { flex-wrap: wrap; }
    .fcf-time-nome      { font-size: 12px; }
    .fcf-gol            { font-size: 22px; }
    .fcf-tab            { padding: 6px 10px; font-size: 12px; }
    .fcf-camp-tabs .fcf-tab { padding: 8px 12px; font-size: 12px; }
    .fcf-accordion-header { font-size: 13px; padding: 10px 12px; }
}
