/* Estilos dos shortcodes do IDA */

.ida-erro { color: #A9351A; font-weight: 600; }

/* Cabeçalhos de seção */
.ida-secao-titulo { text-align: center; margin: 32px 0 24px; }
.ida-secao-titulo h2 {
    color: rgb(34, 34, 34);
    font-family: "Redonda", sans-serif;
    font-size: 42px;
    font-weight: 700;
    letter-spacing: -2.1px;
    line-height: 1.1;
    margin-bottom: 8px;
}
.ida-secao-titulo p { color: #555; }

/* Bandeiras */
.ida-bandeira {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
}
.ida-bandeira-placeholder {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ddd;
    vertical-align: middle;
}
.ida-flag-th, .ida-flag-th.ida-bandeira-placeholder {
    width: 26px;
    height: 26px;
    margin-bottom: 4px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.ida-bandeira-titulo { width: 32px; height: 32px; }
.ida-bandeira-linha { width: 24px; height: 24px; margin: 0 10px; }

/* Barra de progresso */
.ida-barra-fundo {
    width: 100%;
    height: 6px;
    background: #e6e6e6;
    border-radius: 4px;
    overflow: hidden;
}
.ida-barra-preenchimento {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

/* ===================== RESUMO DO ESTADO ===================== */
.ida-resumo-estado { max-width: 540px; }
.ida-resumo-posicao {
    display: block;
    font-size: 0.75em;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #2D6FA3;
    margin-bottom: 6px;
}
.ida-resumo-titulo-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.ida-resumo-titulo { font-size: 2em; font-weight: 800; margin: 0; }
.ida-resumo-nota-linha {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 8px;
}
.ida-resumo-nota { font-size: 2.2em; font-weight: 800; }
.ida-resumo-nota small { font-size: 0.5em; font-weight: 400; color: #888; }
.ida-resumo-classificacao { font-size: 1.3em; font-weight: 800; }
.ida-resumo-cabecalho .ida-barra-fundo { height: 8px; margin-bottom: 28px; }

.ida-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.ida-card {
    border: 1px solid #e2e2e2;
    border-radius: 10px;
    padding: 18px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.ida-card-icone { display: block; width: 26px; height: 26px; margin-bottom: 10px; color: #333; }
.ida-card-icone svg { width: 100%; height: 100%; }
.ida-card-label { display: block; font-weight: 600; margin-bottom: 6px; }
.ida-card-nota { display: block; font-size: 1.6em; font-weight: 800; margin-bottom: 10px; }
.ida-card-nota small { font-size: 0.5em; font-weight: 400; color: #888; }

/* ===================== AVALIACAO COMPLETA (abas) ===================== */
.ida-avaliacao-completa { font-family: "Redonda", sans-serif; }

.ida-abas {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    background: #338CB6;
    border-radius: 80px;
    padding: 8px;
    margin-bottom: 24px;
    justify-content: center;
    align-items: center;
}
.ida-aba {
    flex: 0 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: none !important;
    outline: none !important;
    background: #338CB6 !important;
    border-radius: 80px !important;
    padding: 12px 16px !important;
    font-family: redonda, sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    line-height: 25.5px !important;
    color: #fff !important;
    cursor: pointer !important;
    user-select: none;
    transition: background 0.3s ease, color 0.3s ease;
    box-shadow: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin: 0 !important;
    min-height: auto !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.ida-aba:hover { background: #338CB6 !important; color: #fff !important; }
.ida-aba:focus { outline: none !important; box-shadow: none !important; }
.ida-aba:focus-visible { outline: 2px solid #fff !important; outline-offset: 2px; }
.ida-aba-icone { width: 20px; height: 20px; display: inline-flex; align-items: center; }
.ida-aba-icone svg { width: 100%; height: 100%; }
.ida-aba.ida-aba-ativa {
    background: #FBFBFB !important;
    color: #40AFE4 !important;
}
.ida-aba.ida-aba-ativa:hover { background: #FBFBFB !important; color: #40AFE4 !important; }

.ida-painel { display: none; }
.ida-painel.ida-painel-ativo { display: block; }

.ida-titulo-eixo {
    font-family: "Redonda", sans-serif;
    font-size: 1.05em;
    font-weight: 700;
    margin-top: 28px;
    margin-bottom: 8px;
}
.ida-linha-indicador {
    display: grid;
    grid-template-columns: 1fr 120px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #ececec;
    font-family: "Redonda", sans-serif;
}
.ida-linha-topo {
    display: contents;
}
.ida-linha-nome { grid-column: 1; grid-row: 1; }
.ida-linha-valor { grid-column: 2; grid-row: 1; font-weight: 700; white-space: nowrap; text-align: right; }
.ida-barra-linha { grid-column: 2; grid-row: 2; }
.ida-barra-linha .ida-barra-fundo { height: 4px; }

/* ===================== TABELA CRUZADA (dimensao) ===================== */
.ida-tabela-dimensao-scroll {
    overflow-x: auto !important;
    border-radius: 12px !important;
    border: 1px solid #e8e8e8 !important;
}
.ida-tabela-cruzada {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    font-size: 0.9em !important;
    font-family: "Redonda", sans-serif !important;
}
.ida-tabela-cruzada thead { border-bottom: none !important; }
.ida-tabela-cruzada tbody { border-top: none !important; }
.ida-tabela-cruzada thead + tbody tr:first-child td { border-top: 1px solid #e8e8e8 !important; }
.ida-tabela-cruzada tbody tr:last-child td { border-bottom: none !important; }
.ida-tabela-cruzada th, .ida-tabela-cruzada td {
    border: 1px solid #e8e8e8 !important;
    padding: 10px 12px !important;
    text-align: center !important;
    vertical-align: middle !important;
}
.ida-tabela-cruzada thead th {
    background: #f5f5f5 !important;
    font-weight: 700 !important;
    padding: 12px 8px !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
}
.ida-tabela-cruzada .ida-col-indicador {
    min-width: 200px !important;
    max-width: 260px !important;
    text-align: left !important;
}
.ida-tabela-cruzada td.ida-col-indicador {
    text-align: left !important;
}
.ida-linha-secao td {
    background: #fff !important;
    font-weight: 700 !important;
    text-align: left !important;
}
.ida-tabela-cruzada tbody tr:not(.ida-linha-secao) td {
    background: #fff !important;
}
.ida-col-valor-cruzada {
    font-weight: 400 !important;
}
.ida-th-nome {
    display: block !important;
    font-size: 0.85em !important;
    margin-top: 2px !important;
}

/* ===================== RANKING ===================== */
.ida-ranking-container {
    display: flex !important;
    flex-direction: column !important;
    max-width: 450px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    font-family: redonda, sans-serif !important;
    font-size: 16px !important;
}
.ida-ranking-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #338CB6 !important;
    color: #fff !important;
    padding: 12px 12px 12px 39px !important;
    font-weight: 700 !important;
}
.ida-ranking-header-ente { flex: 1 !important; }
.ida-ranking-header-right {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    gap: 40px !important;
}
.ida-ranking-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 12px 12px 39px !important;
    text-decoration: none !important;
    color: inherit !important;
    cursor: pointer !important;
}
.ida-ranking-row:hover { text-decoration: none !important; color: inherit !important; }
.ida-ranking-left {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 !important;
}
.ida-ranking-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 40px !important;
}
.ida-ranking-posicao {
    font-weight: 700 !important;
    min-width: 24px !important;
    display: block !important;
}
.ida-ranking-nome { font-weight: 400 !important; }
.ida-ranking-nota { font-weight: 400 !important; }
.ida-ranking-classif { font-weight: 700 !important; min-width: 80px !important; text-align: right !important; }
.ida-ranking-estados {
    display: flex !important;
    flex-direction: column !important;
}
.ida-linha-uniao { margin-bottom: 24px !important; }
.ida-bandeira-linha {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}
.ida-bandeira-placeholder.ida-bandeira-linha {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}
