/* ================================ */
/* --- ESTILOS DO BOTÃO DE PESQUISA --- */
/* ================================ */

/* Estilos para o botão de pesquisa para desktop e mobile */
.header-search .search-toggle {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    font-size: 16px;
    padding: 0;
}

/* Ícone de Pesquisa */
.header-search .custom-search-icon {
    width: 24px;
    height: 24px;
    vertical-align: middle;
}

/* Texto "Pesquisar" */
.search-text-desktop {
    line-height: 1;
}


/* ================================ */
/* --- ESTILOS DO OVERLAY DE PESQUISA --- */
/* ================================ */

/* O container principal do overlay de pesquisa */
.search-overlay {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out;
    z-index: 10000; /* Garantir que o overlay fique por cima */
}

/* Quando a classe 'active' é adicionada, o overlay aparece */
.search-overlay.active {
    display: flex;
    position: fixed;
    left: 0;
    top: 0; /* Garantir que o overlay cubra toda a página */
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-in-out;
    /*background-color: rgba(0, 0, 0, 0.5);*/
    justify-content: center;
    align-items: center; /* Garantir que o conteúdo seja centralizado */
    z-index: 10000;
    width: 100%;
    margin-top: 90px; /* Distância do topo */
}

/* Wrapper do campo de busca, posicionado abaixo do cabeçalho */
.search-overlay .search-input-wrapper {
    width: 800px;
    max-width: 800px;
    position: relative; /* Garantir que os botões fiquem relativos a esse container */
}

/* Formulário de busca */
.search-overlay .search-form {
    display: flex;
    padding: 10px 10px 10px 10px;
    width: 100%;
    border-radius: 10px;
    background-color: #151515;
    position: relative; /* Necessário para o posicionamento absoluto dos botões */
}

.search-input-wrapper .search-form .search-field {
    width: 700px;
}

/* Esconde o botão de limpar padrão do navegador */
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

/* Campo de entrada de texto */
.search-overlay .search-field {
    display: flex;
    margin-top: 5px;
    font-size: 16px;
    padding: 10px 10px 10px 10px; /* Adiciona padding para os botões internos */
    border: 1px solid #252525;
    border-radius: 5px;
    background-color: #202020;
    color: #ffffff;
    outline: none; /* Remove a borda de foco padrão */
}

/* Estilo para os botões de fechar e pesquisar dentro do overlay */
.search-overlay button {
    position: absolute;
    margin-top: 15px;
    /*transform: translateY(-50%);*/
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    outline: none;
    color: #ffffff;
}

.clear-search {
    right: 15px; /* Botão de fechar o overlay */
    margin-top: 10px;
}

.submit-search {
    right: 50px; /* Botão de enviar à direita */
}

/* Novo estilo para o botão que limpa apenas o input */
.clear-input {
    right: 100px; /* Posição à esquerda do botão de submit */
    z-index: 10;
    margin-top: 10px;
}

/* Ícones dos botões */
.submit-search img {
    width: 26px;
    height: 26px;
}

.clear-search img {
    width: 24px;
    height: 24px;
}

.clear-input img {
    width: 24px;
    height: 24px;
}

/* ================================ */
/* --- DESIGN RESPONSIVO MOBILE --- */
/* ================================ */
@media (max-width: 767px) {

.search-text-desktop {
    display: none;
}
    
.search-overlay.active {
    width: 360px;
    margin-top: 55px; /* Distância do topo */
}

.search-overlay .search-input-wrapper {
    width: 340px;
    max-width: 340px;
    position: relative; /* Garantir que os botões fiquem relativos a esse container */
}

.search-overlay .search-form {
    display: flex;
    padding: 8px;
    width: 370px;
    border-radius: 10px;
    background-color: #151515;
    position: relative; /* Necessário para o posicionamento absoluto dos botões */
}

.search-input-wrapper .search-form .search-field {
    width: 280px;
}

.search-overlay .search-field {
    /*margin-top: 5px;*/
    font-size: 16px;
    padding: 10px 10px 10px 10px;
}
    
.search-overlay button {
    margin-top: 14px;
}

.clear-search {
    right: 10px; /* Botão de fechar o overlay */
}

.submit-search {
    right: 45px; /* Botão de enviar à direita */
}

/* Novo estilo para o botão que limpa apenas o input */
.clear-input {
    right: 90px; /* Posição à esquerda do botão de submit */
}

.submit-search img {
    width: 26px;
    height: 26px;
    margin-top: 1px;
}

.clear-search img {
    width: 24px;
    height: 24px;
    margin-top: 4px;
}

.clear-input img {
    width: 24px;
    height: 24px;
    margin-top: 4px;
}

#search-results-container {
    width: 370px;
}

.page-title {
    font-size: 16px !important;
    color: #ffffff;
    margin-left: 0px;
    margin-top: 0px;
}

.single-gallery-container {
    margin: 0 auto;
}

.gallery-item-full .entry-title {
   padding: 0 30px;
}

.gallery-item-full .entry-content {
    max-width: 300px;
    margin: 0 auto;
}

.gallery-item-full img {
    width: 280px;
    height: auto;
    max-height: 300px;
    margin: 0 auto;
}
}

/* ================================ */
/* --- ESTILOS DOS RESULTADOS DE PESQUISA --- */
/* ================================ */

/* Container para os resultados do AJAX */
#search-results-container {
    margin-top: 10px;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Lista de títulos da busca AJAX */
#search-results-container .search-results-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#search-results-container .search-results-list li a {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    color: #000000; /* Cor do texto alterada para preto */
    font-size: 16px;
    border-bottom: 1px solid #eee;
    transition: background-color 0.2s ease;
}

#search-results-container .search-results-list li a:hover {
    background-color: #f5f5f5;
}

/* Estilos para a página de resultados (e agora o single) */
.page-title {
    font-size: 20px;
    color: #ffffff;
    margin-left: 0;
    /*margin-top: 50px;*/ /* Ajuste conforme necessário */
    /*text-align: center;*/
}


.container-galeria {
    display: grid;
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
    align-items: center;
    justify-content: center;
}

.gallery-item {
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: #212121;
    border: 1px solid #212121;
    border-radius: 15px;
    box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.gallery-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

/* Container para o item na página individual */
.single-gallery-container {
    max-width: 900px; /* Define uma largura máxima para o container */
    margin: 0 auto; /* Centraliza o container horizontalmente */
    margin-top: 20px;
}

/* Estilo para o item de galeria na página single */
.gallery-item-full {
    text-align: center; /* Centraliza o conteúdo (título e imagem) */
    border-radius: 8px;
    overflow: hidden;
    /* --- CORREÇÃO ADICIONADA AQUI --- */
    position: relative !important; /* Adiciona essa linha para fixar o botão corretamente */   
    /* --- FIM DA CORREÇÃO --- */
}

/* Ajusta a posição do botão de favoritos dentro do link da imagem */
.gallery-item-full a {
    position: relative !important;
    display: block !important;
}

.gallery-item-full .entry-title {
    /*margin-bottom: 0px; /* Adiciona espaçamento abaixo do título */
    font-size: 16px;
    color: #ffffff;
}

.gallery-item-full .entry-content {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: center; /* Centraliza a imagem e o botão verticalmente */
    min-height: 5vh;
}

.gallery-item-full img {
    width: 400px;
    height: auto;
    max-height: 400px;
    object-fit: contain;
    display: block;
    border-radius: 8px;
    aspect-ratio: 1 / 1;
    background-color: #212121;
    border: 1px solid #212121;
    border-radius: 15px;
    box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.6);
}

.no-results {
    text-align: center;
    padding: 40px 20px;
}

.no-results .page-title {
    color: #666;
    margin-bottom: 10px;
}

.no-results p {
    color: #888;
    font-size: 16px;
}

/* Responsivo para resultados de pesquisa */
@media (max-width: 767px) {
    .container-galeria {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 15px;
    }

    .gallery-item img {
        height: 150px;
    }

    .page-title {
        font-size: 20px;
    }
}