/* ====== ESTILO DO CABEÇALHO ====== */
:root{
    /* Nova paleta de cores do cliente */
    --bg-principal: #f0ece4;      /* fundo principal */
    --bg-secundario: #c7bca9;     /* fundo secundário */
    --cta-botoes: #ed3237;        /* botões e call-to-action */
    --fontes: #1e1d1c;           /* cor das fontes */

    /* Aplicação da paleta nos elementos existentes */
    --bg-header: var(--bg-secundario);
    --bg-menu-header: var(--fontes);
    --menu-color: var(--bg-principal);
    --menu-hover: var(--cta-botoes);
    --bg-footer: var(--fontes);
    --font-color-header: var(--bg-principal);
    --bs-link-color-rgb: 224,185,131;
    
    /* ====== DESIGN MINIMALISTA ====== */
    --clean-white: var(--bg-principal);
    --clean-gray: var(--bg-secundario);
    --text-primary: var(--fontes);
    --text-secondary: #6C757D;
    --border-light: var(--bg-secundario);
    --shadow-light: rgba(30, 29, 28, 0.05);
    --shadow-medium: rgba(30, 29, 28, 0.1);
    --spacing-xs: 8px;
    --spacing-sm: 16px;
    --spacing-md: 24px;
    --spacing-lg: 32px;
    --spacing-xl: 48px;
    --border-radius: 8px;
    
    /* Cores derivadas */
    --color-primary: var(--cta-botoes);
    --color-secondary: var(--bg-secundario);
    --color-accent: var(--cta-botoes);
    --color-light: var(--bg-principal);
    --color-dark: var(--fontes);
    --border-color: var(--bg-secundario);
    --bg-light: var(--bg-principal);
    --bg-alt: var(--bg-secundario);
    
    /* Estados e alertas */
    --success-bg: #e8f5e8;
    --warning-bg: #fff8e1;
    --error-bg: #ffebee;
}

/* Força h1 a usar sempre a cor da paleta, mesmo com classes como text-success */
h1,
h1.text-success,
.page-title,
.entry-title,
.archive-title {
    color: var(--fontes) !important;
}

.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;
}

/* ====== DESIGN MINIMALISTA GERAL ====== */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    color: var(--text-primary);
    background: var(--clean-white);
}

/* Layout clean com mais espaçamento */
.container, .site-container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

/* Seções com espaçamento consistente */
section, .content-area {
    padding: 0;
    margin: -1px 0 0;
}

/* Cartões limpos */
.clean-card {
    background: var(--clean-white);
    border-radius: var(--border-radius);
    box-shadow: 0 2px 8px var(--shadow-light);
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
    border: 1px solid var(--border-light);
}

/* Títulos minimalistas */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
    line-height: 1.3;
}

/* Força a cor correta nos títulos de categoria e arquivo */
.archive h1,
.category h1,
.tax-product_cat h1,
.woocommerce-products-header h1,
.page-title,
.entry-title {
    color: var(--fontes) !important;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }

/* Textos secundários */
.text-secondary {
    color: var(--text-secondary);
    font-size: 0.9rem;
}
.site-content .content-area {
    width: 1320px !important;
    margin: 0 auto !important;
}

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

.custom-header {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    width: 100%;
    background: var(--clean-white);
    box-shadow: 0 2px 8px var(--shadow-light);
    border-bottom: 1px solid var(--border-light);
}

/* Barra promocional clean */
.top-bar {
    display: flex;
    justify-content: center;
    gap: var(--spacing-md);
    background: #ab3235;
    color: var(--fontes);
    text-align: center;
    padding: var(--spacing-xs) 0;
    font-size: 0.85rem;
    font-weight: 500;
}

.top-bar p {
    margin: 0;
    font-weight: 400;
}

.top-bar p a {
    color: var(--fontes);
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.top-bar p a:hover {
    opacity: 0.8;
}

/* Logo clean */
.custom-header .logo-header img {
    width: auto;
    height: 40px;
    transition: transform 0.3s ease;
}

.custom-header .logo-header img:hover {
    transform: scale(1.05);
}

/* Separador minimalista */
.custom-header .sep-v {
    width: 1px;
    height: 30px;
    background: var(--border-light);
    opacity: 0.6;
}

/* 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 var(--border-color);
    border-radius: 15px !important;
    font-size: 16px;
    background-color: var(--bg-light);
    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: var(--color-secondary);
}

/* Estilizando a lista de sugestões com imagens */
.search-results-list {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    border: 1px solid var(--border-color);
    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 var(--border-color);
    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 var(--border-color);
    display: flex;
    align-items: center;
}

.search-results-list li a {
    text-decoration: none;
    font-weight: bold;
    color: var(--color-dark);
    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: var(--color-primary);
    font-weight: bold;
}

/* Botão "Ver todos os resultados" */
.search-footer {
    padding: 10px;
    background: var(--bg-light);
    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: var(--color-primary);
    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(--fontes);
    width: max-content;
}
.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(--cta-botoes) !important;
}

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

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

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

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

.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(--fontes);
    font-size: 14px;
    text-decoration: none;
}

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

.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: var(--cta-botoes);
    color: var(--fontes);
    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: var(--bg-principal);
    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 var(--bg-secundario);
    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: var(--color-dark);
    font-size: 12px;
    line-height: 14px;
}

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

.cart-item-remove {
    color: var(--cta-botoes);
    cursor: pointer;
    font-size: 18px;
    width: 25px;
}

.mini-cart-price {
    font-size: 14px !important;
    font-weight: bold;
    color: var(--color-dark);
    display: block;
    margin: 0 !important;
}

/* Rodapé do carrinho */
.cart-footer {
    padding: 15px 0;
    border-top: 1px solid var(--bg-secundario);
    text-align: center;
}

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

.cart-footer .btn.view-cart {
    background: var(--cta-botoes);
    color: var(--fontes);
}

.cart-footer .btn.end-cart {
    background: var(--cta-botoes);
    color: var(--fontes);
}

/* Menu principal clean */
nav.navbar {
    background: var(--bg-menu-header);
    box-shadow: 0 2px 8px var(--shadow-light);
    border-top: 1px solid var(--border-light);
    padding: 0;
}

.navbar-nav {
    margin: 0 !important;
    gap: var(--spacing-lg);
    text-transform: none;
    width: 100%;
    justify-content: center;
    font-weight: 500;
}

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

.navbar-nav > li a {
    color: var(--bg-principal) !important;
    text-decoration: none;
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: 0;
    transition: all 0.3s ease;
    display: block;
    text-transform: uppercase;
}

/* Item com submenu - bordas arredondadas apenas no topo quando hover */
.navbar-nav > li.menu-item-has-children > a {
    border-radius: 0;
    transition: all 0.3s ease;
}

.navbar-nav > li.menu-item-has-children:hover > a {
    border-radius: 0; /* Apenas bordas superiores arredondadas */
}

.navbar-nav > li a:hover,
.navbar-nav > li:hover > a {
    color: var(--bg-menu-header) !important;
    background: var(--clean-gray);
}

/* Mantém o hover do item pai quando estiver navegando no submenu */
.navbar-nav > li:hover > a {
    color: var(--bg-menu-header) !important;
    background: var(--clean-gray);
}

/* Indicador de submenu - seta para baixo */
.navbar-nav > li.menu-item-has-children > a::after {
    content: '\f107'; /* Font Awesome - seta para baixo */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-left: 8px;
    font-size: 12px;
    transition: transform 0.3s ease;
    display: inline-block;
}

/* Rotaciona a seta quando o submenu está ativo */
.navbar-nav > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Estiliza o submenu */
.navbar-nav .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bg-principal);
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 0 0 var(--border-radius) var(--border-radius); /* Apenas bordas inferiores arredondadas */
    min-width: 200px;
    display: none; /* Oculto por padrão */
    padding: 10px 0;
    z-index: 1000;
    margin: 0 auto;
    border: 1px solid var(--bg-secundario);
    /* Remove a borda superior para conectar com o item pai */
    border-top: none;
    margin-top: 0;
}

/* Exibir submenu ao passar o mouse no item pai ou no próprio submenu */
.navbar-nav li:hover > .sub-menu,
.navbar-nav .sub-menu:hover {
    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: var(--fontes) !important;
    text-decoration: none;
    display: block;
    font-size: 14px;
    text-transform: none;
    padding: 5px 0;
}

.navbar-nav .sub-menu li:hover {
    background: var(--bg-secundario);
}

.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: #000;
    font-size: 25px;
    cursor: pointer;
}

nav.navbar.menu-cat-mob{
    background: var(--bg-principal);
    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;
    border-right: 1px solid var(--bg-secundario);
}
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(--fontes);
    font-size: 18px;
}
nav.navbar.menu-cat-mob .closed{
    position: absolute;
    top: 0;
    right: -50px;
    width: 50px;
    height: 50px;
    background: var(--bg-principal);
    display: flex;
    justify-content: center;
    align-items: center;
}
nav.navbar.menu-cat-mob .closed i{
    color: var(--fontes);
    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: 400px){
    .logo-header img{
		width: 120px !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(--cta-botoes);
    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: var(--btn-accent-hover-bg);
}

/* ==========================
   RODAPÉ MINIMALISTA
   ========================== */

/* Footer principal clean */
.site-footer {
    padding: 0 !important;
    background: var(--bg-menu-header) !important;
    border-top: 1px solid var(--border-light);
    margin-top: 0;
}

/* Box de informações clean */
.box-info {
    display: block;
    width: 100%;
    background: var(--clean-white);
    margin-bottom: var(--spacing-md);
    padding: var(--spacing-md);
    box-shadow: 0 2px 8px var(--shadow-light);
}

.box-info p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

/* Newsletter clean */
.footer-newsletter {
    background: var(--clean-white);
    padding: 15px 0;
    text-align: center;
    margin-bottom: var(--spacing-lg);
    box-shadow: 0 2px 8px var(--shadow-light);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-lg);
}

.footer-newsletter p {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: var(--spacing-xs);
    text-align: left;
    color: var(--text-primary);
}

.newsletter-form {
    width: 100%;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

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

.newsletter-form button {
    background: var(--cta-botoes) !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 REABILITADOS */
.payment-methods,
.footer-column{
    display: flex;
    width: 100%;
    flex-direction: column;
}

/*
.payment-methods {
    display: none !important;
}

.payment-methods .img-pag{
    display: none !important;
*/
.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 {
    display: flex;
    background: #f8f8f8;
    padding: 15px 0 0;
    text-align: left;
    font-size: 12px;
    border-top: 1px solid #ddd;
    color: var(--bg-menu-header);
}

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

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

.footer-bottom img {
    width: auto;
    height: 12px;
}

@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: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    padding: 60px 0;
}

.section-title {
    text-align: center;
    font-size: 28px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 40px;
    position: relative;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
    border-radius: 2px;
}

.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-bottom: 8px;
}

.old-price {
    font-size: 13px;
    color: #999;
    text-decoration: line-through;
    margin-right: 6px;
    display: block;
    margin-bottom: 4px;
}

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

.amount {
    font-size: 22px;
    font-weight: 700;
    color: var(--bg-menu-header);
}

del .amount {
    font-size: 13px;
    font-weight: 400;
    color: #999;
    display: block;
}

@media(max-width: 575px){
    .amount {
        font-size: 14px;
        line-height: 14px;
    }
}

/* Preço à Vista e Parcelamento - REABILITADOS */
 
.cash-price,
.installment-price,
.pix-price,
.payment-info,
.payment-methods,
.installment-info,
.pix-info,
.ec-payment-display {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ESPECÍFICO PARA EC PAYMENT DISPLAY PLUGIN */
.ec-payment-display,
.ec-payment-display.ec-payment-wc,
.ec-payment-display.ec-payment-price-html,
.ec-payment-display.ec-payment-shortcode-identical,
.ec-payment-display.ec-payment-js {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 8px 0 !important;
    padding: 4px 0 !important;
    border-radius: 3px !important;
    font-size: 14px;
    line-height: 1.3 !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 10 !important;
}


.current-price {
    font-size: 22px;
    font-weight: bold;
    color: var(--cta-botoes);
    display: block;
}


.pix-price,
.ec-list-pix-price{
    margin-bottom: 0;
    display: block !important;
    font-size: 14px !important
}

.pix-price .amount,
.ec-list-pix-price .woocommerce-Price-amount.amount bdi{
    font-size: 16px !important;
    color: #000 !important;
}

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

.ec-payment-display .pix-text, .ec-payment-display .installment-text {
        color: #000 !important;
    }


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

.product-item {
    background: #ffffff;
    border: none;
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    position: relative;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.product-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* 🏷️ Selo de desconto percentual */
.discount-badge {
    position: absolute !important;
    display: flex !important;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, var(--cta-botoes), var(--bg-secundario));
    color: #ffffff;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center;
    border-radius: 50% !important;
    border: none !important;
    z-index: 10;
    width: 36px !important;
    height: 36px !important;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
}

/* ❤️ Wishlist (favoritos) sobre a imagem */
.wishlist-wrapper {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.wishlist-wrapper:hover {
    background: rgba(255, 255, 255, 1);
    transform: scale(1.1);
}

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

/* 🔥 Ajustes gerais */
.product-item {
    position: relative;
    background: #ffffff;
    padding: 20px 20px 70px;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

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

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

.product-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.product-image {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    overflow: hidden;
}

.product-image img {
    border-radius: 12px;
    transition: transform 0.3s ease;
}

/* Placeholder para produtos sem imagem */
.woocommerce ul.products li.product .woocommerce-loop-product__link img[src*="woocommerce-placeholder"],
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail[src*="woocommerce-placeholder"],
.woocommerce .woocommerce-loop-product__link .attachment-woocommerce_thumbnail[src*="placeholder"] {
    content: url('../../uploads/placeholder.webp') !important;
}

/* Estilo para o container de placeholder personalizado */
.product-image-placeholder {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 16px;
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1; /* Mantém proporção quadrada */
}

.product-image-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
    transition: transform 0.3s ease;
}

/* Hover para placeholder */
.product-item:hover .product-image-placeholder img {
    transform: scale(1.02);
}

/* Fallback CSS para casos onde o PHP não funciona */
.woocommerce .products .product .woocommerce-loop-product__link:not(:has(img)) {
    position: relative;
    display: block;
    width: 100%;
    height: 200px;
    background-image: url('../../uploads/placeholder.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 12px;
    margin-bottom: 16px;
}

/* Para produtos que não têm imagem cadastrada - versão alternativa */
.woocommerce .products .product .woocommerce-loop-product__link img:not([src]),
.woocommerce .products .product .woocommerce-loop-product__link img[src=""],
.woocommerce .products .product .woocommerce-loop-product__link img[src*="data:image/svg+xml"] {
    background-image: url('../../uploads/placeholder.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 12px;
    min-height: 200px;
}

/* Estilo adicional para garantir que o placeholder apareça */
.woocommerce ul.products li.product a img {
    min-height: 200px;
    object-fit: cover;
}

/* Se a imagem não carregar, mostra placeholder */
.woocommerce ul.products li.product a img:not([src]),
.woocommerce ul.products li.product a img[src=""] {
    background: url('../../uploads/placeholder.webp') center/cover no-repeat;
    background-color: #f8f9fa;
}

.product-item:hover .product-image img {
    transform: scale(1.02);
}

.product-title {
    font-size: 16px;
    margin-top: 12px;
    margin-bottom: 8px;
    font-weight: 500;
    text-decoration: none;
    color: var(--text-primary);
    line-height: 1.4;
}

/* Excerpt/Resumo do produto */
.product-excerpt {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 12px;
    padding: 0 4px;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 32px; /* Garante altura consistente mesmo sem texto */
}

.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: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    text-align: center;
    position: relative;
}

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

/* Excerpt no carrossel */
.prod-carousel .product-excerpt {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.4;
    margin-bottom: 10px;
    padding: 0 2px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 28px;
}

.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 */
        gap: 20px;
        padding: 16px;
    }
    
    .product-item {
        padding: 16px 16px 60px;
    }
}

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

    .discount-badge, .wishlist-wrapper {
        top: 8px;
        width: 32px;
        height: 32px;
    }

    .discount-badge {
        right: 8px;
        font-size: 10px !important;
    }

    .wishlist-wrapper {
        left: 8px;
    }

    .yith-wcwl-icon-svg__wrapper svg {
        width: 18px;
        height: 18px;
    }
    
    .product-item {
        padding: 14px 14px 56px;
    }
    
    .section-title {
        font-size: 24px;
        margin-bottom: 30px;
    }
    
    .product-excerpt {
        font-size: 12px;
        margin-bottom: 10px;
        min-height: 28px;
    }

    .current-price {
        font-size: 16px;
    }
}

@media(max-width: 575px){
    .prod-carousel .product-item {
        width: 100%;
    }
    .current-price {
        font-size: 14px;
    }
    .pix-price,
    .ec-list-pix-price{
        font-size: 0.9em !important;
    }

    .ec-payment-display .pix-text, .ec-payment-display .installment-text {
        font-size: 0.9em !important;
        color: #000 !important;
    }

    .pix-price .amount,
    .ec-list-pix-price .woocommerce-Price-amount.amount bdi{
        font-size: 0.9em !important;
    }

    .ec-payment-display .pix-amount .amount{
        font-size: 0.9em !important;
        font-weight: normal;
    }

    .installment-price .amount{
        font-size: 0.9em !important;
        font-weight: normal;
    }

    .ec-payment-display .pix-price, .ec-payment-display .installment-price{
        font-size: 0.9em !important;
        line-height: 12px !important;
        color: #000 !important;
    }
}

@media (max-width: 480px) {
    .products-grid {
        grid-template-columns: repeat(1, 1fr); /* 1 produto por linha */
        gap: 12px;
        padding: 8px;
    }
    
    .product-item {
        padding: 12px 12px 52px;
        max-width: 300px;
        margin: 0 auto;
    }
    
    .section-title {
        font-size: 20px;
        margin-bottom: 24px;
    }
    
    .product-excerpt {
        font-size: 11px;
        margin-bottom: 8px;
        min-height: 24px;
        -webkit-line-clamp: 1;
        line-clamp: 1;
    }
}

/* ==========================
   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: var(--cta-botoes);
}

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

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

/* Botão de Adicionar ao Carrinho */
.add-to-cart-btn {
    background-color: var(--cta-botoes);
    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: var(--cta-botoes);
}

/* 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: var(--cta-botoes);
}

/* Ajuste para o botão "Adicionar ao Carrinho" */
.add-to-cart-wrapper .button {
    background: linear-gradient(135deg, var(--cta-botoes)) !important;
    color: white !important;
    border: none !important;
    padding: 14px 12px !important;
    width: 100%;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(198, 40, 40, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.add-to-cart-wrapper .button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(224, 185, 131, 0.4);
    background: #ab3235 !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: #eb8c16 !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 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: var(--cta-botoes);
    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: var(--btn-accent-hover-bg);
    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(--cta-botoes);
}

.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-footer);
    padding: 10px;
    cursor: pointer;
    transition: color 0.3s ease;
}

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

/* 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(--color-primary);
}

.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(--color-primary);
}

/* 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);
    }
}

/* ====== BOTÕES CTA GERAIS ====== */
/* Botões principais do WooCommerce */
.woocommerce .button.alt,
.woocommerce .button.single_add_to_cart_button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .button.checkout-button,
.single_add_to_cart_button,
.button.add_to_cart_button {
    background-color: var(--cta-botoes) !important;
    color: white !important;
    border: none !important;
}

.woocommerce .button.alt:hover,
.woocommerce .button.single_add_to_cart_button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .button.checkout-button:hover,
.single_add_to_cart_button:hover,
.button.add_to_cart_button:hover {
    background-color: #ab3235 !important;
    color: white !important;
}

/* ====== DESIGN MINIMALISTA PARA PRODUTOS ====== */
/* Grid de produtos clean */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

/* Cartão de produto minimalista */
.woocommerce ul.products li.product {
    background: var(--clean-white);
    border-radius: var(--border-radius);
    box-shadow: 0 4px 12px var(--shadow-light);
    padding: var(--spacing-md);
    text-align: center;
    transition: all 0.3s ease;
    border: 1px solid var(--border-light);
    position: relative;
    overflow: hidden;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px var(--shadow-medium);
}

/* Imagem do produto clean */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: block;
    text-decoration: none;
}

.woocommerce ul.products li.product img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: var(--border-radius);
    margin-bottom: var(--spacing-sm);
}

/* Título do produto */
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--spacing-xs);
    line-height: 1.4;
}

/* Preço minimalista */
.woocommerce ul.products li.product .price {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--bg-header);
    margin-bottom: var(--spacing-sm);
}

.woocommerce ul.products li.product .price del {
    color: var(--text-secondary);
    font-weight: 400;
    font-size: 0.9rem;
}

/* Botão add to cart clean */
.woocommerce ul.products li.product .button {
    background: var(--cta-botoes);
    color: white;
    border: none;
    border-radius: var(--border-radius);
    padding: 12px 24px;
    font-weight: 600;
    font-size: 0.9rem;
    width: 100%;
    transition: all 0.3s ease;
    text-transform: none;
}

.woocommerce ul.products li.product .button:hover {
    background: var(--btn-accent-hover-bg);
    transform: translateY(-1px);
}

/* Badge de promoção clean */
.woocommerce span.onsale {
    background: var(--cta-botoes);
    color: white;
    border-radius: var(--border-radius);
    padding: 4px 8px;
    font-size: 0.75rem;
    font-weight: 600;
    position: absolute;
    top: var(--spacing-sm);
    right: var(--spacing-sm);
    z-index: 2;
}

/* Página de produto único clean */
.woocommerce div.product {
    background: var(--clean-white);
    border-radius: var(--border-radius);
    box-shadow: 0 4px 12px var(--shadow-light);
    padding: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.woocommerce div.product .product_title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
}

.woocommerce div.product .price {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--bg-header);
    margin-bottom: var(--spacing-md);
}

/* Formulário add to cart clean */
.woocommerce div.product form.cart {
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-md);
    background: var(--clean-gray);
    border-radius: var(--border-radius);
}

.woocommerce div.product form.cart .quantity {
    margin-right: var(--spacing-sm);
}

.woocommerce div.product form.cart input[type="number"] {
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius);
    padding: 8px 12px;
    width: 80px;
}

/* Carrinho clean */
.woocommerce-cart table.cart {
    border: none;
    box-shadow: 0 4px 12px var(--shadow-light);
    border-radius: var(--border-radius);
    overflow: hidden;
}

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
    border: none;
    border-bottom: 1px solid var(--border-light);
    padding: var(--spacing-md);
}

.woocommerce-cart table.cart th {
    background: var(--clean-gray);
    font-weight: 600;
    color: var(--text-primary);
}

/* Checkout clean */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
    background: var(--clean-white);
    padding: var(--spacing-lg);
    border-radius: var(--border-radius);
    box-shadow: 0 4px 12px var(--shadow-light);
    margin-bottom: var(--spacing-md);
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius);
    padding: 12px;
    font-size: 1rem;
}

/* Mensagens clean */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    border-radius: var(--border-radius);
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
    border-left: 4px solid;
}

.woocommerce-message {
    background: #D4EDDA;
    border-left-color: #28A745;
    color: #155724;
}

.woocommerce-error {
    background: #F8D7DA;
    border-left-color: #DC3545;
    color: #721C24;
}

.woocommerce-info {
    background: #CCE5FF;
    border-left-color: #007BFF;
    color: #004085;
}

.yith-wcwl-add-to-wishlist-button:is(button){
    gap: 0 !important;
    padding: 0px !important;
    border: 0 !important;
    border-radius: 50% !important;
}

/* ==========================
   SISTEMA DE PREÇOS POR QUANTIDADE
   ========================== */
   
.quantity-pricing-table {
    margin: 20px 0;
    padding: 25px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.quantity-pricing-table h4 {
    margin: 0 0 20px 0;
    color: #2c3e50;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    border-bottom: 2px solid var(--cta-botoes);
    padding-bottom: 10px;
}

.quantity-prices {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.quantity-prices th,
.quantity-prices td {
    padding: 16px 20px;
    text-align: center;
    border-bottom: 1px solid #ecf0f1;
}

.quantity-prices thead th {
    background: linear-gradient(135deg, var(--cta-botoes), var(--bg-secundario));
    color: white;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.quantity-prices tbody tr {
    background: #ffffff;
    transition: all 0.3s ease;
}

.quantity-prices tbody tr:nth-child(even) {
    background: #f8f9fa;
}

.quantity-prices tbody tr:hover {
    background: #e8f5e8;
    transform: scale(1.02);
    box-shadow: 0 4px 12px rgba(0,117,62,0.15);
}

.quantity-prices tbody td {
    font-size: 16px;
    color: #2c3e50;
    font-weight: 500;
}

.quantity-prices tbody td:first-child {
    font-weight: 700;
    color: var(--cta-botoes);
    font-size: 18px;
    border-right: 2px solid var(--cta-botoes);
}

.quantity-prices tbody td:last-child {
    font-weight: 700;
    color: #c0392b;
    font-size: 18px;
    position: relative;
}

.quantity-prices tbody td:last-child::before {
    content: "R$ ";
    font-weight: 600;
    color: #7f8c8d;
}

/* Destaque para linha ativa */
.quantity-prices tbody tr.active-price {
    background: var(--bg-principal) !important;
    border-left: 5px solid var(--cta-botoes);
    font-weight: 700;
}

.quantity-prices tbody tr.active-price td {
    color: #2c3e50;
    font-weight: 700;
}

/* Responsivo para tabela de preços */
@media (max-width: 768px) {
    .quantity-pricing-table {
        padding: 20px 15px;
        margin: 15px 0;
    }
    
    .quantity-pricing-table h4 {
        font-size: 18px;
        margin-bottom: 15px;
    }
    
    .quantity-prices th,
    .quantity-prices td {
        padding: 12px 10px;
        font-size: 14px;
    }
    
    .quantity-prices tbody td:first-child,
    .quantity-prices tbody td:last-child {
        font-size: 16px;
    }
    
    .quantity-prices thead th {
        font-size: 14px;
        letter-spacing: 0.5px;
    }
}

/* Estilo para campos no admin */
.quantity-pricing-group .quantity-rule {
    background: #f9f9f9;
    padding: 15px;
    margin: 10px 0;
    border-radius: 6px;
    border: 1px solid #ddd;
}

.quantity-pricing-group .quantity-rule label {
    display: inline-block;
    margin-right: 10px;
    font-weight: 600;
    color: #333;
    min-width: 120px;
}

.quantity-pricing-group .quantity-rule input {
    margin-right: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 5px 8px;
}

.quantity-pricing-group .remove-quantity-rule {
    background-color: #dc3545;
    color: white;
    border: none;
    padding: 5px 12px;
    border-radius: 4px;
    cursor: pointer;
}

.quantity-pricing-group .remove-quantity-rule:hover {
    background-color: #c82333;
}

/* Força cor correta para todos os h1 - alta prioridade */
body h1,
.site h1,
.main h1,
.content h1,
.container h1,
.woocommerce h1,
.archive-title,
.page-title,
.entry-header h1,
.entry-title {
    color: var(--fontes) !important;
}

/* Sobrescrever classe text-success com cor verde */
.text-success,
h1.text-success,
h2.text-success,
h3.text-success,
h4.text-success,
h5.text-success,
h6.text-success {
    color: var(--cta-botoes) !important;
}

/* ==========================
   FILTRO MOBILE DE CATEGORIAS - #filter-mob
   ========================== */

#filter-mob {
    background: var(--clean-white);
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius);
    padding: 10px;
    margin-bottom: var(--spacing-lg);
    box-shadow: 0 2px 8px var(--shadow-light);
}

/* Título do filtro */
#filter-mob .filter-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-xs);
    border-bottom: 2px solid var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

#filter-mob .filter-title:before {
    content: '\f0b0'; /* Font Awesome - ícone de filtro */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--color-primary);
}

/* Lista principal de categorias do WooCommerce */
#filter-mob .wc-block-product-categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Categorias principais (depth-0) */
#filter-mob .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
    margin-bottom: var(--spacing-xs);
    border-radius: var(--border-radius);
    transition: all 0.3s ease;
}

/* Links das categorias principais */
#filter-mob .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
    display: flex;
    align-items: center;
    padding: 12px var(--spacing-sm);
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    transition: all 0.3s ease;
    border-radius: var(--border-radius);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Hover das categorias principais */
#filter-mob .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a:hover {
    background: var(--bg-alt);
    color: var(--color-primary);
    transform: translateX(4px);
    font-weight: 700;
}

/* Subcategorias (depth-1) */
#filter-mob .wc-block-product-categories-list--depth-1 {
    margin-left: var(--spacing-lg);
    margin-top: var(--spacing-xs);
    padding-left: var(--spacing-sm);
    border-left: 2px solid var(--border-light);
    position: relative;
}

/* Indicador visual para subcategorias */
#filter-mob .wc-block-product-categories-list--depth-1:before {
    content: '';
    position: absolute;
    left: -2px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, var(--color-primary), transparent);
}

/* Links das subcategorias */
#filter-mob .wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item a {
    display: flex;
    align-items: center;
    padding: 8px var(--spacing-sm);
    font-size: 16px;
    font-weight: 400;
    color: var(--text-secondary);
    transition: all 0.3s ease;
    border-radius: var(--border-radius);
    text-decoration: none;
    text-transform: none;
    letter-spacing: normal;
    position: relative;
}

/* Indicador visual para subcategorias */
#filter-mob .wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item a:before {
    content: '└ ';
    position: absolute;
    left: -var(--spacing-sm);
    color: var(--border-color);
    font-size: 12px;
    font-style: normal;
}

/* Hover das subcategorias */
#filter-mob .wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item a:hover {
    background: var(--bg-alt);
    color: var(--color-primary);
    transform: translateX(2px);
    font-weight: 500;
}

/* Contador de produtos - OCULTO */
#filter-mob .wc-block-product-categories-list-item-count {
    display: none !important;
    visibility: hidden;
    opacity: 0;
}

/* Oculta o texto para leitores de tela visualmente */
#filter-mob .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* Categoria ativa (quando estiver na página da categoria) */
#filter-mob .wc-block-product-categories-list-item.current-cat > a,
#filter-mob .wc-block-product-categories-list-item.current-menu-item > a,
#filter-mob .wc-block-product-categories-list-item.current-product-cat > a,
#filter-mob .wc-block-product-categories-list-item.current_page_parent > a,
#filter-mob .wc-block-product-categories-list-item.current-category > a,
.woocommerce-page #filter-mob .wc-block-product-categories-list-item.current-cat > a,
.tax-product_cat #filter-mob .wc-block-product-categories-list-item.current-cat > a {
    background: var(--color-primary) !important;
    color: white !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 8px rgba(237, 50, 55, 0.3) !important;
    transform: translateX(4px) !important;
}

/* Seta para categoria ativa */
#filter-mob .wc-block-product-categories-list-item.current-cat > a:before,
#filter-mob .wc-block-product-categories-list-item.current-menu-item > a:before,
#filter-mob .wc-block-product-categories-list-item.current-product-cat > a:before,
#filter-mob .wc-block-product-categories-list-item.current_page_parent > a:before,
#filter-mob .wc-block-product-categories-list-item.current-category > a:before,
.woocommerce-page #filter-mob .wc-block-product-categories-list-item.current-cat > a:before,
.tax-product_cat #filter-mob .wc-block-product-categories-list-item.current-cat > a:before {
    content: '\f0da '; /* Font Awesome - seta direita */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: var(--spacing-xs);
    font-size: 12px;
}

/* Categoria ativa por URL - usando atributo href */
#filter-mob .wc-block-product-categories-list-item a[href*="/categoria/"]:not([href*="/categoria/"]):target,
#filter-mob .wc-block-product-categories-list-item a[aria-current="page"] {
    background: var(--color-primary) !important;
    color: white !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 8px rgba(237, 50, 55, 0.3) !important;
    transform: translateX(4px) !important;
}

/* JavaScript fallback - classe adicionada via JS */
#filter-mob .wc-block-product-categories-list-item.active-category > a,
#filter-mob .wc-block-product-categories-list-item.categoria-ativa > a {
    background: var(--color-primary) !important;
    color: white !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 8px rgba(237, 50, 55, 0.3) !important;
    transform: translateX(4px) !important;
}

/* Responsividade */
@media (max-width: 991px) {
    #filter-mob {
        display: block;
        margin-bottom: var(--spacing-md);
    }
}

@media (max-width: 767px) {
    #filter-mob {
        padding: var(--spacing-sm);
        margin-bottom: var(--spacing-sm);
    }
    
    #filter-mob .filter-title {
        font-size: 16px;
    }
    
    #filter-mob .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
        padding: 10px var(--spacing-xs);
        font-size: 14px;
    }
    
    #filter-mob .wc-block-product-categories-list--depth-1 {
        margin-left: var(--spacing-md);
    }
}

/* ==========================
   BANNERS PROMOCIONAIS DA HOMEPAGE
   ========================== */

.promotional-banner {
    margin: var(--spacing-xl) 0;
    padding: 0;
    width: 100%;
}

.promotional-banner .container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

/* Wrapper do banner */
.promotional-banner .banner-wrapper {
    position: relative;
    width: 100%;
    height: 325px;
    overflow: hidden;
    border-radius: var(--border-radius);
    box-shadow: 0 4px 12px var(--shadow-medium);
    transition: all 0.3s ease;
    background: var(--bg-light);
}

/* Imagem do banner */
.promotional-banner .banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

/* Link do banner */
.promotional-banner .banner-link {
    display: block;
    text-decoration: none;
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
}

/* Overlay do banner com link */
.promotional-banner .banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    pointer-events: none;
}

/* CTA do banner */
.promotional-banner .banner-cta {
    background: var(--color-primary);
    color: white;
    padding: 12px 24px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(237, 50, 55, 0.3);
}

/* Hover no banner com link */
.promotional-banner .banner-link:hover .banner-wrapper {
    transform: scale(1.02);
    box-shadow: 0 6px 20px var(--shadow-medium);
}

.promotional-banner .banner-link:hover .banner-image {
    transform: scale(1.05);
}

.promotional-banner .banner-link:hover .banner-overlay {
    background: rgba(0, 0, 0, 0.3);
}

.promotional-banner .banner-link:hover .banner-cta {
    opacity: 1;
    transform: translateY(0);
}

/* Cursor pointer para banners com link */
.promotional-banner .banner-link {
    cursor: pointer;
}

/* Banner sem link - remove cursor pointer */
.promotional-banner:not(:has(.banner-link)) .banner-wrapper {
    cursor: default;
}

/* Responsividade dos banners */
@media (max-width: 1399px) {
    .promotional-banner .container {
        max-width: 1140px;
    }
    
    .promotional-banner .banner-wrapper {
        height: 280px;
    }
}

@media (max-width: 1199px) {
    .promotional-banner .container {
        max-width: 960px;
    }
    
    .promotional-banner .banner-wrapper {
        height: 240px;
    }
}

@media (max-width: 991px) {
    .promotional-banner .container {
        max-width: 720px;
    }
    
    .promotional-banner .banner-wrapper {
        height: 200px;
    }
    
    .promotional-banner {
        margin: var(--spacing-lg) 0;
    }
}

@media (max-width: 767px) {
    .promotional-banner .container {
        max-width: 540px;
        padding: 0 var(--spacing-sm);
    }
    
    .promotional-banner .banner-wrapper {
        height: 150px;
    }
    
    .promotional-banner .banner-cta {
        padding: 10px 20px;
        font-size: 12px;
    }
}

@media (max-width: 575px) {
    .promotional-banner .container {
        width: 100%;
        padding: 0 var(--spacing-xs);
    }
    
    .promotional-banner .banner-wrapper {
        height: 120px;
    }
    
    .promotional-banner {
        margin: var(--spacing-md) 0;
    }
}

/* Animação para carregamento do banner */
.promotional-banner .banner-wrapper {
    animation: fadeInUp 0.6s ease-out;
}

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

#simple-chat-button--container { 
    position: fixed; 
    bottom: 20px; 
    right: 20px; 
    z-index: 999999999; 
} 
#simple-chat-button--button { 
    display: block; 
    position: relative; 
    text-decoration: none; 
    width: 60px; 
    height: 60px; 
    border-radius: 50%; 
    -webkit-transition: all 0.2s ease-in-out; 
    transition: all 0.2s ease-in-out; 
    -webkit-transform: scale(1); 
    transform: scale(1); 
    box-shadow: 0 6px 8px 2px rgba(0, 0, 0, .15); 
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjU2IiB3aWR0aD0iMjU2IiB2aWV3Qm94PSItMjMgLTIxIDY4MiA2ODIuNjY3IiBmaWxsPSIjZmZmIiB4bWxuczp2PSJodHRwczovL3ZlY3RhLmlvL25hbm8iPjxwYXRoIGQ9Ik01NDQuMzg3IDkzLjAwOEM0ODQuNTEyIDMzLjA2MyA0MDQuODgzLjAzNSAzMjAuMDUxIDAgMTQ1LjI0NiAwIDIuOTggMTQyLjI2MiAyLjkxIDMxNy4xMTNjLS4wMjMgNTUuODk1IDE0LjU3OCAxMTAuNDU3IDQyLjMzMiAxNTguNTUxTC4yNSA2NDBsMTY4LjEyMS00NC4xMDJjNDYuMzI0IDI1LjI3IDk4LjQ3NyAzOC41ODYgMTUxLjU1MSAzOC42MDJoLjEzM2MxNzQuNzg1IDAgMzE3LjA2Ni0xNDIuMjczIDMxNy4xMzMtMzE3LjEzMy4wMzUtODQuNzQyLTMyLjkyMi0xNjQuNDE4LTkyLjgwMS0yMjQuMzU5ek0zMjAuMDUxIDU4MC45NDFoLS4xMDljLTQ3LjI5Ny0uMDItOTMuNjg0LTEyLjczLTEzNC4xNi0zNi43NDJsLTkuNjIxLTUuNzE1LTk5Ljc2NiAyNi4xNzIgMjYuNjI5LTk3LjI3LTYuMjctOS45NzNjLTI2LjM4Ny00MS45NjktNDAuMzItOTAuNDc3LTQwLjI5Ny0xNDAuMjgxLjA1NS0xNDUuMzMyIDExOC4zMDUtMjYzLjU3IDI2My42OTktMjYzLjU3IDcwLjQwNi4wMjMgMTM2LjU5IDI3LjQ3NyAxODYuMzU1IDc3LjMwMXM3Ny4xNTYgMTE2LjA1MSA3Ny4xMzMgMTg2LjQ4NGMtLjA2MiAxNDUuMzQ0LTExOC4zMDUgMjYzLjU5NC0yNjMuNTk0IDI2My41OTR6bTE0NC41ODYtMTk3LjQxOGMtNy45MjItMy45NjktNDYuODgzLTIzLjEzMy01NC4xNDgtMjUuNzgxLTcuMjU4LTIuNjQ1LTEyLjU0Ny0zLjk2MS0xNy44MjQgMy45NjktNS4yODUgNy45My0yMC40NjkgMjUuNzgxLTI1LjA5NCAzMS4wNjZzLTkuMjQyIDUuOTUzLTE3LjE2OCAxLjk4NC0zMy40NTctMTIuMzM2LTYzLjcyNy0zOS4zMzJjLTIzLjU1NS0yMS4wMTItMzkuNDU3LTQ2Ljk2MS00NC4wODItNTQuODkxLTQuNjE3LTcuOTM3LS4wMzktMTEuODEyIDMuNDc3LTE2LjE3MiA4LjU3OC0xMC42NTIgMTcuMTY4LTIxLjgyIDE5LjgwOS0yNy4xMDVzMS4zMi05LjkxOC0uNjY0LTEzLjg4M2MtMS45NzctMy45NjUtMTcuODI0LTQyLjk2OS0yNC40MjYtNTguODQtNi40MzctMTUuNDQ1LTEyLjk2NS0xMy4zNTktMTcuODMyLTEzLjYwMi00LjYxNy0uMjMtOS45MDItLjI3Ny0xNS4xODctLjI3N3MtMTMuODY3IDEuOTgtMjEuMTMzIDkuOTE4LTI3LjczIDI3LjEwMi0yNy43MyA2Ni4xMDUgMjguMzk1IDc2LjY4NCAzMi4zNTUgODEuOTczIDU1Ljg3OSA4NS4zMjggMTM1LjM2NyAxMTkuNjQ4YzE4LjkwNiA4LjE3MiAzMy42NjQgMTMuMDQzIDQ1LjE3NiAxNi42OTUgMTguOTg0IDYuMDMxIDM2LjI1NCA1LjE4IDQ5LjkxIDMuMTQxIDE1LjIyNy0yLjI3NyA0Ni44NzktMTkuMTcyIDUzLjQ4OC0zNy42OCA2LjYwMi0xOC41MTIgNi42MDItMzQuMzc1IDQuNjE3LTM3LjY4NC0xLjk3Ny0zLjMwNS03LjI2Mi01LjI4NS0xNS4xODQtOS4yNTR6bTAgMCIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+") center/44px 44px no-repeat #25D366; 
} 
#simple-chat-button--text { 
    display: none; 
    position: absolute; 
    width: max-content; 
    background-color: #fff; 
    bottom: 15px; 
    right: 70px; 
    border-radius: 5px; 
    padding: 5px 10px; 
    color: #000; 
    font-size: 13px; 
    font-weight: 700; 
    letter-spacing: -0.03em; 
    -webkit-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
    word-break: keep-all; 
    line-height: 1em; 
    text-overflow: ellipsis; 
    vertical-align: middle; 
    box-shadow: 0 6px 8px 2px rgba(0, 0, 0, .15); 
} 
#simple-chat-button--button:before { 
    content: ""; 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    border-radius: 50%; 
    -webkit-animation: scb-shockwave-animation 2s 5.3s ease-out infinite; 
    animation: scb-shockwave-animation 2s 5.3s ease-out infinite; 
    z-index: -1; 
} 
#simple-chat-button--button:hover { 
    -webkit-transform: scale(1.06); 
    transform: scale(1.06); 
    -webkit-transition: all 0.2s ease-in-out; 
    transition: all 0.2s ease-in-out; 
} 
@media only screen and (max-width: 1024px) { 
    #simple-chat-button--container { 
        bottom: 20px; 
    } 
} 
@media only screen and (max-width: 768px) { 
    #simple-chat-button--container { 
        bottom: 20px; 
    } 
} 
@-webkit-keyframes scb-shockwave-animation { 
    0% { 
        -webkit-transform: scale(1); 
        transform: scale(1); 
        box-shadow: 0 0 2px rgba(0, 100, 0, .5), inset 0 0 1px rgba(0, 100, 0, .5); 
    } 
    95% { 
        box-shadow: 0 0 50px transparent, inset 0 0 30px transparent; 
    } 
    100% { 
        -webkit-transform: scale(1.2); transform: scale(1.2);
     } 
} 
@keyframes scb-shockwave-animation { 
    0% { 
        -webkit-transform: scale(1); 
        transform: scale(1); 
        box-shadow: 0 0 2px rgba(0, 100, 0, .5), inset 0 0 1px rgba(0, 100, 0, .5); 
    } 
    95% { 
        box-shadow: 0 0 50px transparent, inset 0 0 30px transparent; 
    } 
    100% { 
        -webkit-transform: scale(1.2); transform: scale(1.2); 
    } 
}

.is-right-sidebar{
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* ====== VÍDEOS SHORTS SECTION ====== */
.video-shorts-section {
    margin: 40px 0;
    padding: 0;
}

.video-shorts-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

.video-short-item {
    position: relative;
    aspect-ratio: 9/16; /* Formato vertical de shorts */
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    background: #000;
}

.video-short-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* Estilo unificado para todos os tipos de vídeo */
.video-short-item video,
.video-short-item iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border: none;
    pointer-events: none; /* Evita interação direta - clique abre lightbox */
    position: absolute;
    top: 0;
    left: 0;
}

/* Propriedades específicas para vídeos locais */
.video-short-item video {
    -webkit-playsinline: true;
    z-index: 1;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Remove controles de vídeo nativos */
.video-short-item video::-webkit-media-controls {
    display: none !important;
}

.video-short-item video::-webkit-media-controls-panel {
    display: none !important;
}

.video-short-item video::-webkit-media-controls-play-button {
    display: none !important;
}

.video-short-item video::-webkit-media-controls-start-playback-button {
    display: none !important;
}

/* Loading inicial dos vídeos */
.video-short-item[data-video-source="file"] {
    position: relative;
}

.video-short-item[data-video-source="file"]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top: 3px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.video-short-item[data-video-source="file"].loading::before {
    opacity: 1;
}

/* Indicador para vídeos com autoplay bloqueado */
.video-short-item.autoplay-blocked::after {
    content: '▶️';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 40px;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
    z-index: 3;
    cursor: pointer;
    opacity: 0.9;
    transition: all 0.3s ease;
}

.video-short-item.autoplay-blocked:hover::after {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 1;
}

/* Overlay sutil para vídeos bloqueados */
.video-short-item.autoplay-blocked::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 2;
}

/* CSS unificado aplicado acima - todos os vídeos têm mesmo comportamento */

/* Remove thumbnails estáticas antigas (não são mais usadas) */
.video-short-item .video-thumbnail {
    display: none;
}

/* Botão de play removido - vídeos executam automaticamente */

/* ====== LIGHTBOX MODAL ====== */
.video-lightbox {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(8px);
}

.video-lightbox.active {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.lightbox-content {
    position: relative;
    width: 400px; /* Largura fixa para formato vertical */
    height: 70vh; /* Altura responsiva */
    max-height: 700px; /* Altura máxima */
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    aspect-ratio: 9/16; /* Força proporção vertical de shorts */
}

.lightbox-header {
    position: absolute;
    top: -60px;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 10;
}

.lightbox-header h3 {
    color: white;
    margin: 0;
    font-size: 1.2rem;
    font-weight: 500;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.lightbox-close {
    color: white;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
    z-index: 100000;
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.2);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.lightbox-close:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.4);
    transform: scale(1.05);
}

.lightbox-video {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

.lightbox-video iframe,
.lightbox-video video {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    object-fit: cover;
}

/* Específico para vídeos shorts no lightbox */
.video-shorts-iframe {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 9/16;
}

.video-shorts-player {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    aspect-ratio: 9/16;
}

/* Responsividade para vídeos shorts */
@media (max-width: 1024px) {
    .video-shorts-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        padding: 0 16px;
    }
}

@media (max-width: 768px) {
    .video-shorts-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 0 12px;
    }
    
    .lightbox-content {
        max-width: 95vw;
        max-height: 85vh;
    }
    
    .lightbox-close {
        top: -35px;
        font-size: 24px;
        width: 35px;
        height: 35px;
    }
}

@media (max-width: 480px) {
    .video-shorts-section {
        margin: 30px 0;
    }
    
    .video-shorts-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 0 10px;
    }
}

/* ====== MELHORIAS DE ACESSIBILIDADE E UX ====== */
.video-short-item:focus {
    outline: 3px solid #0073aa;
    outline-offset: 2px;
}

.lightbox-close:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Animações suaves aprimoradas */
.video-short-item {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.video-short-item:hover {
    animation: pulse-gentle 2s infinite;
}

@keyframes pulse-gentle {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

/* Estado de loading */
.video-short-item.loading {
    opacity: 0.7;
    pointer-events: none;
    position: relative;
}

.video-short-item.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top: 3px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 10;
}

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

/* Melhor overlay do lightbox */
.video-lightbox {
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(8px);
}

/* Animações do lightbox */
.video-lightbox {
    animation: fadeIn 0.3s ease-in-out;
}

.video-lightbox.active .lightbox-content {
    animation: slideIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

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

@keyframes slideIn {
    from { 
        opacity: 0;
        transform: scale(0.8) translateY(30px);
    }
    to { 
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Botão de fechar aprimorado */
.lightbox-close {
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.lightbox-close:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.4);
    transform: scale(1.05);
}

/* Melhor header do lightbox */
.lightbox-header {
    position: absolute;
    top: -60px;
    left: 0;
    right: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 10;
}

.lightbox-header h3 {
    color: white;
    margin: 0;
    font-size: 1.2rem;
    font-weight: 500;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

/* Estado do corpo quando lightbox está aberto */
body.lightbox-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
}

/* Prevenção de scroll em mobile */
.video-lightbox {
    touch-action: none;
    overscroll-behavior: contain;
}

/* Melhor responsividade do vídeo no lightbox */
.lightbox-video iframe,
.lightbox-video video {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    max-height: 70vh;
}

/* Responsividade do lightbox shorts */
@media (max-width: 768px) {
    .lightbox-content {
        width: 350px;
        height: 65vh;
        max-height: 620px;
    }
    
    .lightbox-header {
        top: -50px;
    }
    
    .lightbox-header h3 {
        font-size: 1.1rem;
    }
}

@media (max-width: 480px) {
    .lightbox-content {
        width: 90vw;
        max-width: 300px;
        height: 60vh;
        max-height: 500px;
    }
    
    .lightbox-header {
        top: -45px;
    }
    
    .lightbox-header h3 {
        font-size: 1rem;
    }
    
    .lightbox-close {
        width: 35px;
        height: 35px;
        font-size: 24px;
    }
}