/* ==========================================================
   PUBLICAÇÕES — Estilos da área
   Carregado condicionalmente apenas nas páginas da área.
   Depende de: femipa-layout, femipa-hero
   ========================================================== */


/* ----------------------------------------------------------
   ESTRUTURA BASE
   ---------------------------------------------------------- */

.pub-content {
    padding-bottom: var(--spacing-max);
}

.pub-subpagina {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--spacing-l);
    padding-top: var(--spacing-xl);
}

/* Cabeçalho ocupa todas as 12 colunas */
.pub-subpagina__cabecalho {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-l);
    margin-bottom: var(--spacing-xxl);
}

/* Todo o restante: colunas 2–11 */
.pub-subpagina__cabecalho ~ * {
    grid-column: 2 / 12;
}

.pub-subpagina__titulo {
    margin: 0;
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-heading);
    color: var(--color-text-primary);
}

.pub-subpagina__vazio {
    color: var(--color-text-secondary);
    font-size: var(--font-size-body);
}


/* ----------------------------------------------------------
   BOTÃO VOLTAR
   Mesmo padrão de .qs-voltar em quem-somos.css
   ---------------------------------------------------------- */

.pub-voltar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border: 1px solid var(--color-border-default);
    border-radius: var(--corner-md);
    background-color: var(--full-white);
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.pub-voltar:hover {
    background-color: var(--color-bg-subtle);
    border-color: var(--color-border-strong);
}

.pub-voltar__icon {
    width: 18px;
    height: 18px;
}


/* ----------------------------------------------------------
   HUB — Lista de tipos de publicação
   ---------------------------------------------------------- */

.pub-hub {
    padding-top: var(--spacing-xl);
    padding-bottom: var(--spacing-max);
}

.pub-hub__lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.pub-hub__item {
    border-bottom: 1px solid var(--color-border-default);
}

.pub-hub__item:first-child {
    border-top: 1px solid var(--color-border-default);
}

.pub-hub__link {
    display: flex;
    align-items: center;
    gap: var(--spacing-l);
    padding: var(--spacing-l) 0;
    text-decoration: none;
    color: var(--color-text-primary);
    transition: background-color 0.15s ease;
}

.pub-hub__link:hover .pub-hub__nome {
    color: var(--color-primary);
}

.pub-hub__link:hover .pub-hub__btn {
    background-color: var(--color-button-secondary-bg-hover);
}

.pub-hub__thumb-wrap {
    width: 75px;
    height: 100px;
    flex-shrink: 0;
    border-radius: var(--corner-sm);
    overflow: hidden;
    background-color: var(--color-bg-subtle);
}

.pub-hub__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pub-hub__thumb--vazio {
    width: 100%;
    height: 100%;
    background-color: var(--color-bg-subtle);
}

.pub-hub__nome {
    flex: 1;
    font-size: var(--font-size-body-lg);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
    transition: color 0.15s ease;
}

.pub-hub__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: var(--corner-md);
    background-color: var(--color-button-secondary-bg);
    color: var(--full-white);
    transition: background-color 0.15s ease;
}

.pub-hub__btn-icon {
    width: 18px;
    height: 18px;
}


/* ----------------------------------------------------------
   GRID DE PUBLICAÇÕES (cards em 2 colunas)
   ---------------------------------------------------------- */

.pub-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--spacing-xxl);
    row-gap: 0;
}

.pub-card {
    display: grid;
    grid-template-columns: 150px 1fr 48px;
    align-items: start;
    gap: var(--spacing-m);
    padding: var(--spacing-m) 0;
    border-bottom: 1px solid var(--color-border-default);
}

.pub-card__capa-wrap {
    width: 150px;
    height: 200px;
    flex-shrink: 0;
    border-radius: var(--corner-sm);
    overflow: hidden;
    background-color: var(--color-bg-subtle);
}

.pub-card__capa-wrap > a {
    display: block;
    width: 100%;
    height: 100%;
}

.pub-card__capa-wrap > a .pub-card__capa {
    transition: transform 0.35s ease;
}

.pub-card__capa-wrap > a:hover .pub-card__capa {
    transform: scale(1.03);
}

.pub-card__capa {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pub-card__capa--vazia {
    width: 100%;
    height: 100%;
    background-color: var(--color-bg-subtle);
}

.pub-card__corpo {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    min-width: 0;
}

.pub-card__titulo {
    margin: 0;
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
    line-height: var(--line-height-body);
}

.pub-card__edicao {
    margin: 0;
    font-size: var(--font-size-body-sm);
    color: var(--color-text-secondary);
    line-height: var(--line-height-body);
}

.pub-card__download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    align-self: start;
    border-radius: var(--corner-md);
    background-color: var(--color-button-secondary-bg);
    color: var(--full-white);
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.pub-card__download:hover {
    background-color: var(--color-button-secondary-bg-hover);
}

.pub-card__download svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}


/* ----------------------------------------------------------
   BOTÃO CARREGAR MAIS
   ---------------------------------------------------------- */

.pub-carregar-mais {
    grid-column: 1 / -1;
    margin-top: var(--spacing-xl);
    display: flex;
    justify-content: flex-start;
}

.pub-carregar-mais[hidden] {
    display: none;
}

.pub-btn-mais {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-s);
    padding: var(--spacing-m) var(--spacing-xxl);
    font-family: var(--font-family-base);
    font-size: var(--font-size-button);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-button);
    color: var(--color-button-primary-text);
    background-color: var(--color-button-primary-bg);
    border: none;
    border-radius: var(--corner-md);
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.pub-btn-mais:hover {
    background-color: var(--color-button-primary-bg-hover);
}

.pub-btn-mais:active {
    background-color: var(--color-button-primary-bg-active);
}

.pub-btn-mais:disabled {
    background-color: var(--color-button-primary-bg-disabled);
    color: var(--color-button-primary-text-disabled);
    cursor: not-allowed;
}


/* ----------------------------------------------------------
   BALANCETES MENSAIS — Lista de arquivos por mês
   Pills e painéis movidos para assets/css/ui.css (componente global).
   ---------------------------------------------------------- */

.pub-balancetes {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-l);
}

.pub-balancetes__lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.pub-balancetes__item {
    border-bottom: 1px solid var(--color-border-default);
}

.pub-balancetes__item:first-child {
    border-top: 1px solid var(--color-border-default);
}

.pub-balancetes__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-m) 0;
    text-decoration: none;
    color: var(--color-text-primary);
    font-size: var(--font-size-body);
    transition: color 0.15s ease;
}

.pub-balancetes__link:hover {
    color: var(--color-secondary);
}

.pub-balancetes__link-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--color-secondary);
}


/* ----------------------------------------------------------
   RESPONSIVO — Tablet (≤ 1024px)
   ---------------------------------------------------------- */

@media (max-width: 1024px) {

    .pub-subpagina__cabecalho ~ * {
        grid-column: 1 / -1;
    }

    .pub-hub__nome {
        font-size: var(--font-size-body);
    }

}


/* ----------------------------------------------------------
   RESPONSIVO — Mobile (≤ 768px)
   ---------------------------------------------------------- */

@media (max-width: 768px) {

    .pub-grid {
        grid-template-columns: 1fr;
    }

    .pub-grid .pub-card:nth-child(odd) {
        padding-right: 0;
        border-right: none;
    }

    .pub-grid .pub-card:nth-child(even) {
        padding-left: 0;
    }

    .pub-grid .pub-card:last-child {
        border-bottom: none;
    }

    .pub-hub__thumb-wrap {
        width: 48px;
        height: 48px;
    }

    .pub-btn-mais {
        width: 100%;
        justify-content: center;
    }

}
