/* ====== ESTILO DO CABEÇALHO ====== */
:root{
    --bg-header: #006dbb;
    --bg-menu-header: #034c8c;
    --menu-color: #E6D070; 
    --menu-hover: #169af8;
    --bg-footer: #023664;
    --font-color-header: #FFFFFF; /* branco (mantido para contraste) */
    --bs-link-color-rgb: 1,84,87;
    }

.page-overlay{
    display: none;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    position: fixed;
    z-index: 99998;
}

/* Overlay para o menu mobile */
.page-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

.woocommerce-cart,
.woocommerce-checkout,
.logged-in{
	background: #fff !important;
}

.seo-ec{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}

.site-content{
    flex-direction: column !important;
}
.site-content .content-area {
    width: 1320px !important;
    margin: 0 auto !important;
}

.site-info{
    display: none !important;
    opacity: 0;
    visibility: hidden;
}

.custom-header {
    font-family: 'Arial', sans-serif;
    width: 100%;
    background: var(--bg-menu-header);
}

.custom-header .logo-header img{
    width: auto;
}

.custom-header .sep-v{
    width: 1px;
    height: 35px;
    background: rgba(255,255,255,0.3);
}

/* Barra promocional */
.top-bar {
    display: flex;
    justify-content: center;
    gap: 25px;
    background: var(--bg-header) !important;
    color: white;
    text-align: center;
    padding: 5px 0;
    font-size: 12px;
}
.top-bar p{
    margin: 0;
}

.top-bar p a{
    color: #fff;
}

/* Barra de busca */
.woocommerce-product-search {
    width: 100%;
    margin: 0 !important;
}

#search-input.form-control:focus {
    outline: none;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.125);
}

.search-field {
    width: 100%;
    padding: 10px 40px !important;
    border: 1px solid #ccc;
    border-radius: 15px !important;
    font-size: 16px;
    background-color: #fff;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="gray"><path fill-rule="evenodd" d="M8 2a6 6 0 104.472 10.743l3.9 3.9a1 1 0 001.414-1.414l-3.9-3.9A6 6 0 008 2zm0 2a4 4 0 110 8 4 4 0 010-8z" clip-rule="evenodd"/></svg>');
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 18px;
    outline: none;
}

/* Remove o contorno azul ao clicar */
.search-field:focus {
    border-color: #999;
}

/* Estilizando a lista de sugestões com imagens */
.search-results-list {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    border: 1px solid #ccc;
    z-index: 9999;
    max-height: 330px;
    overflow-y: auto;
    display: none;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

/* Estilizando a lista de sugestões com imagens */
.search-results-list {
    position: absolute;
    top: 100%;
    left: 5%;
    width: 90%;
    background: white;
    border: 1px solid #ccc;
    z-index: 9999;
    max-height: 330px;
    overflow-y: auto;
    display: none;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

/* Estilização dos itens da lista */
.search-results-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.search-results-list li {
    padding: 10px;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
}

.search-results-list li a {
    text-decoration: none;
    font-weight: bold;
    color: #333;
    flex-grow: 1;
}

.search-results-list li .amount{
    font-size: 16px;
}

/* Estilo da imagem do produto */
.product-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 5px;
    margin-right: 10px;
}

/* Ajuste do preço */
.search-results-list .price {
    font-size: 14px;
    color: #28a745;
    font-weight: bold;
}

/* Botão "Ver todos os resultados" */
.search-footer {
    padding: 10px;
    background: #f8f9fa;
    text-align: center;
}

.search-footer .btn {
    font-size: 14px;
    padding: 6px 12px;
    border-radius: 5px;
}


/* Estilo da imagem do produto */
.product-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 5px;
    margin-right: 10px;
}

/* Ajuste do preço */
.search-results-list .price {
    font-size: 14px;
    color: #28a745;
    font-weight: bold;
}

/* Ícones de usuário e carrinho */
.loginCart{
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 25px;
    height: 100%;
    align-items: center;
}

.user-login i, .user-logged-in i{
    font-size: 30px;
}

.user-login, .user-logged-in {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    font-size: 14px;
    color: var(--font-color-header);
}
.user-login:hover, .user-login:focus, .user-login:active,
.user-logged-in:hover, .user-logged-in:focus, .user-logged-in:active {
    text-decoration: none !important;
    color: var(--bg-header) !important;
}

/* Quando o usuário está logado */
.user-logged-in {
    color: var(--font-color-header); /* Cor verde para indicar login */
}

.user-logged-in:hover, .user-logged-in:focus, .user-logged-in:active {
    text-decoration: underline;
    color: var(--bg-menu-header);
}

.call-center{
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    font-size: 14px;
    color: var(--font-color-header);
}

.call-center:hover,.call-center:active,.call-center:focus{
    text-decoration: none !important;
    color: var(--bg-header);
}

.call-center i{
    font-size: 30px;
}

.cart-button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    border-radius: 50%;
    font-weight: bold;
    color: var(--font-color-header);
    font-size: 14px;
    text-decoration: none;
}

.cart-button:hover,.cart-button:active,.cart-button:focus {
    color: var(--bg-header);
}

.cart-button i{
    font-size: 30px;
}

#cart-count{
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 10px;
}

/* Contador do carrinho */
.cart-count {
    background: #8A2BE2;
    color: white;
    border-radius: 50%;
    padding: 3px 6px;
    font-size: 12px;
    margin-left: 5px;
}

.btn-light {
    border-radius: 20px;
    font-weight: bold;
}

.badge {
    font-size: 12px;
    padding: 5px;
}

/* Overlay do carrinho */
.cart-overlay {
    position: fixed;
    top: 0;
    right: -350px;
    width: 350px;
    height: 100%;
    background: white;
    box-shadow: -4px 0 10px rgba(0, 0, 0, 0.2);
    transition: right 0.3s ease-in-out;
    z-index: 99999;
    display: flex;
    flex-direction: column;
}

/* Exibir o carrinho quando ativo */
.cart-overlay.active {
    right: 0;
}

/* Cabeçalho do carrinho */
.cart-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Botão de fechar */
#close-cart {
    background: rgba(0,0,0,0.5);
    border: none;
    font-size: 30px;
    align-self: flex-end;
    cursor: pointer;
    color: #fff;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Itens do carrinho */
#cart-items {
    flex-grow: 1;
    overflow-y: auto;
    padding: 10px 0;
}

/* Estilização dos produtos no carrinho */
.cart-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
    position: relative;
}

.cart-item img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 5px;
    margin-right: 10px;
}

.cart-item-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    width: calc(100% - 75px);
}

.cart-item-info a {
    text-decoration: none;
    font-weight: normal;
    color: #333;
    font-size: 12px;
    line-height: 14px;
}

.cart-item-info p {
    margin: 0 !important;
    font-size: 11px;
}

.cart-item-remove {
    color: red;
    cursor: pointer;
    font-size: 18px;
    width: 25px;
}

.mini-cart-price {
    font-size: 14px !important;
    font-weight: bold;
    color: #333;
    display: block;
    margin: 0 !important;
}

/* Rodapé do carrinho */
.cart-footer {
    padding: 15px 0;
    border-top: 1px solid #ddd;
    text-align: center;
}

.cart-footer .btn {
    width: 100%;
    margin-top: 10px;
}

.cart-footer .btn.view-cart {
    background: var(--menu-hover);
    color: #000;
}

.cart-footer .btn.end-cart {
    background: var(--bg-menu-header);
    color: #fff;
}

/* Menu principal */
nav.navbar{
    background: var(--bg-footer);
    box-shadow: 0 13px 15px #a9a9a9;
}

.navbar-nav{
    margin: 0 !important;
    gap: 25px;
    text-transform: uppercase;
    width: 100%;
    justify-content: space-between;
}

/* Estiliza os itens principais do menu */
.navbar-nav > li {
    position: relative;
    color: var(--font-color-header) !important;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
}

.navbar-nav > li a{
    color: var(--font-color-header) !important;
    text-decoration: none;
}

.navbar-nav > li a:hover{
    color: var(--menu-hover) !important;
}

/* Estiliza o submenu */
.navbar-nav .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    min-width: 200px;
    display: none; /* Oculto por padrão */
    padding: 10px 0;
    z-index: 1000;
    margin: 0 auto;
}

/* Exibir submenu ao passar o mouse */
.navbar-nav li:hover > .sub-menu {
    display: block;
}

/* Estiliza os itens do submenu */
.navbar-nav .sub-menu li {
    padding: 8px 15px;
    transition: background 0.3s ease;
    list-style: none;
}

/* Estiliza os links dentro do submenu */
.navbar-nav .sub-menu li a {
    color: #333 !important;
    text-decoration: none;
    display: block;
    font-size: 14px;
}

.navbar-nav .sub-menu li:hover {
    background: #f8f9fa;
}

.navbar-toggler{
    color: #fff !important;
}

.navbar-toggler:hover,
.navbar-toggler:focus{
    outline: none !important;
    border: none !important;
    background: var(--bg-header) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: #000 !important;
}

.navbar-toggler-icon{
    color: #fff;
}

.navbar-toggler-icon:focus{
    outline: none !important;
    color: #000 !important;
    border: none !important;
    background: transparent !important;
}

.navicon{
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.navicon i{
    color: #fff;
    font-size: 25px;
    cursor: pointer;
}

nav.navbar.menu-cat-mob{
    background: #fff;
    box-shadow: none;
    display: block;
    position: fixed;
    left: -320px;
    top: 0;
    height: 100vh;
    width: 270px;
    z-index: 99999;
    padding: 50px 25px 25px;
    align-items: baseline;
    transition: all 0.5s;
}
nav.navbar.menu-cat-mob.active{
    left: 0;
}
nav.navbar.menu-cat-mob .navbar-nav{
    gap: 15px;
    overflow-y: auto;
    height: calc(100vh - 45px);
    padding-bottom: 90px;
}
nav.navbar.menu-cat-mob .navbar-nav li a{
    text-decoration: none;
    color: var(--bg-menu-header);
    font-size: 18px;
}
nav.navbar.menu-cat-mob .closed{
    position: absolute;
    top: 0;
    right: -50px;
    width: 50px;
    height: 50px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
nav.navbar.menu-cat-mob .closed i{
    color: #000;
    font-size: 30px;
    cursor: pointer;
}

/* Menu Mobile */
nav.navbar.menu-cat-mob {
    background: #fff;
    box-shadow: none;
    display: block;
    position: fixed;
    left: -320px;
    top: 0;
    height: 100vh;
    width: 270px;
    z-index: 99999;
    padding: 50px 25px 25px;
    align-items: baseline;
    transition: all 0.3s ease;
}

nav.navbar.menu-cat-mob.active {
    left: 0;
}

nav.navbar.menu-cat-mob .navbar-nav {
    gap: 15px;
    overflow-y: auto;
    height: calc(100vh - 45px);
    padding-bottom: 90px;
}

nav.navbar.menu-cat-mob .navbar-nav li {
    position: relative;
}

nav.navbar.menu-cat-mob .navbar-nav li a {
    text-decoration: none;
    color: var(--bg-menu-header) !important;
    font-size: 16px;
}

nav.navbar.menu-cat-mob .navbar-nav .sub-menu {
    display: none;
    padding-left: 15px;
    margin-top: 10px;
}

nav.navbar.menu-cat-mob .navbar-nav .menu-item-has-children.active .sub-menu {
    display: block;
}

nav.navbar.menu-cat-mob .closed {
    position: absolute;
    top: 0;
    right: -50px;
    width: 50px;
    height: 50px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

nav.navbar.menu-cat-mob .closed i {
    color: #000;
    font-size: 24px;
}

/* Menu Mobile - Ajustes de submenu */
nav.navbar.menu-cat-mob .navbar-nav .menu-item-has-children {
    position: relative;
}

nav.navbar.menu-cat-mob .navbar-nav .menu-item-has-children > a:after {
    content: '\f107';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-left: 8px;
    transition: transform 0.3s ease;
}

nav.navbar.menu-cat-mob .navbar-nav .menu-item-has-children.active > a:after {
    transform: rotate(180deg);
}

nav.navbar.menu-cat-mob .navbar-nav .sub-menu {
    position: static;
    background: transparent;
    box-shadow: none;
    display: none;
    padding-left: 15px;
    margin-top: 5px;
    border-left: 2px solid var(--menu-hover);
}

nav.navbar.menu-cat-mob .navbar-nav .menu-item-has-children.active .sub-menu {
    display: block;
}

nav.navbar.menu-cat-mob .navbar-nav .sub-menu li a {
    font-size: 14px;
    padding: 8px 0;
    display: block;
}

/* Responsividade */
@media(max-width: 1399px){
    .site-content .content-area {
        width: 1140px !important;
    }
}
@media(max-width: 1199px){
    .site-content .content-area {
        width: 960px !important;
    }
}
@media (max-width: 991px) {
    .site-content .content-area {
        width: 720px !important;
    }
    .sub-menu {
        position: relative;
        top: 0;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
        padding: 0;
    }
}
@media (max-width: 767px) {
    .site-content .content-area {
        width: 540px !important;
    }
    .custom-header .sep-v{
        height: 25px;
    }
    .loginCart{
        justify-content: end;
        gap: 20px;
    }
    .user-login i, .user-logged-in i{
        font-size: 25px;
    }
    .cart-button i{
        font-size: 25px;
    }
}
@media(max-width: 575px){
    .site-content .content-area {
        width: 100% !important;
    }
}

@media(max-width: 991px){
    .logo-header img{
        width: 200px;
        height: auto;
    }
    #menu-categorias{
        padding: 15px 35px;
        background: var(--bg-header);
        gap: 10px;
    }
    #menu-categorias li a{
        color: #000;
    }

    #menu-categorias li a:hover{
        color: #fff;
    }
}

@media(max-width: 767px){
    .logo-header{
        display: flex;
        width: 100%;
        justify-content: flex-start;
        margin-bottom: 0;
		align-items: center;
		height: 100%;
    }
	
	.logo-header img{
		width: 150px !important;
		max-width: fit-content !important;
	}
}

@media(max-width: 390px){
    .logo-header img{
		width: 110px !important;
	}
}


/* Garante que a página fullwidth obedeça ao Bootstrap */
.page-template-page-fullwidth .container {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

/* Remove margens extras */
.page-template-page-fullwidth .row {
    margin-left: 0;
    margin-right: 0;
}

/* Estiliza os formulários de login e cadastro */
.woocommerce form.login,
.woocommerce form.register {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 8px;
    margin-top: 20px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

/* Botões do formulário */
.woocommerce form.login button,
.woocommerce form.register button {
    background: var(--bg-menu-header);
    color: white;
    font-weight: bold;
    padding: 10px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    width: 100%;
}

/* Ajuste para campos de entrada */
.woocommerce form.login input[type="text"],
.woocommerce form.login input[type="password"],
.woocommerce form.register input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    margin-bottom: 10px;
    background-color: #fff;
}

/* Ajusta o espaçamento do link "Perdeu sua senha?" */
.woocommerce form.login .lost_password {
    text-align: center;
    margin-top: 10px;
}

/* Ajuste para checkbox "Lembre-me" */
.woocommerce form.login .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Efeito no botão ao passar o mouse */
.woocommerce form.login button:hover,
.woocommerce form.register button:hover {
    background: #218838;
}

/* ==========================
   RODAPÉ ESTILIZADO
   ========================== */

/* Banner de Newsletter */
.site-footer{
    padding: 0 !important;
    background: var(--bg-footer) !important;
}

.box-info{
    display: block;
    width: 100%;
    background: #f0f0f0;
    margin-bottom: 20px;
}

.box-info p{
    margin: 0;
}

.footer-newsletter {
    background-color: var(--bg-header);
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.footer-newsletter p {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: left;
}

.footer-newsletter p.tt {
    width: 300px;
}

.newsletter-form {
    display: flex;
    gap: 10px;
}

.newsletter-form input {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
}

.newsletter-form button {
    background: var(--bg-menu-header) !important;
    border: none;
    padding: 10px 20px;
    font-size: 14px;
    border-radius: 0;
    cursor: pointer;
    color: white;
    font-weight: bold;
}

/* Seção principal do rodapé */
.footer-main {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 30px 0;
    flex-wrap: wrap;
}

.footer-column {
    flex: 1;
    min-width: 150px;
    margin-bottom: 20px;
    color: #000;
}

.footer-column.last-child {
    text-align: end;
}

.footer-title {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
    width: 100%;
    color: #fff;
}

.box-info .footer-title{
    color: #000;
}
.box-info .footer-title a{
    color: #000;
    text-decoration: none;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 5px;
}

.footer-column ul li a {
    text-decoration: none;
    color: #fff;
}

.footer-column a:hover {
    text-decoration: underline;
}

/* Pagamento e segurança */
.payment-methods,
.footer-column{
    display: flex;
    width: 100%;
    flex-direction: column;
}

.payment-methods .img-pag{
    display: flex;
    width: 100%;
    gap: 5px;
    flex-wrap: wrap;
    padding: 0 50px 0 0;
}

.footer-column .img-seg{
    display: flex;
    width: 100%;
    gap: 5px;
    flex-direction: column;
    align-items: end;
}

.footer-column .img-seg img{
    width: fit-content;
    height: auto;
}

.footer-column .redes{
    display: flex;
    width: 100%;
    gap: 15px;
    justify-content: end;
}

.footer-column .redes a{
    color: #fff;
}


/* Rodapé Inferior */
.footer-bottom {
    background: #f8f8f8;
    padding: 15px;
    text-align: center;
    font-size: 12px;
    border-top: 1px solid #ddd;
}

.footer-bottom a {
    color: #333;
    font-weight: bold;
    text-decoration: none;
}

.footer-bottom a:hover {
    text-decoration: underline;
}

@media(max-width: 991px){
    .box-info p{
        text-align: center;
    }
    .footer-column.last-child {
        text-align: start;
    }
    .footer-column .img-seg{
        align-items: start;
    }
    .footer-column .redes{
        justify-content: start;
    }
}
@media(max-width: 767px){
	.site-footer {
        margin-bottom: 35px;
    }
    .footer-newsletter {
        flex-direction: column;
        gap: 10px;
    }
    .footer-newsletter p {
        width: 100%;
        text-align: center;
    }
}
@media(max-width: 575px){
    .newsletter-form {
        flex-wrap: wrap;
        justify-content: center;
    }
}
@media(max-width: 440px){
    .newsletter-form input {
        width: 100% !important;
    }
}

/* ==========================
   LISTAGEM DE PRODUTOS
   ========================== */
   .store-products {
    background-color: #f9f9f9;
    padding: 50px 0;
}

.section-title {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    color: #333;
    margin-bottom: 20px;
}

.product-item{
    position: relative;
}

.product-item:hover {
    transform: scale(1.05);
}

/* Imagem do Produto */
.product-image img {
    max-width: 100%;
    border-radius: 10px;
}

/* Título */
.product-title {
    font-size: 16px;
    font-weight: bold;
    margin-top: 10px;
    color: #333;
}

/* Avaliação */
.product-rating {
    margin-top: 5px;
}

/* Preços */
.product-price {
    margin-top: 10px;
}

.old-price {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
    margin-right: 5px;
    display: block;
}

#mini-cart .amount {
    font-size: 14px;
    font-weight: bold;
    color: #000;
}

.amount {
    font-size: 24px;
    font-weight: bold;
    color: #000;
}

del .amount {
    font-size: 14px;
    font-weight: 500;
    color: #666;
}

/* Preço à Vista e Parcelamento */
.cash-price {
    font-size: 14px;
    color: #666;
    margin-top: 5px;
}

.current-price {
    font-size: 22px;
    font-weight: bold;
    color: #00753E;
    display: block;
}

.pix-price{
    margin-bottom: 0;
}

.pix-price .amount{
    font-size: 16px;
    color: #666;
}

.installment-price .amount{
    font-size: 16px;
    font-weight: bold;
    color: #666;
}

/* ==========================
   GRID DE PRODUTOS - 4 POR LINHA
   ========================== */
   .products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 produtos por linha */
    gap: 20px;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
}

.product-item {
    background: white;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
    text-align: center;
    position: relative;
    transition: transform 0.3s ease-in-out;
}

.product-item:hover {
    transform: scale(1.05);
}

/* 🏷️ Selo de desconto percentual */
.discount-badge {
    position: absolute !important;
    display: flex !important;
    top: 10px;
    right: 10px;
    background-color: #ffee00;
    color: #000;
    font-size: 12px !important;
    font-weight: bold !important;
    text-align: center;
    border-radius: 50% !important;
    border: none !important;
    z-index: 10;
    width: 40px !important;
    height: 40px !important;
    justify-content: center;
    align-items: center;
}

/* ❤️ Wishlist (favoritos) sobre a imagem */
.wishlist-wrapper {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
}

.yith-add-to-wishlist-button {
    background: none;
    border: none;
    cursor: pointer;
}

/* 🔥 Ajustes gerais */
.product-item {
    position: relative;
    background: #fff;
    padding: 15px 15px 60px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    text-align: center;
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-item .add-to-cart-wrapper{
    position: absolute;
    width: calc(100% - 30px);
    bottom: 15px;
}

.product-item a{
    text-decoration: none !important;
}

.product-item:hover {
    transform: scale(1.03);
}

.product-image {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-title {
    font-size: 18px;
    margin-top: 10px;
    font-weight: 600;
    text-decoration: none;
}

.prod-carousel {
    margin: 20px 0;
}

.prod-carousel .owl-stage{
    display: flex;
}

.prod-carousel .owl-stage .owl-item{
    display: flex;
    height: auto;
}

.prod-carousel .product-item {
    background: #fff;
    padding: 15px 15px 60px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    text-align: center;
    position: relative;
}

.prod-carousel .product-item .add-to-cart-wrapper{
    position: absolute;
    width: calc(100% - 30px);
    bottom: 15px;
}

.prod-carousel .owl-nav {
    position: absolute;
    top: 50%;
    margin-top: -32.5px;
}

.prod-carousel .owl-dots {
    text-align: center;
    margin-top: 5px;
    position: relative;
}


/* RESPONSIVIDADE */
@media (max-width: 1024px) {
    .products-grid {
        grid-template-columns: repeat(3, 1fr); /* 3 produtos por linha */
    }
}

@media (max-width: 767px) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 produtos por linha */
    }

    .discount-badge, .wishlist-wrapper {
        top: 5px;
        left: 5px;
    }

    .wishlist-wrapper {
        right: 5px;
    }

    .yith-wcwl-icon-svg__wrapper svg {
        width: 20px;
        height: 20px;
    }
}

@media(max-width: 575px){
    .prod-carousel .product-item {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .products-grid {
        grid-template-columns: repeat(1, 1fr); /* 1 produto por linha */
    }
}

/* ==========================
   FORMAS DE PAGAMENTO NA LISTAGEM DE PRODUTOS
   ========================== */
   .product-prices {
    margin-top: 10px;
}

.old-price {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
    margin-right: 5px;
}

.sale-price {
    font-size: 18px;
    font-weight: bold;
    color: #2baf9a;
}

/* Formas de Pagamento */
.cash-price, .installment-price {
    font-size: 14px;
    color: #444;
    margin-top: 5px;
    line-height: 1.4;
}

/* ==========================
   LISTAGEM DE PRODUTOS - AJUSTES
   ========================== */

/* Botão de Adicionar ao Carrinho */
.add-to-cart-btn {
    background-color: #2baf9a;
    color: white;
    border: none;
    padding: 10px;
    width: 100%;
    border-radius: 5px;
    font-size: 14px;
    cursor: pointer;
    transition: 0.3s;
    margin-top: 10px;
}

.add-to-cart-btn:hover {
    background-color: #1c7a69;
}

/* Wishlist (Favoritar Produto) */
.wishlist-button {
    position: absolute;
    top: 10px;
    left: 10px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #ff6464;
    transition: 0.3s;
}

.wishlist-button:hover {
    color: #e60000;
}

/* Avaliação (Estrelas) */
.product-rating {
    margin-top: 5px;
    color: #ffcc00;
    display: flex;
    width: 100%;
    justify-content: center;
}

/* Estrelas vazias para produtos sem avaliação */
.empty-stars {
    color: #ddd;
    font-size: 14px;
}

/* Botão de Favoritar */
.wishlist-button {
    position: absolute;
    top: 10px;
    left: 10px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #999;
    transition: 0.3s;
}

.wishlist-button.favorited {
    color: #e60000;
}

/* Ajuste para o botão "Adicionar ao Carrinho" */
.add-to-cart-wrapper .button {
    background-color: #000 !important;
    color: white !important;
    border: none !important;
    padding: 15px 5px !important;
    width: 100%;
    border-radius: 5px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    cursor: pointer;
    transition: 0.3s;
}

.add-to-cart-wrapper .button:hover {
    background-color: #00013f !important;
}

.added_to_cart.wc-forward {
    display: none !important;
}

#filtered-products {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

#filtered-products .product {
    width: calc(33.33% - 20px); /* Ajuste para 3 colunas */
    background: #fff;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    box-shadow: 0px 2px 10px rgba(0,0,0,0.1);
}

#custom-filter-form {
    background: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

#custom-filter-form label {
    font-weight: bold;
    margin-top: 10px;
    display: block;
}

#custom-filter-form select, 
#custom-filter-form input {
    width: 100%;
    padding: 8px;
    margin-bottom: 10px;
    border-radius: 5px;
    border: 1px solid #ddd;
}

#custom-filter-form fieldset {
    border: none;
    margin-top: 10px;
}

#custom-filter-form button {
    background: #28a745;
    color: #fff;
    padding: 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
}

#custom-filter-form button:hover {
    background: #218838;
}

#custom-filter-form fieldset {
    border: none;
    margin-bottom: 15px;
}

#custom-filter-form legend {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
}

#custom-filter-form label {
    display: flex;
    align-items: center;
    gap: 8px; /* Espaço entre o checkbox e o texto */
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
}

#custom-filter-form input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #28a745; /* Cor do checkbox */
}

#price-range {
    width: 100%;
    margin-top: 5px;
}

#price-range-value {
    font-weight: bold;
    margin-left: 10px;
    color: #28a745;
}

.single-product-container {
    margin-top: 60px;
}

.product-summary {
    padding: 20px;
}

.product-summary form > div{
    width: 100%;
}

.product-summary form > div.quantity{
    width: auto;
}

/* Ajustando a exibição das miniaturas */
.single-product-container div.images .flex-control-thumbs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 5px 0 0;
    overflow: hidden; /* Evita quebra de layout durante o carregamento */
}

.single-product-container div.images .flex-control-thumbs li {
    width: 60px;
    height: 60px;
    border: 2px solid transparent;
    transition: all 0.3s ease-in-out;
    flex-shrink: 0; /* Evita que as miniaturas encolham */
    overflow: hidden; /* Contém a imagem dentro dos limites */
}

.single-product-container div.images .flex-control-thumbs li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
    will-change: transform; /* Otimização para animações */
    content-visibility: auto; /* Otimiza renderização */
}

/* Ajuste para garantir que a imagem principal tenha uma boa visualização */
.single-product-container div.images img {
    border-radius: 5px;
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block; /* Evita espaço extra abaixo da imagem */
    object-fit: contain;
    aspect-ratio: 1 / 1; /* Mantém proporção quadrada */
    background-color: #fff; /* Cor de fundo enquanto carrega */
}

/* Otimização para transições de imagens */
.woocommerce-product-gallery {
    position: relative;
    opacity: 1 !important; /* Evita flash de conteúdo invisível */
    transition: opacity 0.25s ease-in-out;
    will-change: opacity;
    min-height: 300px;
}

.woocommerce-product-gallery__wrapper {
    transition: all 0.3s ease;
    margin: 0;
    padding: 0;
    will-change: transform;
    background-color: #fff;
    min-height: 300px; /* Altura mínima para evitar saltos de layout */
    /* Adicionado: precarregamento de conteúdo */
    content-visibility: auto;
    contain-intrinsic-size: 0 400px;
}

/* Indicador de carregamento para a galeria - MODIFICADO */
.woocommerce-product-gallery::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    margin-left: -15px;
    border-radius: 50%;
    border: 3px solid rgba(0,0,0,0.05); /* Menos perceptível */
    border-top-color: rgba(0,0,0,0.1); /* Menos perceptível */
    animation: gallery-spinner 0.8s linear infinite;
    z-index: 1;
    opacity: 0; /* Começa invisível */
    transition: opacity 0.5s ease; /* Transição mais suave */
    pointer-events: none;
}

/* Modificado para diminuir a percepção de carregamento */
.woocommerce-product-gallery.loading::before {
    opacity: 0.4; /* Menos visível que antes */
}

@keyframes gallery-spinner {
    to {transform: rotate(360deg);}
}

/* Pseudo-elemento para criar a ilusão de carregamento imediato */
.woocommerce-product-gallery__image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #f8f8f8;
    z-index: -1;
    opacity: 0;
}

/* Pré-carrega imagens de forma eficiente */
.woocommerce div.product div.images img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: none;
    -webkit-backface-visibility: hidden; /* Melhora performance no Safari */
    backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast; /* Melhora qualidade de renderização */
    transform: translateZ(0); /* Ativa aceleração de GPU */
}

/* Elimina o "flash" ao carregamento de imagens */
.woocommerce-product-gallery .woocommerce-product-gallery__image {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    animation: fadeIn 0.4s ease-in-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.storefront-product-pagination{
    display: none !important;
    opacity: 0 !important;
}

.single-product-container div.images .flex-control-thumbs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 5px 0 0;
    overflow: hidden; /* Evita quebra de layout durante o carregamento */
}

.single-product-container div.images .flex-control-thumbs li {
    width: 60px;
    height: 60px;
    border: 2px solid transparent;
    transition: all 0.3s ease-in-out;
    flex-shrink: 0; /* Evita que as miniaturas encolham */
    overflow: hidden; /* Contém a imagem dentro dos limites */
}

.single-product-container div.images .flex-control-thumbs li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
    will-change: transform; /* Otimização para animações */
}

/* Ajuste para garantir que a imagem principal tenha uma boa visualização */
.single-product-container div.images img {
    border-radius: 5px;
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block; /* Evita espaço extra abaixo da imagem */
    object-fit: contain;
    aspect-ratio: 1 / 1; /* Mantém proporção quadrada */
    background-color: #fff; /* Cor de fundo enquanto carrega */
}

/* Otimização para transições de imagens */
.woocommerce-product-gallery {
    position: relative;
    opacity: 1 !important; /* Evita flash de conteúdo invisível */
    transition: opacity 0.25s ease-in-out;
    will-change: opacity;
}

.woocommerce-product-gallery__wrapper {
    transition: all 0.3s ease;
    margin: 0;
    padding: 0;
    will-change: transform;
    background-color: #fff;
    min-height: 300px; /* Altura mínima para evitar saltos de layout */
}

/* Indicador de carregamento para a galeria */
.woocommerce-product-gallery::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    margin-left: -15px;
    border-radius: 50%;
    border: 3px solid rgba(0,0,0,0.1);
    border-top-color: rgba(0,0,0,0.2);
    animation: gallery-spinner 0.8s linear infinite;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

.woocommerce-product-gallery.loading::before {
    opacity: 1;
}

@keyframes gallery-spinner {
    to {transform: rotate(360deg);}
}

.storefront-product-pagination{
    display: none !important;
    opacity: 0 !important;
}

table.variations{
    border: transparent !important;
    border-bottom: solid 1px #e0e0e0 !important;
    padding: 0;
}

table.variations tbody,
table.variations th,
table.variations tr,
table.variations td{
    border: transparent !important;
}

table.variations th{
    padding: 0;
    background: transparent !important;
}
table.variations td.woo-variation-items-wrapper{
    padding: 0 0 20px;
    background: transparent !important;
}

.single_variation_wrap{
    padding-bottom: 25px;
}

.single-product-container .product-summary h1{
    font-size: 32px;
    line-height: 36px;
    font-weight: 600;
    margin: 0;
}

.single-product-container .product-summary h1 + .price > .amount{
    font-size: 30px;
}

.single-product-container .product-summary h1 + .price > .price > .amount{
    font-weight: 400;
}

.single-product-container .product-summary h1 + .price{
    margin-bottom: 10px;
}

.reset_variations{
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.single_variation_wrap .amount{
    font-size: 30px;
}

.product-summary form.cart,
.woocommerce-variation-add-to-cart{
    display: flex;
    gap: 15px;
    padding-bottom: 20px;
}

.product_meta{
    display: flex;
    flex-direction: row;
    gap: 25px;
    padding: 10px 0;
    border-bottom: solid 1px #e0e0e0;
    margin: 10px 0;
}

.product_meta span{
    display: flex;
    gap: 5px;
    justify-content: start;
    text-transform: uppercase;
    font-weight: bold;
    background: #fff;
    border-radius: 5px;
    padding: 5px 10px;
    flex-wrap: wrap;
}

.product_meta span span{
    padding: 0;
    text-transform: none;
    font-weight: normal;
}

.product_meta span a{
    text-transform: none;
    font-weight: normal;
}

.related-products{
    margin-bottom: 50px;
}

.product-item span.onsale {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: inherit !important;
    background: #E6D070 !important;
    color: #000 !important;
    font-size: 14px !important;
    line-height: 14px !important;
    font-weight: bold !important;
    padding: 0 !important;
    border-radius: 50% !important;
    z-index: 10 !important;
    text-transform: uppercase !important;
    border: none !important;
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5) !important;
}


.woocommerce .single-product-container span.onsale {
    position: absolute !important;
    top: 0 !important;
    right: inherit !important;
    left: 0 !important;
    background: #026830 !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 14px !important;
    font-weight: bold !important;
    padding: 0 !important;
    border-radius: 50% !important;
    z-index: 10 !important;
    text-transform: uppercase !important;
    border: none !important;
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5) !important;
}

.woocommerce .single-product-container .related-products .onsale{
    left: inherit!important;
    right: 0 !important;
}

/* Ajuste do layout do carrinho */
.woocommerce-cart table.cart {
    border-collapse: collapse;
    width: 100%;
}

.woocommerce-cart article,
.woocommerce-checkout article{
	padding: 0 15px;
}

.woocommerce-cart table.cart th, 
.woocommerce-cart table.cart td {
    padding: 12px;
    text-align: left;
}

.woocommerce-cart .product-thumbnail img {
    max-width: 80px;
    height: auto;
    border-radius: 5px;
}

/* Destacar selo de economia */
.discount-label {
    display: inline-block;
    background: #ff4c4c;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 8px;
    border-radius: 3px;
    margin-top: 5px;
    text-transform: uppercase;
}

/* Botão de finalização da compra */
.woocommerce-cart .checkout-button {
    background: #222;
    color: white;
    font-size: 16px;
    font-weight: bold;
    padding: 15px 20px;
    text-align: center;
    width: 100%;
    display: block;
    text-transform: uppercase;
    transition: 0.3s;
}

.woocommerce-cart .checkout-button:hover {
    background: #ff4c4c;
    color: #fff;
}

.woocommerce-tabs {
    margin-top: 20px;
}

.woocommerce-tabs .nav-tabs {
    border-bottom: 2px solid #ddd;
}

.woocommerce-tabs .nav-tabs .nav-item {
    margin-bottom: -2px;
}

.woocommerce-tabs .nav-tabs .nav-link {
    background: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 5px 5px 0 0;
    padding: 10px 15px;
    color: #333;
    transition: all 0.3s ease-in-out;
}

.woocommerce-tabs .nav-tabs .nav-link.active {
    background: #fff;
    border-bottom: 2px solid #fff;
    color: #000;
    font-weight: bold;
}

.woocommerce-tabs .tab-content {
    border: 1px solid #ddd;
    padding: 15px;
    background: #fff;
}

.wc-block-cart-items .wc-block-cart-item__quantity{
    display: flex;
    gap: 15px;
}

.wc-blocks-filter-wrapper{
    background: #f3f3f3;
    padding: 10px;
    border-radius: 5px;
}

.woocommerce .wishlist_table a.add_to_cart.button.alt:not(.yith-wcwl-themed-button-style){
    background: var(--menu-hover);
}

.wpcf7{
    width: 100%;
}

.wpcf7 label{
    width: 100%;
}

.wpcf7 label input{
    width: 100%;
}

/* CONTACT FORM 7*/
form .wpcf7-form-control-wrap{display: block; width: 100%; position: relative;}
form .wpcf7-validation-errors{width: 100%; color: #fff; font-size: 0.7rem; border: solid 1px #ff0000; background: #ff0000; font-weight: 600;}
form .wpcf7-not-valid-tip{position: absolute !important; top: 0 !important; left: inherit !important; right: 0; width: auto !important; font-size: 0.7rem; font-weight: 600; background: #ff0000 !important; color: #fff;}
form.sent .wpcf7-response-output{width: 100%; color: #fff; font-size: 0.7rem; font-weight: 600; background: #398f14;}
form .wpcf7-mail-sent-ng{width: 100%; color: #fff; font-size: 0.7rem; font-weight: 600; background: #ff0000;}
form .wpcf7-response-output{width: 100%; color: #000; font-size: 0.7rem; font-weight: 600; background: #ffb900;}
form .use-floating-validation-tip .wpcf7-not-valid-tip {position: absolute; top: 0; left: inherit; width: auto; right: 0;}

.wc-block-components-button.wp-element-button.wc-block-cart__submit-button{
	color: #fff;
	text-decoration: none;
	background: var(--bg-menu-header);
}

input.input-text.qty.text,
input.input-text.input-postcode{
    background: #fff;
}

.menu-footer-mob{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 50px;
    background: #fff;
    box-shadow: 0 0 10px #ccc;
    display: none;
    gap: 25px;
    justify-content: space-between;
    align-items: center;
    padding: 0 15px;
    z-index: 99997;
}

.menu-footer-mob .item-menu{
    position: relative;
}

.menu-footer-mob .item-menu a{
    color: #000;
    font-size: 30px;
}

.menu-footer-mob .item-menu #cart-count-footer{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    right: -10px;
    font-size: 11px;
}

@media(max-width: 991px){
    #filter-mob{
        display: none;
    }
}

@media(max-width: 767px){
    .menu-footer-mob{
        display: flex;
    }
    .count-ordering{
        flex-direction: column;
        align-items: start !important;
    }
}

@media(max-width: 575px){
    #productTabs{
        margin: 0 !important;
    }
}
@media(max-width: 460px){
    #productTabs.nav-tabs .nav-link {
        padding: 10px;
        font-size: 13px;
    }
}

.wp-block-woocommerce-empty-cart-block .is-style-dots + h2{
    display: none;
    opacity: 0;
    visibility: hidden;
}

.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new{
    display: none;
    opacity: 0;
    visibility: hidden;
}

.cart-loader {
    display: none;
    width: 20px;
    height: 20px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #3498db;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-left: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.wc-block-components-checkbox-list li.show-more button,
.wc-block-components-checkbox-list li.show-less button{
    color: #000 !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

/* Search Icon Button */
.search-icon-btn {
    background: none;
    border: none;
    font-size: 20px;
    color: var(--bg-menu-header);
    padding: 10px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.search-icon-btn:hover {
    color: var(--text-color-menu);
}

/* Search Lightbox */
.search-lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    align-items: flex-start; /* Alinha no topo ao invés de centro */
    justify-content: center;
    padding-top: 100px; /* Espaço do topo */
}

.search-lightbox.active {
    display: flex;
}

.search-container {
    width: 90%;
    max-width: 800px;
    background: white;
    padding: 30px;
    border-radius: 8px;
    position: relative;
    animation: slideDown 0.3s ease; /* Adiciona animação de entrada */
}

/* Animação de entrada do container */
@keyframes slideDown {
    from {
        transform: translateY(-50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.search-container h2 {
    margin-bottom: 20px;
    color: var(--bg-menu-header);
    text-align: center;
}

.search-container .woocommerce-product-search {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.search-container .search-field {
    flex: 1;
    padding: 12px;
    font-size: 16px;
    border: 2px solid #ddd;
    border-radius: 4px;
}

.search-container .search-submit {
    background: var(--bg-menu-header);
    color: white;
    border: none;
    padding: 0 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.search-container .search-submit:hover {
    background: var(--text-color-menu);
}

.close-search {
    position: absolute;
    right: 15px;
    top: 15px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--bg-menu-header);
}

.close-search:hover {
    color: var(--text-color-menu);
}

/* Estilos para os filtros */
.woocommerce-filters {
    transition: all 0.3s ease;
}

.woocommerce-filters.loading {
    opacity: 0.6;
    pointer-events: none;
}

.woocommerce-filters .widget {
    margin-bottom: 25px;
}

.woocommerce-filters .widget-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.woocommerce-filters .cat-item {
    margin: 8px 0;
}

.woocommerce-filters .custom-control {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.woocommerce-filters .custom-control-input {
    margin-right: 8px;
}

.woocommerce-filters .custom-control-label {
    font-size: 14px;
    cursor: pointer;
}

#product-list.loading {
    position: relative;
    min-height: 300px;
}

#product-list.loading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--bg-header);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 1000;
}

#product-list.loading::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.7);
    z-index: 999;
}

@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Melhorias no widget de categorias */
.woocommerce-filters .product-categories {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-filters .product-categories li {
    margin: 8px 0;
    position: relative;
}

.woocommerce-filters .product-categories label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    transition: all 0.2s ease;
}

.woocommerce-filters .product-categories input[type="checkbox"] {
    margin-right: 8px;
    width: 16px;
    height: 16px;
    border: 2px solid #ddd;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.woocommerce-filters .product-categories input[type="checkbox"]:checked {
    background-color: var(--bg-header);
    border-color: var(--bg-header);
}

.woocommerce-filters .product-categories label:hover {
    color: var(--bg-header);
}

.woocommerce-filters .product-categories .children {
    margin-left: 20px;
    margin-top: 5px;
}

/* Responsividade dos filtros */
@media (max-width: 991px) {
    #filter-mob {
        margin-bottom: 20px;
    }
    
    .woocommerce-filters {
        padding: 15px;
        border: 1px solid #eee;
        border-radius: 5px;
        margin-bottom: 20px;
    }
}

/* Estilos dos filtros */
#product-list.loading {
    min-height: 300px;
    position: relative;
}

#product-list.loading::before {
    content: "";
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--bg-header);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 1000;
}

#product-list.loading::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    z-index: 999;
}

/* Estilo dos checkboxes */
.category-checkbox {
    accent-color: var(--bg-header);
}

.woocommerce-filters .widget-title {
    color: #333;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.woocommerce-filters .product-categories {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-filters .product-categories li {
    margin-bottom: 8px;
}

.woocommerce-filters .product-categories .custom-control {
    margin: 0;
    padding: 0;
}

.woocommerce-filters .product-categories .custom-control-label {
    font-size: 14px;
    color: #666;
    cursor: pointer;
    transition: color 0.2s;
}

.woocommerce-filters .product-categories .custom-control-label:hover {
    color: var(--bg-header);
}

.woocommerce-filters .product-categories .children {
    margin-left: 20px;
    margin-top: 8px;
}

.woocommerce-filters .product-categories small {
    color: #999;
    font-size: 12px;
}

/* Animação do loading */
@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Estilos para os filtros de categoria */
.product-filters {
    padding: 20px;
    background: #f8f9fa;
    border-radius: 4px;
    margin-bottom: 30px;
}

.product-filters h3 {
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: 600;
}

.category-filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.category-filter-list li {
    margin-bottom: 10px;
}

.category-filter-list label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.category-filter-list input[type="checkbox"] {
    margin-right: 10px;
}

.category-filter-list label:hover {
    color: var(--accent);
}

@media (max-width: 768px) {
    .product-filters {
        margin-bottom: 20px;
    }
}

/* Loader */
.products-loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loader {
    width: 48px;
    height: 48px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid var(--accent);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.products {
    position: relative;
    min-height: 200px;
}

/* Loader */
.products-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader {
    width: 48px;
    height: 48px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Filtros */
.product-filters-sidebar {
    padding: 20px;
    background: #f8f9fa;
    border-radius: 4px;
    margin-bottom: 30px;
}

.product-categories-filter h3 {
    font-size: 18px;
    margin-bottom: 15px;
    color: #333;
}

.categories-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.category-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    color: #666;
}

.category-item input[type="checkbox"] {
    margin: 0;
}

.category-item:hover {
    color: #333;
}

/* Paginação Elegante */
.woocommerce-pagination {
    text-align: center;
    margin: 40px 0;
    font-family: 'Georgia', serif;
}

.woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #e4e4e4;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.woocommerce-pagination .page-numbers li {
    border: none;
    margin: 0;
    padding: 0;
}

.woocommerce-pagination .page-numbers li .page-numbers {
    min-width: 40px;
    height: 40px;
    line-height: 40px;
    padding: 0 5px;
    display: inline-block;
    color: #000;
    font-size: 16px;
    transition: all 0.3s ease;
    position: relative;
    border: solid 1px #f58634;
}

.woocommerce-pagination .page-numbers li .page-numbers.current {
    background: var(--bg-header);
    color: #fff;
    font-weight: 500;
}

.woocommerce-pagination .page-numbers li .page-numbers:not(.current):hover {
    background: #f8f9fa;
    color: #000;
}

.woocommerce-pagination .page-numbers li .prev,
.woocommerce-pagination .page-numbers li .next {
    font-size: 20px;
    padding: 0 15px;
}

.woocommerce-pagination .page-numbers li:first-child .page-numbers {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}

.woocommerce-pagination .page-numbers li:last-child .page-numbers {
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
}

/* Efeito de hover elegante */
.woocommerce-pagination .page-numbers a:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Animação suave ao mudar de página */
.products {
    transition: opacity 0.3s ease;
}

.products.loading {
    opacity: 0.6;
}

/* Loader Elegante */
.products-loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
}

.loader {
    width: 48px;
    height: 48px;
    border: 3px solid var(--bg-header);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

.loader::after {
    content: '';  
    position: absolute;
    box-sizing: border-box;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border: 3px solid #FFF;
    border-bottom-color: transparent;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: rotationBack 0.5s linear infinite;
}

@keyframes rotation {
    0% { transform: rotate(0deg) }
    100% { transform: rotate(360deg) }
} 

@keyframes rotationBack {
    0% { transform: rotate(0deg) }
    100% { transform: rotate(-360deg) }
}

/* Overlay durante o carregamento */
.products.loading::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    z-index: 999;
    backdrop-filter: blur(2px);
}

/* Loading elegante */
.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(2px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

.loading-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid var(--bg-header);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

#product-list {
    position: relative;
    min-height: 200px;
    transition: opacity 0.3s ease;
}

#product-list.loading {
    pointer-events: none;
}

/* Efeito de transição suave na paginação */
.woocommerce-pagination {
    transition: opacity 0.3s ease;
}

.woocommerce-pagination.updating {
    opacity: 0.5;
    pointer-events: none;
}

/* Loading Overlay Elegante */
.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(2px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
}

.loading-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid var(--bg-header);
    border-radius: 50%;
    animation: spin 1s ease-in-out infinite;
}

.products-wrapper {
    position: relative;
    min-height: 200px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Transições suaves */
.woocommerce-pagination,
#product-list {
    transition: opacity 0.3s ease-in-out;
}

#product-list.loading {
    position: relative;
    min-height: 400px;
}

/* Animação de fade para os produtos */
.product-item {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Paginação Elegante */
.woocommerce-pagination {
    text-align: center;
    margin: 40px 0;
    font-family: 'Georgia', serif;
}

.page-numbers-wrapper {
    display: inline-flex;
    padding: 10px 20px;
    background: #fff;
    border-radius: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.page-numbers {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 5px;
}

.page-numbers .elegant-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0 3px;
    border-radius: 50%;
    color: #333;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.page-numbers .elegant-number:hover {
    background-color: #f5f5f5;
    color: var(--bg-header);
}

.page-numbers .elegant-number.current {
    background-color: var(--bg-header);
    color: #fff;
    font-weight: 500;
}

.page-numbers .prev.elegant-number,
.page-numbers .next.elegant-number {
    font-size: 14px;
}

/* Efeito hover suave */
.page-numbers .elegant-number:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Loading elegante */
.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(2px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

.loading-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid var(--bg-header);
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 1s linear infinite;
}

.product-list.loading {
    position: relative;
    min-height: 400px;
}

/* Animação de fade para troca de página */
.page-transition {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.page-transition.active {
    opacity: 1;
    transform: translateY(0);
}

/* Efeito de pulso na página atual */
.page-numbers .elegant-number.current {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(var(--bg-header-rgb), 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(var(--bg-header-rgb), 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(var(--bg-header-rgb), 0);
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Paginação Elegante */
.woocommerce-pagination {
    text-align: center;
    padding: 40px 0;
    font-family: "Playfair Display", serif;
}

.woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 5px;
    align-items: center;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
    padding: 10px 15px;
    border-radius: 50px;
    background: #fff;
    border: none !important;
}

.woocommerce-pagination .page-numbers li {
    margin: 0 3px;
    border: none;
}

.woocommerce-pagination .page-numbers .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: #333;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
}

.woocommerce-pagination .page-numbers .page-numbers:hover {
    background: var(--bg-header);
    color: #fff;
    transform: translateY(-2px);
}

.woocommerce-pagination .page-numbers .page-numbers.current {
    background: var(--bg-header);
    color: #fff;
    border-color: var(--bg-header);
    font-weight: bold;
}

.woocommerce-pagination .page-numbers .prev,
.woocommerce-pagination .page-numbers .next {
    font-size: 20px;
    background: var(--bg-header);
    color: #fff;
}

.woocommerce-pagination .page-numbers .prev:hover,
.woocommerce-pagination .page-numbers .next:hover {
    background: #fff;
    color: var(--bg-header);
    border-color: var(--bg-header);
}

/* Loading Overlay */
.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
    backdrop-filter: blur(3px);
}

.loading-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid var(--bg-header);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

#product-list {
    position: relative;
    min-height: 200px;
}

#product-list.loading {
    pointer-events: none;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Paginação Elegante */
.woocommerce-pagination {
    text-align: center;
    padding: 40px 0;
    font-family: "Cormorant Garamond", Georgia, serif;
}

.woocommerce-pagination .page-numbers {
    display: inline-flex;
    list-style: none;
    margin: 0;
    padding: 8px;
    background: #fff;
    border-radius: 50px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
}

.woocommerce-pagination .page-numbers li {
    margin: 0 2px;
    border: none !important;
}

.woocommerce-pagination .page-numbers .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 15px;
    border-radius: 20px;
    color: #666;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.woocommerce-pagination .page-numbers .page-numbers:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: var(--bg-header);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.3s ease, height 0.3s ease;
    z-index: -1;
}

.woocommerce-pagination .page-numbers .page-numbers:hover:before {
    width: 120%;
    height: 120%;
}

.woocommerce-pagination .page-numbers .page-numbers:hover {
    color: #fff;
    transform: translateY(-2px);
}

.woocommerce-pagination .page-numbers .page-numbers.current {
    background: var(--bg-header);
    color: #fff;
    font-weight: 500;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.woocommerce-pagination .page-numbers .prev,
.woocommerce-pagination .page-numbers .next {
    font-size: 20px;
    padding: 0 20px;
    background: var(--bg-header);
    color: #fff;
}

.woocommerce-pagination .page-numbers .prev:hover,
.woocommerce-pagination .page-numbers .next:hover {
    background: #fff;
    color: var(--bg-header);
}

.woocommerce-pagination .page-numbers .dots {
    background: none;
    box-shadow: none;
    cursor: default;
}

.woocommerce-pagination .page-numbers .dots:hover {
    transform: none;
    background: none;
    color: #666;
}

/* Animação de entrada da paginação */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.woocommerce-pagination {
    animation: fadeInUp 0.5s ease-out;
}

/* Efeitos de transição para produtos */
.product-item {
    opacity: 0;
    transform: translateY(20px);
    animation: productFadeIn 0.6s ease forwards;
}

@keyframes productFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Delay progressivo para cada produto */
.product-item:nth-child(1) { animation-delay: 0.1s; }
.product-item:nth-child(2) { animation-delay: 0.2s; }
.product-item:nth-child(3) { animation-delay: 0.3s; }
.product-item:nth-child(4) { animation-delay: 0.4s; }

/* Efeito de hover refinado para paginação */
.woocommerce-pagination .page-numbers .page-numbers:not(.current):hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    background: linear-gradient(to bottom, var(--bg-header) 0%, var(--bg-header) 100%);
    color: #fff;
}

/* Efeito de clique na paginação */
.woocommerce-pagination .page-numbers .page-numbers:active {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Indicador de carregamento mais suave */
.loading-overlay {
    backdrop-filter: blur(3px);
    background: rgba(255, 255, 255, 0.7);
    transition: all 0.3s ease-in-out;
}

/* Melhorando a visibilidade da página atual */
.woocommerce-pagination .page-numbers .page-numbers.current {
    position: relative;
    overflow: hidden;
}

.woocommerce-pagination .page-numbers .page-numbers.current::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 70%);
    animation: ripple 2s linear infinite;
}

@keyframes ripple {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}