/*--------------------------------------------------------------
5.0 - Arquivos de Listagem (archive.php, index.php)
--------------------------------------------------------------*/

/* --- Header Dinâmico com Banner --- */
.archive-header-dynamic {
    padding: 5rem 2rem;
    background-color: #343a40;
    background-size: cover;
    background-position: center center;
    border-radius: var(--raio-borda);
    margin-bottom: 3rem;
    position: relative;
    text-align: center;
    color: #fff;
    overflow: hidden;
}

.archive-header-dynamic .header-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.archive-header-dynamic .header-content {
    position: relative;
    z-index: 2;
}

.archive-title {
    font-size: clamp(2rem, 6vw, 3.5rem);
    margin: 0;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.5);
}

.archive-description {
    font-size: 1.1rem;
    margin-top: 1rem;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.9;
}

/* --- Container da Lista de Frases --- */
.archive-listicle-container {
    counter-reset: listicle-counter; /* Inicializa o contador para a lista de arquivo */
}

/* Estilos para o conteúdo do item da lista no arquivo */
.listicle-item-content .frase-texto {
    font-style: normal;
    font-size: 1.1rem;
    line-height: 1.5;
    margin-bottom: 5px;
}
.listicle-item-content .frase-texto a {
    color: var(--cor-texto);
    text-decoration: none;
    transition: color 0.2s;
}
.listicle-item-content .frase-texto a:hover {
    color: var(--cor-primaria);
}

.listicle-item-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-grow: 1;
}

.listicle-item-content .phrase-author {
    font-style: normal;
    font-size: 0.9rem;
    color: var(--cor-texto-suave);
}
.listicle-item-content .phrase-author a {
    color: var(--cor-texto-suave);
    border-bottom: 1px dotted var(--cor-borda);
}
.listicle-item-content .phrase-author a:hover {
    color: var(--cor-primaria);
}


/* --- Paginação Estilizada --- */
.the-posts-pagination {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
}
.nav-links {
    display: flex;
    gap: 8px;
}
.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    min-width: 40px;
    height: 40px;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    color: var(--cor-primaria);
    text-decoration: none;
    transition: all 0.2s ease;
    background-color: var(--cor-fundo-item);
}
.page-numbers:hover {
    background-color: var(--cor-primaria);
    color: #fff;
    border-color: var(--cor-primaria);
}
.page-numbers.current {
    background-color: var(--cor-primaria);
    color: #fff;
    border-color: var(--cor-primaria);
    cursor: default;
}
.page-numbers.dots {
    border: none;
    background-color: transparent;
}


/* --- Fallback para no-results e responsividade --- */
.no-results-found {
    text-align: center;
    padding: 2rem;
    background-color: var(--cor-fundo-item);
    border-radius: var(--raio-borda);
}


/*--------------------------------------------------------------
7.0 - Botão Carregar Mais (AJAX)
--------------------------------------------------------------*/
.load-more-container {
    text-align: center;
    margin-top: 3rem;
    margin-bottom: 2rem;
}
.button-load-more {
    background-color: var(--cor-primaria);
    color: #fff;
    border: none;
    padding: 15px 40px;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 15px rgba(0, 115, 230, 0.2);
}
.button-load-more:hover {
    opacity: 0.9;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 115, 230, 0.3);
}
.button-load-more:disabled {
    background-color: var(--cor-texto-suave);
    cursor: not-allowed;
    transform: translateY(0);
    box-shadow: none;
}

/* --- Estilos da Página de Busca --- */
.search-results-page .archive-title span {
    color: var(--cor-primaria);
    font-style: italic;
}

.no-results-search {
    text-align: center;
    background-color: #fff;
    padding: 3rem 2rem;
    border-radius: var(--raio-borda);
}
.no-results-search h2 {
    margin-top: 0;
}
.no-results-search .search-form-custom {
    margin-top: 2rem;
}