/* Estilos gerais */
body {
    font-family: 'Open Sans', Arial, sans-serif; /* Define Open Sans como prioridade */
    margin: 0;
    padding: 0;
    background-color: #f9f9f9;
    color: #333;
    text-wrap: balance;
}
.faixa-topo {
    background: #FFFFFF;
    color: white;
    padding: 024px;
    padding-left: 88px;
}

.header {
    color: white;
    padding: 12px;
    padding-top: 24px;
    padding-bottom: 36px;
}

.header-wrapper {
    align-items: center;
    gap: 20px; /* EspaÃ§o entre "VariaÃ§Ã£o de preÃ§os" e "BLACK FRIDAY" */
    justify-content: center;
    position: relative;
    padding-left: 80px;
}
.header .h1 {
    font-family: 'Open Sans', Arial, sans-serif;
    /* font-size: 5rem; */
    /* font-weight: 900; */
    letter-spacing: 0.09em;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: transparent;
    -webkit-text-stroke: 2px #FFFFFF;
    text-transform: uppercase;
    margin: 0;
}

/* Estilo para "VariaÃ§Ã£o de preÃ§os" */
.sub-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 2.3rem;
    font-weight: 900;
    line-height: 40px;
    color: #232323;
    width: 1000px;
    height: 45px;
    text-align: left;
    opacity: 1;
    margin: 0;
    display: inline-block;
    letter-spacing: 0.13rem;
}

.sub-title2 {
    color: #232323;
    -webkit-text-stroke: 0px #232323;
    padding: 0;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
}

input#search {
    margin: 0; /* Remove o auto e mantÃ©m espaÃ§o apenas no topo e na base */
    width: 90%;
    max-width: 800px;
    padding: 0.8rem;
    border: 1px solid #ccc;
    border-radius: 60px;
    margin-left: 80px;
}

/* Estilo das seÃ§Ãµes */
.section-header {
    display: flex;
    align-items: center;
    justify-content: start;
    padding: 0.5rem;
    color: white;
    border-radius: 6px;
    margin-bottom: 0.1rem;
    cursor: pointer;
}

.section-header img {
    width: 100%;
    max-width: 400px;
    height: auto;
    cursor: pointer;
    padding-left: 80px;
    padding-top: 8px;
}
.product-list.collapsed {
    display: none;
}

.section-header h2 {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0;
    color: white;
}

.section-header .toggle-icon {
    font-size: 1.5rem;
    color: white;
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}

.section-header.collapsed .toggle-icon {
    transform: rotate(180deg);
}


/* Grid para organizar os itens no desktop */


.product-list {
    display: flex; /* Alinha os itens horizontalmente */
    flex-wrap: nowrap; /* Impede que os itens quebrem linha */
    overflow-x: auto; /* Adiciona rolagem horizontal */
    scroll-behavior: smooth; /* Faz o scroll ser suave */
    gap: 1rem; /* Espaçamento entre os itens */
    padding: 1rem; /* Espaçamento interno */
    margin: 0 auto;
    justify-content: flex-start; /* Alinha os itens à esquerda */
    scroll-snap-type: x mandatory; /* Alinhamento obrigatório no eixo X */
}


.category-image {
    transition: all 0.3s ease-in-out; /* TransiÃ§Ã£o suave de 0.3 segundos */
}

/* EstilizaÃ§Ã£o das categorias */
.product-category {
    margin-bottom: 0.1rem;
    padding-top: 4px;
}

.product-category h2 {
    font-size: 1.5rem;
    margin: 1rem 0;
    color: #333;
    border-bottom: 2px solid #ddd;
    padding-bottom: 0.5rem;
    text-align: center;
}



/* Estilo dos itens (cartÃµes) */
.product-item {
    width: 221px;
    display: flex; /* Garante flexibilidade do conteÃºdo */
    flex-direction: column; /* Empilha o conteÃºdo verticalmente */
    justify-content: flex-start; /* Distribui os elementos uniformemente */
    background-color: #f2f2f2;
    border: 1px solid #c4170c;
    border-radius: 6px;
    padding: 0;
    text-align: left;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: auto; /* Ajusta automaticamente */
    min-height: 350px; /* Define uma altura mÃ­nima */
}

/* Itens do carrossel */
.product-item {
    flex: 0 0 221px; /* Cada item ocupa uma largura fixa */
    margin: 0; /* Remove margens entre os itens */
    scroll-snap-align: start; /* Facilita o alinhamento ao parar o scroll */
}



/* Comportamento ao passar o mouse no desktop */
.product-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Estilo da imagem do produto */
.product-image img {
    width: 221px;
    height: 221px;
    border-radius: 6px 6px 0 0;
    padding-right: 3px;
}

/* Estilo do nome do produto */
.product-header {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 22.4px;
    text-align: left;
    margin: 8px 12px 0;
    text-decoration-skip-ink: none;
    text-underline-position: from-font;
}

/* Texto do preÃ§o atual */
.product-price {
    font-family: 'Open Sans', sans-serif;

    font-size: 14px;
    font-weight: 400;
    text-align: left;
    margin: 4px 12px;
    color: #555;
    margin-top: 16px;
    margin-bottom: 12px;
}
.product-price-date {
    color: #a1a1a1;
}

/* Valor do preÃ§o */
.product-price .strong {
    font-family: 'Open Sans', sans-serif;

    font-size: 24px;
    font-weight: 700;
    line-height: 33.6px;
    text-align: left;
}

/* Garantir que o .product-details expanda junto com o conteÃºdo */
.product-details {
    display: none; /* MantÃ©m escondido por padrÃ£o */
    margin-top: 0rem;
    text-align: left;
    font-size: 1.3rem;
    padding-left: 1rem;
    padding-right: 1rem;
    color: #555;
    box-sizing: border-box; /* Garante que padding seja contabilizado na largura */
    overflow: hidden; /* Evita que o conteÃºdo ultrapasse a caixa */
}

/* Ajustar o estilo do iframe */
.product-embed iframe {
    width: 100%;
    height: 300px;
    border: none;
    display: block;
    margin: 0 auto;
    mix-blend-mode: multiply;
}

/* Estilo do card expandido */
.product-item.expanded {
    flex: 0 0 442px; /* Quando expandido, o item ocupa mais espaço */
}


/* Estilo da imagem do produto */
.product-item.expanded .product-image img {
    mix-blend-mode: multiply;
    transition: mix-blend-mode 0.3s ease;
}

.product-item.expanded .product-image {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: auto;
}

.product-item.expanded .product-image img {
    width: 50%; /* Reduz a imagem para caber melhor */
    height: auto; /* MantÃ©m proporÃ§Ã£o */

}

/* Detalhes visÃ­veis no item expandido */
.product-item.expanded .product-details {
    display: block;
    
}

.product-item.expanded .product-header .strong {
    font-size: 1.6em; /* Aumenta o tamanho do nome ao expandir */
    line-height: 1.6rem;
    color: #232323; /* Muda a cor ao expandir */
}

.product-item.expanded .product-price .strong {
    font-size: 1.4rem; /* Aumenta o tamanho do nome ao expandir */
    line-height: 2rem;
    color: #232323; /* Muda a cor ao expandir */
}

.product-item.expanded .product-price{
    font-size: 1.4rem; /* Aumenta o tamanho do nome ao expandir */
    margin-bottom: 5px;
    color: #232323; /* Muda a cor ao expandir */
}




/* Indicadores de variaÃ§Ã£o de preÃ§o */
.price-increase {
    color: red; /* Aumento de preÃ§o */
}

.price-decrease {
    color: green; /* ReduÃ§Ã£o de preÃ§o */
}

.price-stable {
    color: gray; /* PreÃ§o estÃ¡vel */
}

/* Estilo da tabela do histÃ³rico de preÃ§os */
.price-history-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
    font-size: 14px;
    color: #333;
    padding-bottom: 20px;
    border-bottom: 1px solid #e1e1e1; /* Adiciona uma borda na parte inferior da tabela */
}

.price-history-table th,
.price-history-table td {
    border-top: 1px solid #e1e1e1; /* Adiciona borda horizontal superior */
    border-bottom: 1px solid #e1e1e1; /* Adiciona borda horizontal inferior */
    padding: 8px;
    text-align: left;
}

.price-history-table th {
    font-weight: bold;
    background-color: #f9f9f9; 
}

.header .h3 {
    padding-left: 80px;
    font-weight: bold;
    padding-bottom: 20px;
    padding-top: 20px;
    line-height: 1.3rem;
}

.header .p{
    padding-left: 80px;
}

.footer_bf {
    color: #333;
    /* margin-left: 80px; */
    background-color: #fff;
    padding-top: 20px;
    padding-left: 80px;
    margin-top: -10px;
}

.footer_bf .h3{
    margin: 0;
    padding: 0;
    line-height: 1.5rem;
    font-weight: 700;
}
.footer_bf .h5{
    margin: 0;
    padding: 0;
    line-height: 1.2rem;
    font-weight: 700;
}
.footer_bf .p{
    margin: 0;
    padding: 0;
    padding-bottom: 10px;
    
}
.hr{
    margin-top: 20px;
    
}

.category-links {
    margin-left: 0px;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-top: 20px;
    text-align: left;
    gap: 10px; /* Controla o espaço entre os itens */

}

.category-links a {
    display: flex; /* Permite alinhar imagens dentro do link */
    align-items: center; /* Centraliza as imagens verticalmente */
    margin: 0; /* Remove margens adicionais */
    padding: 0; /* Remove paddings adicionais */
    text-decoration: none; /* Remove o sublinhado */

}

.category-links a:hover {
    text-decoration: underline;
}

.category-links img {
    height: 36px; /* Ajusta o tamanho da imagem */
    width: auto; /* Mantém a proporção da imagem */
    margin: 0; /* Remove margens externas */
    padding-left: 12px; /* Remove paddings internos */
}

/* Estilo dos itens (cartÃµes) */
.product-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%; /* Preenche todo o espaÃ§o disponÃ­vel */
    background-color: #f2f2f2;
    border: 1px solid #c4170c;
    border-radius: 6px;
    padding: 0;
    text-align: left;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-height: 350px; /* Altura mÃ­nima para uniformizar os cartÃµes */
}

/* Comportamento ao passar o mouse no desktop */
.product-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Garantir que o .product-details expanda junto com o conteÃºdo */
.product-details {
    display: none; /* MantÃ©m escondido por padrÃ£o */
    margin-top: 0rem;
    text-align: left;
}

/* Garante que os itens tenham a mesma altura no desktop */
.product-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%; /* Preenche todo o espaÃ§o disponÃ­vel */
    min-height: 350px; /* Altura mÃ­nima definida */
}

/* Botão no estado "Saiba Mais" */
.toggle-button {
    background-color: #c4170c;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 100px;
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: bold;
    transition: all 0.3s ease;
    width: 40px;
    margin: 0 auto;
    margin-bottom: 5px;
    font-weight: 900;
}

/* Botão no estado "Voltar" */
.toggle-button.expanded {
    background-color: transparent;
    color: #c4170c;
    border: 2px solid #c4170c;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 10px 15px;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 900;
    margin: 0 auto;
    margin-bottom: 5px;

}

/* Efeito de hover para ambos os estados */
.toggle-button:hover {
    transform: scale(1);
}

.ul_bf{
    position: absolute;
    z-index: 1000;
    background: rgb(255, 255, 255);
    border: 1px solid rgb(204, 204, 204);
    width: 788px;
    max-height: 200px;
    overflow-y: auto;
    list-style: none;
    padding: 0px;
    margin: 0;
    margin-left: 100px;
    display: block;
    
}


#suggestion-list {
    position: absolute;
    z-index: 1000;
    background: #fff;
    border: 1px solid #ccc;
    width: 80%; /* Alinha à largura do input */
    max-height: 200px;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    padding: 0;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Adiciona uma sombra leve */
    margin-left: 80px;
    padding-left: 80px;
}

#suggestion-list li {
    padding: 10px 15px;
    cursor: pointer;
    color: #232323; /* Cor do texto */
    font-size: 14px;
    font-family: 'Open Sans', sans-serif;
    border-bottom: 1px solid #e6e6e6; /* Separador entre itens */
}

#suggestion-list li:hover {
    background-color: #f0f0f0; /* Fundo no hover */
    color: #c4170c; /* Cor do texto no hover */
}

#suggestion-list li:last-child {
    border-bottom: none; /* Remove a linha inferior do último item */
}

/* Estilizar a barra de rolagem geral */
::-webkit-scrollbar {
    width: 2px; /* Largura da barra */
    height: 2px;
    background-color: #f1f1f1; /* Cor de fundo da barra */
    
}

/* Estilizar o trilho da barra de rolagem */
::-webkit-scrollbar-track {
    background-color: #f1f1f1; /* Cor do fundo do trilho */
}

/* Estilizar o "polegar" (slider) da barra de rolagem */
::-webkit-scrollbar-thumb {
    background-color: #c4170c; /* Cor do polegar */
    border-radius: 24px; /* Deixar o polegar arredondado */
}

/* Estilizar o polegar quando o mouse estiver sobre ele */
::-webkit-scrollbar-thumb:hover {
    background-color: #a9140b; /* Cor mais escura ao passar o mouse */
}

/* Para navegadores compatíveis com CSS Scrollbar */
.scrollbar {
    scrollbar-color: #c4170c #f1f1f1; /* Cor do polegar e do trilho */
    scrollbar-width: thin; /* Barra de rolagem fina */
}


/* Carrossel no mobile */
@media (max-width: 768px) {
    .product-list {
        display: flex;
        overflow-x: auto; /* Rolagem horizontal */
        gap: 1rem; /* EspaÃ§amento entre os itens */
        padding-bottom: 1rem;
    }

    .product-item {
        flex: 0 0 221px; /* Cada card fixado em 221px no mobile */
    }
    .header{
        width: 100%;
        padding: 0;
    }
    .header img {
        width: 100%;
        max-width: 300px;
        height: auto;
        cursor: pointer;
        padding-left: 0px;
        padding-top: 16px;
    }

    .header .h1 {
        font-size: 2rem; 
        text-align: left;   
    }

    .header .sub-title {
        font-size: 1.8rem;
        letter-spacing: normal;
        line-height: 2rem;
        padding: 0;
        margin: 0;
        color: #555;
        color: #232323;
        -webkit-text-stroke: 0px #232323;
        padding: 0;
        font-size: 1.9rem;
        font-weight: 600;
        padding-top: 10px;
    }

    .sub-title {
        font-family: 'Open Sans', sans-serif;
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 40px;
        color: #232323;
        width: 700px;
        height: 45px;
        text-align: left;
        opacity: 1;
        margin: 0;
        display: inline-block;
    }
    
    .sub-title2 {
        font-size: 1.7rem;
        letter-spacing: normal;
        line-height: 1.8rem;
        padding: 0;
        margin: 0;
        color: #555;
    }

    .header .h3{
        padding-left: 12px;
        line-height: 1.6rem;
        padding-top: 0px;

    }



    .header .p{
        padding-left: 12px;
        line-height: 1.3rem;
    }

    input#search {
        margin: 0;
        width: 90%;
        max-width: 300px;
        padding: 0.8rem;
        border: 1px solid #ccc;
        border-radius: 60px;
        margin-left: 12px;
        margin-bottom: 16px;
    }

    .header-wrapper{
        padding: 0;
        margin-left: 12px;
    }

    .sub-title {
        font-family: 'Open Sans', sans-serif;

        font-size: 2rem;
        font-weight: 400;
        line-height: 16px;
        color: #232323;
        width: 300px;
        height: 45px;
        opacity: 1;
        margin: 0;
        display: inline-block;
        text-align: left;
    }

    .section-header img {
        width: 100%;
        max-width: 300px;
        height: auto;
        cursor: pointer;
        padding-left: 0px;
        padding-top: 8px;
    }

    .product-list{
    display: grid;
    grid-template-columns: repeat(auto-fill, 221px);
    gap: 1rem;
    align-items: stretch;
    margin: 0 auto;
    padding-left: 12px;
    margin-top: 4px;
    display: flex;
    overflow-x: auto;
    gap: 1rem;
    padding-bottom: 1rem;
}

.product-item.expanded .product-header .strong {
    font-size: 1.3em;
    line-height: 1.6rem;
    color: #232323;
}

.product-item.expanded .product-price {
    font-size: 1.2rem;
    margin-bottom: 5px;
    color: #a1a1a1;
}

.product-item.expanded .product-price .strong {
    font-size: 1.5rem;
    line-height: 2rem;
    color: #555;
    font-weight: 900;
}

.product-details {
    display: none;
    margin-top: 0rem;
    text-align: left;
    font-size: 1rem;
    color: #555;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
    overflow: hidden;
}

.product-item.expanded .product-details{
    margin-top: 0;
    padding-top: 0;
}

.footer_bf{
    padding-left: 12px;
    color: #333;
}

.footer_bf .h5{
    margin: 0;
    padding: 0;
    line-height: 1.2rem;
}
.footer_bf .p{
    margin: 0;
    padding: 0;
    padding-bottom: 10px;
}

.product-price .strong {
    font-family: 'Open Sans', sans-serif;

    font-size: 1.2rem;
    font-weight: 700;
    line-height: 33.6px;
    text-align: left;
}
.ul_bf {
    position: absolute;
    z-index: 1000;
    background: rgb(255, 255, 255);
    border: 0px solid rgb(204, 204, 204);
    width: 100%;
    max-height: 100px;
    overflow-y: auto;
    list-style: none;
    padding: 0px;
    margin: 0;
    margin-left: 12px;
    margin-top: 0;
    padding-top: 0;
    display: block;
}
.category-links {
    display: flex;
    justify-content: flex-start;
    gap: 24px;
    margin-top: 0px;
    margin-bottom: 10px;
    padding-top: 10px;
}

.category-links a {
    width: 100%; /* Ocupa 100% da largura no mobile */
    text-align: left; /* Alinha os links à esquerda */
}

.category-links img {
    height: 32px;
}
.section-header {
    display: flex;
    align-items: start;
    justify-content: start;
    padding-left: 12px;
    color: white;
    border-radius: 0;
    margin-bottom: 0;
    cursor: pointer;
    flex-direction: column;
}
.product-item.expanded {
    flex: 0 0 221px; /* Quando expandido, o item ocupa mais espaço */
}
}