/* ===== CRISTAL LABS - TEMA PREMIUM ===== */

/* Trava horizontal */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* Fundo do site */
body {
    background-color: #FAFAFC !important;
}

/* Barra superior */
.barra-inicial {
    background-color: #371E56 !important;
    border-bottom: none !important;
    padding: 8px 0 !important;
}
.barra-inicial,
.barra-inicial a,
.barra-inicial i {
    color: #F8F8FA !important;
    font-weight: 500;
}

/* Cabecalho */
#cabecalho {
    background-color: #F8F5FC !important;
    padding: 20px 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    border: none !important;
}

/* Logo */
.logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 20px !important;
    min-height: 80px;
}
.logo img {
    max-height: 80px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    transition: transform 0.4s ease;
}
.logo img:hover {
    transform: scale(1.05);
}

/* Busca */
.busca input {
    border: 2px solid #E8E0F5 !important;
    box-shadow: none !important;
    transition: border-color 0.3s;
}
.busca input:focus {
    border-color: #65419A !important;
}
.busca button {
    background-color: #65419A !important;
    border-radius: 0 8px 8px 0 !important;
    transition: background-color 0.3s;
}
.busca button:hover {
    background-color: #371E56 !important;
}

/* Icones do cabecalho */
.acoes-conta a i,
.carrinho-interno i {
    color: #65419A !important;
    transition: transform 0.3s ease;
}
.acoes-conta a:hover i,
.carrinho-interno:hover i {
    transform: scale(1.15);
    color: #371E56 !important;
}

/* Menu (PC) */
.menu.superior {
    background-color: #F8F5FC !important;
    border-bottom: 2px solid #65419A !important;
}
.menu.superior .nivel-um {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap;
}
.menu.superior .nivel-um > li {
    border-left: none !important;
    border-right: none !important;
    margin: 0 5px !important;
}
.menu.superior .nivel-um > li > a {
    display: block !important;
    padding: 12px 18px !important;
    background-color: transparent !important;
    transition: all 0.3s ease;
}
.menu.superior .nivel-um > li > a,
.menu.superior .nivel-um > li > a strong {
    color: #371E56 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease;
}
.menu.superior .nivel-um > li:hover > a {
    background-color: #65419A !important;
    border-radius: 6px 6px 0 0 !important;
}
.menu.superior .nivel-um > li:hover > a,
.menu.superior .nivel-um > li:hover > a strong {
    color: #FFFFFF !important;
}

/* Titulos das vitrines */
.listagem .titulo-categoria,
.vitrine h2 {
    color: #371E56 !important;
    font-weight: 800 !important;
    text-align: center !important;
    font-size: 24px !important;
    margin-bottom: 30px !important;
    text-transform: uppercase !important;
    border: none !important;
    background: transparent !important;
}
.listagem .titulo-categoria strong {
    background: transparent !important;
    padding: 0 !important;
}
.listagem .titulo-categoria::after,
.vitrine h2::after {
    content: '';
    display: block;
    width: 40px !important;
    height: 3px !important;
    background-color: #65419A !important;
    margin: 12px auto 0 auto !important;
    border-radius: 2px !important;
}

/* Cards de produto */
.listagem-item,
.vitrine .produto {
    background: #FFFFFF !important;
    padding: 15px !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
    overflow: hidden;
}
.listagem-item:hover,
.vitrine .produto:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 25px rgba(101, 65, 154, 0.12) !important;
    border-color: #9B7CC8 !important;
}
.listagem-item .imagem-produto img,
.vitrine .produto img {
    transition: transform 0.4s ease;
}
.listagem-item:hover .imagem-produto img,
.vitrine .produto:hover img {
    transform: scale(1.05);
}
.listagem-item .nome-produto,
.produto-nome {
    color: #371E56 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-top: 15px;
}
.listagem-item .preco-produto,
.listagem-item .preco-venda,
.produto-preco {
    color: #65419A !important;
    font-weight: 800 !important;
    font-size: 18px !important;
}

/* Botoes de comprar */
body .botao-comprar,
body .botao.principal,
body .listagem .acoes-produto .botao,
body .vitrine .acoes-produto .botao,
.pagina-produto .acoes-produto .comprar .botao-comprar {
    background-color: #65419A !important;
    background-image: linear-gradient(135deg, #65419A, #8B5EC9) !important;
    color: #FFFFFF !important;
    border-radius: 6px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 12px 20px !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(101, 65, 154, 0.3) !important;
    transition: all 0.3s ease !important;
    text-shadow: none !important;
}
body .botao-comprar *,
body .botao.principal *,
body .listagem .acoes-produto .botao *,
body .vitrine .acoes-produto .botao *,
.pagina-produto .acoes-produto .comprar .botao-comprar * {
    color: #FFFFFF !important;
    text-shadow: none !important;
}
body .botao-comprar:hover,
body .botao.principal:hover,
body .listagem .acoes-produto .botao:hover,
body .vitrine .acoes-produto .botao:hover,
.pagina-produto .acoes-produto .comprar .botao-comprar:hover {
    background-color: #371E56 !important;
    background-image: linear-gradient(135deg, #371E56, #65419A) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 18px rgba(101, 65, 154, 0.5) !important;
}

/* Banners */
.banner img,
.modulo.mini-banner img {
    transition: transform 0.4s ease, filter 0.4s ease !important;
}
.banner:hover img,
.modulo.mini-banner:hover img {
    transform: scale(1.02) !important;
    filter: brightness(1.05);
}

/* Espacamentos */
.secao-banners {
    margin-top: 40px !important;
}
.row-fluid.banner.mini-banner {
    margin-top: 60px !important;
    margin-bottom: 40px !important;
}
.listagem,
.vitrine {
    margin-top: 60px !important;
}

/* Rodape */
#rodape {
    background-color: #FFFFFF !important;
    border-top: 3px solid #65419A !important;
    color: #371E56 !important;
    padding-top: 30px;
}
#rodape .titulo {
    color: #65419A !important;
    font-weight: bold;
    text-transform: uppercase;
}
#rodape a {
    color: #371E56 !important;
    transition: color 0.3s ease, padding-left 0.3s ease;
}
#rodape a:hover {
    color: #65419A !important;
    padding-left: 5px;
}

/* Esconder cookies e botao topo */
#avisoCookies {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
}
.scrollToTop {
    display: none !important;
}

/* ===== DESKTOP (>= 768px) ===== */
@media screen and (min-width: 768px) {
    .conteudo-topo .superior {
        display: none !important;
    }
    .conteudo-topo .inferior {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: 100% !important;
    }
    .conteudo-topo .busca-mobile {
        flex-grow: 1 !important;
        width: auto !important;
        margin: 0 30px 0 0 !important;
    }
    .conteudo-topo .span4.hidden-phone {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 15px !important;
        width: auto !important;
        float: none !important;
        margin: 0 !important;
    }
}

/* ===== MOBILE (< 768px) ===== */
@media screen and (max-width: 767px) {
    /* Logo centralizada */
    #cabecalho .span3 {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        margin: 15px 0 !important;
    }
    .logo {
        display: block !important;
        margin: 0 auto !important;
    }
    .logo img {
        display: inline-block !important;
        max-height: 55px !important;
        margin: 0 auto !important;
    }

    /* Busca largura total */
    #cabecalho .conteudo-topo {
        display: block !important;
        width: 100% !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
        margin: 0 0 15px 0 !important;
    }
    .busca-mobile,
    .busca input {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Esconde barra superior no mobile (evita quebra) */
    .barra-inicial {
        display: none !important;
    }

    /* Delimitador entre secoes */
    #delimitadorBarra {
        border: none !important;
        background: transparent !important;
    }

    /* Menu - lista vertical simples */
    .menu.superior {
        background-color: #F8F5FC !important;
        padding: 0 !important;
        border-bottom: 2px solid #65419A !important;
    }
    .menu.superior .nivel-um {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    .menu.superior .nivel-um > li {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        list-style: none !important;
        border: none !important;
        border-bottom: 1px solid #E8E0F5 !important;
    }
    .menu.superior .nivel-um > li:last-child {
        border-bottom: none !important;
    }
    .menu.superior .nivel-um > li > a {
        display: block !important;
        background-color: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 14px 18px !important;
        text-align: left !important;
        box-shadow: none !important;
        transition: background-color 0.2s ease !important;
    }
    .menu.superior .nivel-um > li > a strong,
    .menu.superior .nivel-um > li > a .titulo {
        color: #371E56 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.3px !important;
    }
    .menu.superior .nivel-um > li > a:active,
    .menu.superior .nivel-um > li > a:hover {
        background-color: #65419A !important;
        transform: none !important;
    }
    .menu.superior .nivel-um > li > a:active strong,
    .menu.superior .nivel-um > li > a:hover strong,
    .menu.superior .nivel-um > li > a:active .titulo,
    .menu.superior .nivel-um > li > a:hover .titulo {
        color: #FFFFFF !important;
    }

    /* Vitrines compactas */
    .listagem .titulo-categoria,
    .vitrine h2 {
        font-size: 20px !important;
        margin-bottom: 20px !important;
    }
    .listagem-item:hover,
    .vitrine .produto:hover {
        transform: none !important;
        box-shadow: none !important;
    }
}