/* ============================================================
   INTEGRAFESB — Estilos específicos da página de projetos sociais
   ============================================================ */

/* ---------- Tab menu — fonte maior, igual institucional ---------- */
.integrafesb-page .institucional-tab-btn {
    font-size: 0.875rem !important;
    padding: 0.75rem 1.25rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ---------- Seções de conteúdo ---------- */
.ig-content {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
}

.ig-content .rich-content h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #0d2c54;
    padding-bottom: 0.75rem;
    border-bottom: 3px solid #1d4f91;
    margin-bottom: 1.5rem;
}

.ig-content .rich-content h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1d4f91;
    margin-top: 1.5rem;
    margin-bottom: 0.6rem;
}

.ig-content .rich-content p {
    font-size: 1rem;
    line-height: 1.8;
    color: #374151;
}

.ig-content .rich-content ul li {
    font-size: 1rem;
    line-height: 1.75;
    color: #374151;
    padding-left: 0.25rem;
}

/* ---------- Coluna de foto (HVET, NutriFesb) ---------- */
.ig-photo {
    padding: 0 !important;
}

.ig-photo .rich-content img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    max-height: 380px;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
    margin: 0;
    display: block;
}

/* ---------- Coluna de texto ao lado da foto ---------- */
.ig-text-body {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.ig-text-body .rich-content p {
    font-size: 1rem;
    line-height: 1.8;
    color: #374151;
}

.ig-text-body .rich-content a {
    color: #1d4f91;
    font-weight: 500;
}

/* ---------- FAQ / Acordeão CEEF ---------- */
.ig-faq {
    background: #f8fafc !important;
    padding-top: 1.5rem !important;
    padding-bottom: 2.5rem !important;
}

.ig-faq .space-y-4 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Remove sombra e borda padrão */
.ig-faq details {
    background: #fff;
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    overflow: hidden;
    margin-bottom: 0 !important;
}

/* Summary — header do acordeão */
.ig-faq details summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px !important;
    background: #f0f6ff;
    color: #0d2c54;
    font-size: 1rem !important;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    border-bottom: 1px solid transparent;
    transition: background 0.2s;
}

.ig-faq details summary::-webkit-details-marker { display: none; }

.ig-faq details summary:hover {
    background: #dbeafe;
}

.ig-faq details[open] > summary {
    background: #1d4f91;
    color: #fff;
    border-bottom: 1px solid #1557a0;
}

/* Ícone + / − */
.ig-faq details summary .text-2xl {
    font-size: 1.3rem;
    line-height: 1;
    font-weight: 400;
    transition: transform 0.2s;
    flex-shrink: 0;
}

.ig-faq details[open] > summary .text-2xl::before { content: "−"; }
.ig-faq details:not([open]) summary .text-2xl::before { content: "+"; }
.ig-faq details summary .text-2xl { font-size: 0; } /* esconde o + original */
.ig-faq details summary .text-2xl::before {
    font-size: 1.3rem;
    display: inline-block;
}

/* Corpo do acordeão */
.ig-faq details > div {
    padding: 20px 24px !important;
    background: #fff;
}

.ig-faq details .rich-content p {
    font-size: 1rem;
    line-height: 1.75;
    color: #374151;
}

.ig-faq details .rich-content h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1d4f91;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 1rem 0 0.5rem;
}

/* Imagens dentro do FAQ */
.ig-faq details .rich-content img {
    border-radius: 6px;
    object-fit: cover !important;
    width: calc(25% - 9px) !important;
    height: 160px !important;
    display: inline-block !important;
    margin: 4px !important;
    vertical-align: top;
}

@media (max-width: 768px) {
    .ig-faq details .rich-content img {
        width: calc(50% - 6px) !important;
        height: 130px !important;
    }
}

/* Tabelas dentro do FAQ */
.ig-faq details .rich-content table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
    font-size: 0.93rem;
}

.ig-faq details .rich-content td {
    padding: 8px 12px;
    border-bottom: 1px solid #e2e8f0;
    color: #374151;
}

.ig-faq details .rich-content td:first-child {
    font-weight: 600;
    color: #0d2c54;
    width: 38%;
}

/* ---------- Fundo cinza leve alternado nas seções ---------- */
.institucional-tab-content .ig-content:nth-child(even),
.institucional-tab-content .ig-faq {
    background: #f8fafc !important;
}
