.gem-aps-search-container {
    position: relative;
    max-width: 500px; /* Ajuste conforme necessário */
    margin: 10px auto; /* Apenas para exemplo */
}

.gem-aps-search-form {
    display: flex;
    width: 100%;
}

.gem-aps-search-field {
    flex-grow: 1;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 3px 0 0 3px;
    font-size: 1em;
}

.gem-aps-search-submit { /* Botão de submit tradicional, escondido por padrão */
    padding: 10px 15px;
    border: 1px solid #0073aa;
    background-color: #0073aa;
    color: white;
    cursor: pointer;
    border-radius: 0 3px 3px 0;
    font-size: 1em;
}

.gem-aps-results-wrapper {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #fff;
    border: 1px solid #ddd;
    border-top: none;
    z-index: 1000;
    max-height: 400px;
    overflow-y: auto;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    display: none; /* Começa escondido */
}

.gem-aps-results {
    padding: 0;
}

.gem-aps-result-item {
    border-bottom: 1px solid #eee;
}
.gem-aps-result-item:last-child {
    border-bottom: none;
}

.gem-aps-result-item a {
    display: flex;
    align-items: center;
    padding: 10px;
    text-decoration: none;
    color: #333;
}

.gem-aps-result-item a:hover {
    background-color: #f9f9f9;
}

.gem-aps-item-thumbnail {
    margin-right: 10px;
    flex-shrink: 0; /* Impede que a miniatura encolha */
}

.gem-aps-item-thumbnail img {
    width: 50px; /* Tamanho da miniatura */
    height: 50px;
    object-fit: cover; /* Garante que a imagem cubra a área sem distorcer */
    border-radius: 3px; /* Opcional: bordas arredondadas */
}

.gem-aps-item-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gem-aps-item-title {
    font-weight: bold;
    font-size: 0.9em;
    margin-bottom: 4px;
}

.gem-aps-item-price {
    font-size: 0.85em;
    color: #555;
}

.gem-aps-searching-message,
.gem-aps-no-results-message {
    padding: 10px;
    text-align: center;
    color: #777;
}


/* Layout de Grade de Produtos para a Página de Resultados da Pesquisa */
/* Garante que os produtos sejam exibidos em colunas na página de resultados. */

body.search-results .site-main ul.products {
    display: flex; /* Ativa o layout flexbox */
    flex-wrap: wrap; /* Permite que os itens quebrem para a próxima linha */
    list-style: none outside; /* Remove os marcadores de lista */
    padding: 0;
    margin-left: -15px;  /* Compensa o padding dos itens, ajuste conforme necessário */
    margin-right: -15px; /* Compensa o padding dos itens, ajuste conforme necessário */
}

body.search-results .site-main ul.products li.product {
    box-sizing: border-box; /* Garante que padding e border não aumentem a largura total */
    
    /* Para 4 colunas */
    width: calc(25% - 30px); 
    /* Se preferir 3 colunas, comente a linha acima e descomente a linha abaixo */
    /* width: calc(33.333% - 30px); */
    
    margin-left: 15px;  /* Espaçamento à esquerda do produto */
    margin-right: 15px; /* Espaçamento à direita do produto */
    margin-bottom: 30px; /* Espaçamento abaixo do produto */
    float: none; /* Remove float se houver, para o flexbox funcionar corretamente */
    clear: none; /* Remove clear se houver */
}

/* Ajustes Responsivos */

/* Tablets e telas médias (ex: 2 colunas) */
@media (max-width: 992px) {
    body.search-results .site-main ul.products li.product {
        width: calc(50% - 30px); /* 2 colunas */
    }
}

/* Celulares (ex: 1 coluna) */
@media (max-width: 544px) {
    body.search-results .site-main ul.products {
        margin-left: 0;
        margin-right: 0;
    }
    body.search-results .site-main ul.products li.product {
        width: calc(100% - 30px); /* 1 coluna, com margens laterais */
        /* Ou, se preferir largura total sem margens laterais no item: */
        /* width: 100%; */
        /* margin-left: 0; */
        /* margin-right: 0; */
    }
}
.gem-aps-loading,
.gem-aps-no-results,
.gem-aps-error {
    padding: 15px;
    text-align: center;
    color: #777;
}