@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Oswald:wght@400;500;600;700&display=swap');

:root {
    /* Tema Claro (Padrão) */
    --cor-primaria: #D32F2F; /* Vermelho XFLEX */
    --cor-primaria-hover: #B71C1C;
    --cor-secundaria: #0B2A4A; /* Azul XFLEX */
    
    --cor-fundo-site: #F8F9FA;
    --cor-fundo-secao: #E9ECEF;
    --cor-letras: #212529;
    --cor-letras-secundaria: #495057;
    --cor-branca: #FFFFFF;
    --cor-borda: #E0E0E0;
    
    /* Cores atualizadas (Preços e Botões) */
    --cor-preco: #059669; /* Verde esmeralda */
    --btn-bg: #000000;
    --btn-text: #FFFFFF;
    --btn-text2: #FFFFFF;
    --btn-border: #000000;
    --btn-hover-bg: #FFFFFF;
    --btn-hover-text: #000000;
    
    /* Header Moderno Variables */
    --header-bg: rgba(255, 255, 255, 0.70);
    --header-border: rgba(0, 0, 0, 0.08);
    --card-bg: #FFFFFF;
    
    /* Variáveis de Correção para o Dark Mode */
    --texto-destaque: #000000;
    --bg-footer: #000000; /* Preto fixo */
    
    /* Fontes Modernas Masculinas */
    --fonte-titulos: "Oswald", sans-serif;
    --fonte-principal: "Inter", sans-serif;
}

[data-theme="dark"] {
    /* Tema Escuro */
    --cor-fundo-site: #121212;
    --cor-fundo-secao: #1A1A1A;
    --cor-letras: #FFFFFF; 
    --cor-letras-secundaria: #E0E0E0; 
    --cor-branca: #1E1E1E;
    --cor-borda: #2C2C2C;
    
    /* Cores atualizadas (Preços e Botões) */
    --cor-preco: #34D399; /* Verde mais vibrante/neon */
    --btn-bg: #FFFFFF;
    --btn-text: #000000;
    --btn-text2: #FFFFFF;
    --btn-border: #FFFFFF;
    --btn-hover-bg: #000000;
    --btn-hover-text: #FFFFFF;
    
    /* Header Moderno Variables */
    --header-bg: rgba(18, 18, 18, 0.70);
    --header-border: rgba(255, 255, 255, 0.08);
    --card-bg: #1A1A1A; 
    
    /* Variáveis de Correção para o Dark Mode */
    --texto-destaque: #FFFFFF;
    --bg-footer: #000000; 
}

/* CORREÇÃO DA BOLINHA DO CARRINHO (BADGE) NO MODO ESCURO */
[data-theme="dark"] .wc-block-components-cart-badge,
[data-theme="dark"] .cart-contents span.count,
[data-theme="dark"] .header-icons .count {
    background-color: var(--cor-primaria) !important;
    color: #FFFFFF !important; /* Força o número a ser branco */
}

/* --- RESET GLOBAL E FONTES --- */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: var(--fonte-principal);
    font-weight: 400;
    background-color: var(--cor-fundo-site);
    color: var(--cor-letras);
    line-height: 1.7;
    padding-top: 110px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--fonte-titulos);
    text-transform: uppercase;
}

/* --- CABEÇALHO FLUTUANTE MODERNO --- */
.header { background: var(--header-bg); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); height: 70px; display: flex; justify-content: center; align-items: center; position: fixed; top: 20px; left: 50%; transform: translateX(-50%); width: 90%; max-width: 1100px; z-index: 1000; border: 1px solid var(--header-border); border-radius: 40px; padding: 0 30px; transition: 0.4s; }
.header::before { content: ""; position: absolute; top: 0; left: 0; height: 100%; width: 100%; max-width: 450px; background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.85) 140px, rgba(255, 255, 255, 0) 100%); border-radius: 40px 0 0 40px; opacity: 0; transition: opacity 0.5s ease; z-index: -1; pointer-events: none; }
[data-theme="dark"] .header::before { opacity: 1; }
.header.search-active { max-width: 1350px; }
.header-container { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; }

/* --- LOGO ANIMADA MODERNA --- */
.nav-logo { position: relative; display: flex; align-items: center; height: 35px; width: 90px; overflow: hidden; transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1); text-decoration: none; }
.nav-logo img { position: absolute; left: 0; top: 0; height: 100%; width: auto; max-width: none; transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
.nav-logo .logo-icon { opacity: 1; transform: translateX(15px); }
.nav-logo .logo-full { opacity: 0; transform: translateX(-15px); }
.nav-logo:hover { width: 400px; }
.nav-logo:hover .logo-icon { opacity: 0; transform: translateX(15px); }
.nav-logo:hover .logo-full { opacity: 1; transform: translateX(5px); }

/* --- NAVEGAÇÃO DESKTOP --- */
.header-group-right { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.main-nav { display: none; }
@media (min-width: 1024px) { .main-nav { display: block; } }

.main-nav-list { display: flex; list-style: none; gap: 10px; height: 70px; align-items: center; margin:0; }
.main-nav-item > a { 
    display: block; padding: 8px 12px; font-weight: 500; text-transform: uppercase; 
    font-size: 1rem; color: var(--texto-destaque); text-decoration: none; 
    transition: color 0.3s ease; letter-spacing: 0.5px; font-family: var(--fonte-titulos);
}
.main-nav-item > a:hover, .main-nav-item > a.active { color: var(--cor-primaria); }

/* --- ÍCONES DA DIREITA E BUSCA --- */
.icon-nav-list { display: flex; list-style: none; gap: 15px; align-items: center; margin:0; }
.icon-nav-list a, .icon-nav-list button { color: var(--texto-destaque); font-size: 1.3rem; text-decoration: none; transition: color 0.3s ease; background: none !important; border: none !important; cursor: pointer; display: flex; align-items: center; padding: 0; margin: 0; }
.icon-nav-list a:hover, .icon-nav-list button:hover { color: var(--cor-primaria) !important; }

/* =========================================================
   PESQUISA EXPANSÍVEL (FLUXO NORMAL SEM SOBREPOSIÇÃO)
   ========================================================= */

.search-bar { 
    display: flex !important; 
    align-items: center !important; 
}

.search-bar form { 
    display: flex !important; 
    align-items: center !important; 
    margin: 0 !important; 
    padding: 0 !important; 
}

/* O input da pesquisa começa zerado e invisível */
.search-input {
    width: 0 !important; 
    opacity: 0 !important; 
    visibility: hidden !important; 
    height: 35px !important; 
    border: 1px solid transparent !important;
    background-color: var(--cor-fundo-site) !important; 
    color: var(--cor-letras) !important; 
    border-radius: 0 !important; 
    padding: 0 !important; 
    margin: 0 !important; /* Sem margem para não causar espaços falsos */
    font-family: var(--fonte-principal) !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Quando ativo, ele cresce naturalmente e empurra o menu para a esquerda */
.search-bar.active .search-input { 
    width: 200px !important; 
    opacity: 1 !important; 
    visibility: visible !important; 
    border-color: var(--cor-borda) !important; 
    padding: 0 15px !important; 
    margin-right: 10px !important; /* Cria um espaço entre a caixa e a lupa ao abrir */
}

.search-bar.active .search-input:focus { 
    border-color: var(--texto-destaque) !important; 
    outline: none !important; 
}

/* O botão da lupa sempre visível */
.search-btn { 
    background: none !important; 
    border: none !important; 
    color: var(--texto-destaque) !important; 
    font-size: 1.3rem !important; 
    cursor: pointer !important; 
    display: flex !important; 
    align-items: center !important; 
    transition: color 0.3s ease !important; 
    padding: 0 !important; 
    margin: 0 !important; 
}

.search-btn:hover { 
    color: var(--cor-primaria) !important; 
}

/* --- SIDEBAR FAVORITOS NATIVO --- */
.favorites-sidebar { position: fixed; top: 0; right: -400px; width: 350px; height: 100vh; background: var(--card-bg); z-index: 3000; transition: 0.4s cubic-bezier(0.25, 1, 0.5, 1); box-shadow: -10px 0 30px rgba(0,0,0,0.3); display: flex; flex-direction: column; }
.favorites-sidebar.active { right: 0; }
.fav-header { padding: 25px; border-bottom: 1px solid var(--cor-borda); display: flex; justify-content: space-between; align-items: center; }
.fav-header h3 { font-family: var(--fonte-titulos); color: var(--texto-destaque); margin: 0; font-size: 1.5rem; text-transform: uppercase; }
.close-favorites { background: none; border: none; font-size: 2rem; color: var(--texto-destaque); cursor: pointer; }
.favorites-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0,0,0,0.7); z-index: 2999; visibility: hidden; opacity: 0; transition: 0.3s; }
.favorites-overlay.active { visibility: visible; opacity: 1; }
.fav-content { overflow-y: auto; flex-grow: 1; }
.fav-content .fav-items-list li:hover { background-color: var(--cor-fundo-secao); }
.remove-fav-btn:hover { color: var(--cor-primaria-hover) !important; transform: scale(1.1); }

/* --- MENU MOBILE --- */
.mobile-nav-toggle { display: block; background: none; border: none; cursor: pointer; font-size: 26px; color: var(--texto-destaque); }
@media (min-width: 1024px) { .mobile-nav-toggle { display: none; } }
.mobile-nav-container { position: fixed; top: 0; left: -100%; width: 80%; max-width: 350px; height: 100vh; background: var(--cor-branca); z-index: 2000; box-shadow: 10px 0 20px rgba(0, 0, 0, 0.2); transition: left 0.4s ease; display: flex; flex-direction: column; }
.mobile-nav-container.active { left: 0; }
.mobile-nav-header { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid var(--cor-borda); background: var(--cor-branca); }
.mobile-nav-header a { position: relative; display: flex; align-items: center; z-index: 1; text-decoration: none; }
.mobile-nav-header img { height: 26px; width: auto; object-fit: contain; transition: all 0.3s ease; }
[data-theme="dark"] .mobile-nav-header a::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 260px; height: 45px; background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.4) 40%, rgba(255, 255, 255, 0) 70%); filter: blur(8px); z-index: -1; border-radius: 20%; pointer-events: none; }
.mobile-nav-close { background: none; border: none; font-size: 28px; color: var(--texto-destaque); cursor: pointer; }
.mobile-nav-list { list-style: none; overflow-y: auto; flex-grow: 1; margin:0; padding:0; }
.mobile-nav-list li a, .theme-toggle-mobile { display: block; width: 100%; text-align: left; padding: 15px 20px; text-decoration: none; font-weight: 500; font-family: var(--fonte-titulos); text-transform: uppercase; font-size: 1.1rem; color: var(--texto-destaque); border-bottom: 1px solid var(--cor-borda); background: none; border-top: none; border-left: none; border-right: none; cursor: pointer; transition: color 0.3s ease; }
.mobile-nav-list li a:hover, .theme-toggle-mobile:hover { color: var(--cor-primaria); }
.mobile-nav-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0,0,0,0.6); z-index: 1999; opacity: 0; visibility: hidden; transition: all 0.3s ease; }
.mobile-nav-overlay.active { opacity: 1; visibility: visible; }

/* --- HERO SLIDER --- */
.hero-slider { position: relative; width: 100%; height: 75vh; overflow: hidden; background: #000; margin-top: -110px; }
.hero-slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; text-align: center; background-size: cover; background-position: center; color: #FFF; padding: 40px 5%; opacity: 0; visibility: hidden; transition: opacity 1s ease; }
.hero-slide.active { opacity: 1; visibility: visible; z-index: 1; }
.hero-content { z-index: 2; max-width: 800px; margin-top: 50px; }
.hero-content h1 { font-weight: 700; font-size: 4.5rem; margin-bottom: 15px; letter-spacing: 1px; text-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.hero-content p { font-size: 1.2rem; margin-bottom: 30px; opacity: 0.9; font-family: var(--fonte-principal); text-transform: none; }

/* --- BOTÕES MODERNO (COMPRAR E GERAIS) --- */
.btn, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit { 
    display: block !important; 
    width: 100% !important; 
    margin: auto 0 0 !important; 
    background: var(--btn-bg) !important; 
    color: var(--btn-text) !important; 
    padding: 14px 25px !important; 
    border-radius: 0 !important; 
    text-decoration: none !important; 
    font-weight: 500 !important; 
    font-family: var(--fonte-titulos) !important; 
    text-transform: uppercase !important; 
    border: none !important; 
    cursor: pointer !important; 
    transition: 0.3s !important; 
    text-align: center !important; 
    line-height: 1 !important;
    box-sizing: border-box !important;
}
.btn:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover, 
.woocommerce #respond input#submit:hover { 
    background: var(--cor-primaria) !important; 
    color: var(--btn-text2) !important; 
    text-decoration: none !important;
}

.hero-btn { 
    width: auto !important; 
    margin: 0 auto !important; 
    background-color: rgba(0, 0, 0, 0.4) !important; 
    border: 1px solid rgba(255,255,255,0.6) !important;
    backdrop-filter: blur(8px); 
    -webkit-backdrop-filter: blur(8px); 
    text-decoration: none !important;
}
.hero-btn:hover { 
    background-color: rgba(255, 255, 255, 0.2) !important; 
    border-color: #FFFFFF !important; 
}

/* =========================================================
   ESTILIZAÇÃO MODERNA DA LOJA E WOOCOMMERCE
   ========================================================= */
.section { padding: 60px 5%; max-width: 1600px; margin: 0 auto; }
.section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; border-bottom: 2px solid var(--cor-borda); padding-bottom: 10px;}
.section-title { font-weight: 600; font-size: 2.2rem; color: var(--texto-destaque); }
.section-subtitle { font-size: 1rem; color: var(--cor-letras-secundaria); font-family: var(--fonte-principal); text-transform: none; }
.see-more-link { font-weight: 500; font-family: var(--fonte-titulos); color: var(--cor-primaria); text-decoration: none; text-transform: uppercase; font-size: 1rem; letter-spacing: 1px; }

.woocommerce-container { max-width: 1400px; margin: 0 auto; width: 100%; color: var(--cor-letras); }

.woocommerce .woocommerce-ordering select { padding: 12px 20px; border: 1px solid var(--cor-borda); background-color: var(--card-bg); color: var(--cor-letras); font-family: var(--fonte-principal); font-weight: 500; border-radius: 0; outline: none; cursor: pointer; }
.woocommerce .woocommerce-result-count { color: var(--cor-letras-secundaria); font-family: var(--fonte-principal); margin-top: 10px; font-weight: 500; }

.woocommerce ul.products, .card-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; gap: 30px !important; margin: 40px 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }

.woocommerce ul.products li.product, .card { width: 100% !important; margin: 0 !important; background: var(--card-bg) !important; border: 1px solid var(--cor-borda) !important; border-radius: 0 !important; transition: box-shadow 0.3s ease, border-color 0.3s ease !important; display: flex !important; flex-direction: column !important; position: relative !important; }
.woocommerce ul.products li.product:hover, .card:hover { border-color: var(--texto-destaque) !important; }

.woocommerce span.onsale { background: var(--cor-primaria) !important; color: #fff !important; border-radius: 0 !important; font-family: var(--fonte-titulos) !important; text-transform: uppercase !important; font-size: 0.9rem !important; padding: 8px 15px !important; min-height: auto !important; min-width: auto !important; line-height: 1 !important; top: 15px !important; left: 15px !important; right: auto !important; z-index: 9 !important; box-shadow: 0 4px 10px rgba(211, 47, 47, 0.3); }

.woocommerce ul.products li.product > a, .card-img-wrapper { overflow: hidden; display: block; position: relative; border-bottom: 1px solid var(--cor-borda); }
.woocommerce ul.products li.product a img, .card-img { width: 100% !important; height: 380px !important; object-fit: cover !important; margin: 0 !important; transition: transform 0.6s ease !important; }
.woocommerce ul.products li.product:hover a img, .card:hover .card-img { transform: scale(1.08) !important; }

.woocommerce ul.products li.product .woocommerce-loop-product__title, .card-info h3 { font-size: 1.25rem !important; font-family: var(--fonte-principal) !important; font-weight: 600 !important; color: var(--cor-letras) !important; text-align: center; padding: 25px 20px 5px !important; margin: 0 !important; text-transform: none; }
.woocommerce ul.products li.product .price, .card-info .price { color: var(--cor-preco) !important; font-family: var(--fonte-titulos) !important; font-size: 1.6rem !important; font-weight: 600 !important; text-align: center; display: block; margin-bottom: 25px !important; }
.woocommerce ul.products li.product .price del, .card-info .price del { color: var(--cor-letras-secundaria); font-size: 1rem; font-weight: 400; margin-right: 8px; opacity: 0.6; }

.woocommerce ul.products li.product .button, .card .btn { width: calc(100% - 40px) !important; margin: auto 20px 20px !important; }

.xflex-fav-btn { position: absolute; top: 15px; right: 15px; background: var(--card-bg); border: 1px solid var(--cor-borda); width: 45px; height: 45px; border-radius: 0; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; color: var(--cor-letras-secundaria); cursor: pointer; z-index: 10; transition: 0.3s; }
.xflex-fav-btn:hover, .xflex-fav-btn.active { background: var(--cor-primaria); color: #FFF; border-color: var(--cor-primaria); }

.woocommerce nav.woocommerce-pagination { margin-top: 60px; margin-bottom: 30px; }
.woocommerce nav.woocommerce-pagination ul { border: none !important; display: flex; justify-content: center; gap: 10px; }
.woocommerce nav.woocommerce-pagination ul li { border: none !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { padding: 12px 20px !important; background: var(--card-bg) !important; color: var(--cor-letras) !important; border: 1px solid var(--cor-borda) !important; font-family: var(--fonte-titulos) !important; font-size: 1.2rem !important; transition: 0.3s; }
.woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--texto-destaque) !important; color: var(--cor-fundo-site) !important; border-color: var(--texto-destaque) !important; }

/* --- AVISOS E ALERTAS (NENHUM PRODUTO ENCONTRADO, ETC) --- */
.woocommerce-info, .woocommerce-error, .woocommerce-message, .woocommerce-noreviews {
    position: relative !important;
    background-color: var(--card-bg) !important;
    border: none !important;
    border-left: 5px solid var(--cor-primaria) !important; 
    border-radius: 0 !important;
    padding: 25px 30px 25px 80px !important; /* Padding de 80px na esquerda para dar espaço ao ícone absoluto */
    font-family: var(--fonte-titulos) !important;
    text-transform: uppercase;
    font-size: 1.1rem;
    color: var(--cor-letras) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    margin: 20px 0 40px !important;
    line-height: 1.5;
    word-break: break-word;
    list-style: none !important; /* Remove bolinhas nativas */
    display: block !important; /* Remove o Flexbox que esmagava as listas */
}

/* Garante que se houver mais de um aviso (ex: Nome e Sobrenome), eles fiquem um abaixo do outro com espaçamento */
.woocommerce-info li, .woocommerce-error li, .woocommerce-message li {
    margin-bottom: 12px !important;
    display: block !important;
}
.woocommerce-info li:last-child, .woocommerce-error li:last-child, .woocommerce-message li:last-child {
    margin-bottom: 0 !important;
}

/* Ícones ancorados no canto superior esquerdo para não interferir no texto */
.woocommerce-info::before, .woocommerce-error::before, .woocommerce-message::before, .woocommerce-noreviews::before { 
    position: absolute !important; 
    left: 25px !important;
    top: 25px !important;
    display: block !important; 
    margin: 0 !important; 
    font-family: 'boxicons' !important; 
    font-size: 2.2rem !important; 
}

/* Unicodes Universais (Check, Warning, Info) */
.woocommerce-info::before { content: '\ea48' !important; color: var(--cor-primaria) !important; } /* bx-info-circle */
.woocommerce-error::before { content: '\ea39' !important; color: var(--cor-primaria) !important; } /* bx-error */
.woocommerce-message::before { content: '\e9ce' !important; color: var(--cor-preco) !important; } /* bx-check-circle */

/* Exceção para tela vazia da loja */
.woocommerce-no-products-found .woocommerce-info { 
    padding: 80px 40px !important; 
    border-left: none !important; 
    border-bottom: 5px solid var(--cor-primaria) !important; 
    text-align: center !important; 
}
.woocommerce-no-products-found .woocommerce-info::before { 
    position: static !important;
    font-size: 4rem !important; 
    margin: 0 auto 20px !important; 
    content: '\ecad' !important; /* Sacola vazia */
}

/* Botões dentro dos avisos */
.woocommerce-info .wc-backward, .woocommerce-error .button, .woocommerce-message .button { 
    display: inline-block !important;
    margin-top: 15px !important;
    background: var(--btn-bg) !important; 
    color: var(--btn-text) !important; 
    width: auto !important; 
    padding: 12px 25px !important; 
    font-size: 0.9rem !important; 
}


/* =========================================================
   CARRINHO DE COMPRAS - WOOCOMMERCE BLOCKS E CLASSICO
   ========================================================= */

.woocommerce-cart .woocommerce-container, .wp-block-woocommerce-cart { font-family: var(--fonte-principal); color: var(--cor-letras); max-width: 1400px; margin: 40px auto; }

/* Container Principal lado a lado */
.woocommerce-cart-form, .wp-block-woocommerce-filled-cart-block { 
    display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; justify-content: space-between; 
}

/* Esquerda: Itens */
.woocommerce-cart-form__contents, .wp-block-woocommerce-cart-items-block { 
    width: calc(65% - 20px) !important; background: var(--card-bg); border: 1px solid var(--cor-borda); padding: 30px; border-radius: 0; 
}
.wc-block-cart-item { border-bottom: 1px solid var(--cor-borda); padding: 20px 0; }
.wc-block-cart-item:last-child { border-bottom: none; }
.wc-block-cart-item__image img { border-radius: 0 !important; border: 1px solid var(--cor-borda); }

/* Título e Preço da Lista */
.wc-block-components-product-name { font-family: var(--fonte-titulos) !important; font-size: 1.3rem !important; color: var(--texto-destaque) !important; text-transform: uppercase; text-decoration: none !important; }
.wc-block-components-product-name:hover { color: var(--cor-primaria) !important; }
.wc-block-components-product-price { font-family: var(--fonte-principal) !important; font-size: 1.1rem !important; font-weight: 600 !important; color: var(--cor-preco) !important; }

/* Direita: Resumo e Fechar Compra */
.cart-collaterals, .wp-block-woocommerce-cart-totals-block { 
    width: calc(35% - 20px) !important; background: var(--card-bg); border: 1px solid var(--cor-borda); padding: 30px; border-radius: 0; float: none !important; 
}
.cart_totals h2, .wc-block-cart__totals-title { font-family: var(--fonte-titulos) !important; font-size: 1.8rem !important; color: var(--texto-destaque) !important; border-bottom: 2px solid var(--cor-borda); padding-bottom: 15px; margin-top: 0; text-transform: uppercase; }
.wc-block-components-totals-item__label, .wc-block-components-totals-item__value { color: var(--cor-letras) !important; font-family: var(--fonte-principal) !important; font-size: 1rem; }
.wc-block-components-totals-item--order-total .wc-block-components-totals-item__value { color: var(--cor-preco) !important; font-size: 1.5rem !important; font-family: var(--fonte-titulos) !important; font-weight: bold; }

/* Botões Fechar Compra / Cupom */
.wc-block-cart__submit-container .wc-block-components-checkout-place-order-button, .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button, .checkout-button { background: var(--btn-bg) !important; color: var(--btn-text) !important; border-radius: 0 !important; font-family: var(--fonte-titulos) !important; text-transform: uppercase !important; font-weight: 500 !important; padding: 15px 25px !important; border: none !important; width: 100% !important; display: block !important; text-align: center !important; text-decoration: none !important; box-shadow: none !important; }
.wc-block-cart__submit-container .wc-block-components-checkout-place-order-button:hover, .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover, .checkout-button:hover { background: var(--cor-primaria) !important; color: var(--btn-text2) !important; }

/* Carrinho Vazio Blocks */
.wc-block-cart__empty-cart__title { font-family: var(--fonte-titulos) !important; text-transform: uppercase; color: var(--texto-destaque) !important; font-size: 2rem; margin-bottom: 20px; }
.wp-block-woocommerce-empty-cart-block .wc-block-components-button { background: var(--btn-bg) !important; color: var(--btn-text) !important; border-radius: 0 !important; font-family: var(--fonte-titulos) !important; text-transform: uppercase !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-components-button:hover { background: var(--cor-primaria) !important; color: var(--btn-text2) !important; }


/* =========================================================
   CORREÇÃO GERAL DE CAMPOS DE TEXTO E CHECKOUT (XFLEX)
   ========================================================= */

/* Inputs, Textareas e Selects Gerais (Forçando a altura exata e cores do Tema - Ignorando a Pesquisa do Header) */
input[type="text"]:not(.search-input), input[type="email"], input[type="tel"], input[type="password"], input[type="number"], 
textarea, select, .input-text, .woocommerce-Input,
.wc-block-components-text-input input, 
.wc-block-components-combobox .wc-block-components-combobox-control input {
    width: 100% !important;
    height: 50px !important; /* Força 50px de altura apenas nos formulários comuns */
    background-color: var(--cor-fundo-site) !important;
    color: var(--cor-letras) !important;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 0 !important;
    padding: 0 20px !important;
    font-size: 1rem !important;
    outline: none !important;
    transition: 0.3s !important;
    font-family: var(--fonte-principal) !important;
    box-shadow: none !important;
}

textarea {
    height: auto !important;
    min-height: 120px !important;
    padding-top: 15px !important;
}

/* Estado de foco (Focus) */
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="password"]:focus, 
input[type="number"]:focus, textarea:focus, select:focus, .input-text:focus, .woocommerce-Input:focus,
.wc-block-components-text-input input:focus {
    border-color: var(--texto-destaque) !important;
}

/* Textos de Labels padrão (Ex: "Nome", "Endereço" fora dos blocos modernos) */
.woocommerce form .form-row label {
    font-family: var(--fonte-principal);
    font-weight: 500;
    color: var(--cor-letras);
    margin-bottom: 8px;
    display: block;
}

/* =========================================================
   MINHA CONTA - WOOCOMMERCE (XFLEX IDENTITY)
   ========================================================= */

.woocommerce-account .woocommerce-container { display: flex; flex-wrap: wrap; gap: 30px; align-items: flex-start; }

/* --- NAVEGAÇÃO LATERAL DA CONTA --- */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 25%; background: var(--card-bg); border: 1px solid var(--cor-borda); padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--cor-borda); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 18px 20px; color: var(--cor-letras); font-family: var(--fonte-titulos); font-size: 1.1rem; text-transform: uppercase; text-decoration: none; transition: 0.3s ease; border-left: 4px solid transparent; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover, .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--cor-fundo-secao); border-left-color: var(--cor-primaria); color: var(--cor-primaria); padding-left: 28px; }

/* --- CONTEÚDO PRINCIPAL DA CONTA --- */
.woocommerce-account .woocommerce-MyAccount-content { width: calc(75% - 30px); background: var(--card-bg); border: 1px solid var(--cor-borda); padding: 40px; color: var(--cor-letras); }
.woocommerce-account .woocommerce-MyAccount-content h3 { font-family: var(--fonte-titulos); font-size: 1.8rem; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid var(--cor-borda); color: var(--texto-destaque); }
.woocommerce-account .woocommerce-MyAccount-content p { font-family: var(--fonte-principal); font-size: 1rem; line-height: 1.6; margin-bottom: 20px; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--cor-primaria); font-weight: 600; text-decoration: none; transition: 0.3s; }
.woocommerce-account .woocommerce-MyAccount-content a:hover { color: var(--texto-destaque); }

/* --- REMOVER BORDA BRANCA / FIELDSET DE SENHA --- */
.woocommerce form fieldset { border: none !important; padding: 0 !important; margin: 30px 0 0 !important; }
.woocommerce form fieldset legend { font-family: var(--fonte-titulos); font-size: 1.5rem; color: var(--texto-destaque); padding: 0; margin-bottom: 20px; }

/* --- TABELAS (HISTÓRICO DE PEDIDOS E DOWNLOADS) --- */
.woocommerce-account table.shop_table { width: 100%; border-collapse: collapse; margin-bottom: 30px; border: 1px solid var(--cor-borda) !important; border-radius: 0 !important; background: var(--card-bg); }
.woocommerce-account table.shop_table th { background: var(--cor-fundo-secao); color: var(--cor-letras); padding: 18px 15px; font-family: var(--fonte-titulos); text-transform: uppercase; text-align: left; }
.woocommerce-account table.shop_table td { padding: 15px; border-bottom: 1px solid var(--cor-borda) !important; color: var(--cor-letras); font-family: var(--fonte-principal); vertical-align: middle; }
.woocommerce-account table.shop_table td .button { padding: 10px 15px !important; font-size: 0.9rem !important; width: auto !important; margin: 0 !important; }

/* --- ENDEREÇOS (CARDS ALINHADOS E COM MESMA ALTURA) --- */
.woocommerce-Addresses.col2-set { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 30px !important; margin-top: 20px !important; }
.woocommerce-Addresses.col2-set::before, .woocommerce-Addresses.col2-set::after { display: none !important; }
.woocommerce-Addresses.col2-set .col-1, .woocommerce-Addresses.col2-set .col-2 { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce-Address { background: var(--cor-fundo-site); border: 1px solid var(--cor-borda); padding: 25px; height: 100%; }
.woocommerce-Address-title h3 { border-bottom: none !important; padding-bottom: 0 !important; margin-bottom: 15px !important; font-size: 1.4rem !important; }
.woocommerce-Address address { font-style: normal; line-height: 1.8; margin-bottom: 20px; color: var(--cor-letras-secundaria); }

/* --- TELA DE LOGIN / REGISTRO --- */
.woocommerce-account.woocommerce-page #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-top: 20px; }
.woocommerce-account.woocommerce-page #customer_login h2 { font-family: var(--fonte-titulos); font-size: 2rem; margin-bottom: 25px; border-bottom: 2px solid var(--cor-borda); padding-bottom: 10px; color: var(--texto-destaque); }
.woocommerce form.login, .woocommerce form.register { background: var(--card-bg); border: 1px solid var(--cor-borda); padding: 40px; border-radius: 0; }

/* --- FOOTER COMPACTO PRETO --- */
.footer { background-color: var(--bg-footer); color: #FFF; padding: 30px 5% 20px; text-align: center; margin-top: 40px; }
.footer .social a { color: #FFF; font-size: 1.5rem; margin: 0 10px; transition: color 0.3s; }
.footer .social a:hover { color: var(--cor-primaria); }
.footer .list { list-style: none; margin: 15px 0; display: flex; justify-content: center; gap: 20px; padding: 0; }
.footer .list a { color: rgba(255,255,255,0.7); text-decoration: none; text-transform: uppercase; font-size: 1rem; font-weight: 500; font-family: var(--fonte-titulos); letter-spacing: 0.5px; }
.footer .list a:hover { color: #FFF; }
.footer .copyright { border-top: 1px solid rgba(255,255,255,0.1); margin-top: 20px; padding-top: 15px; font-size: 0.85rem; opacity: 0.6; font-family: var(--fonte-principal); }

/* --- AJUSTES MOBILE EXTREMOS --- */
@media (max-width: 768px) {
    .header { height: 60px; padding: 0 20px; width: 95%; }
    .header::before { max-width: 220px; background: radial-gradient(circle at 0% 50%, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0) 80%); }
    body { padding-top: 90px; }
    .nav-logo { height: 28px; width: 80px; }
    .nav-logo .logo-icon { transform: translateX(8px); }
    .nav-logo:hover { width: 230px; }
    
    .shop-header-banner { padding: 100px 5% 40px !important; }
    .shop-header-banner h1 { font-size: 2.5rem !important; }
    
    .woocommerce ul.products, .card-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 15px !important; }
    .woocommerce ul.products li.product a img, .card-img { height: 250px !important; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title, .card-info h3 { font-size: 1rem !important; padding: 15px 10px 5px !important; }
    .woocommerce ul.products li.product .price, .card-info .price { font-size: 1.2rem !important; margin-bottom: 15px !important; }
    .woocommerce ul.products li.product .button, .card .btn { width: calc(100% - 20px) !important; margin: auto 10px 10px !important; padding: 12px !important; font-size: 0.9rem !important; }
    
    .xflex-fav-btn { width: 35px; height: 35px; font-size: 1.3rem; top: 10px; right: 10px; }
    .hero-btn { width: auto !important; margin: 0 auto !important; }
    
    .woocommerce-info, .woocommerce-error, .woocommerce-message { 
        padding: 20px 20px 20px 60px !important; /* Reduz espaço no celular */
        text-align: left !important; 
    }
    .woocommerce-info::before, .woocommerce-error::before, .woocommerce-message::before {
        left: 15px !important;
        top: 20px !important;
        font-size: 1.8rem !important;
    }
    .woocommerce-info .wc-backward { margin: 15px 0 0 !important; }
    
    /* Responsividade do Carrinho no Mobile (Desempilha e ajusta para 100%) */
    .wp-block-woocommerce-filled-cart-block { flex-direction: column; gap: 20px; }
    .wp-block-woocommerce-cart-items-block, 
    .wp-block-woocommerce-cart-totals-block { width: 100% !important; padding: 20px; }

    .woocommerce-account .woocommerce-container { flex-direction: column; }
    .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: 100%; }
    .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 30px; }
    .woocommerce-account .woocommerce-MyAccount-content { padding: 25px; }
    
    .woocommerce-Addresses.col2-set, .woocommerce-account.woocommerce-page #customer_login { grid-template-columns: 1fr !important; gap: 30px; }
    .woocommerce form.login, .woocommerce form.register { padding: 25px; }
}

/* =========================================================
   CORREÇÃO DEFINITIVA DE LABELS E CHECKOUT (XFLEX)
   ========================================================= */

.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-country-input,
.wc-block-components-state-input {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    margin-bottom: 15px !important; /* Distância entre um bloco de preenchimento e outro */
    box-shadow: none !important;
}

.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
    order: -1 !important; /* MÁGICA: Força o título a ficar SEMPRE acima da caixa, não importa o que o WooCommerce faça */
    position: static !important; /* Desativa a flutuação nativa do WooCommerce */
    transform: none !important;
    margin-bottom: 6px !important; /* Distância exata e próxima entre título e a caixa de digitar */
    font-size: 0.95rem !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--cor-letras) !important;
    font-family: var(--fonte-principal) !important;
    font-weight: 600 !important;
    width: 100% !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
    order: 2 !important; /* MÁGICA: Força a caixa a ficar SEMPRE abaixo do título */
    position: static !important;
    margin: 0 !important;
    height: 50px !important;
    padding: 0 20px !important; /* Remove o padding enorme interno invisível que afastava o texto */
    background-color: var(--cor-fundo-site) !important;
    color: var(--cor-letras) !important;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 0 !important;
    font-family: var(--fonte-principal) !important;
    box-shadow: none !important;
    width: 100% !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-country-input select:focus,
.wc-block-components-state-input select:focus {
    border-color: var(--texto-destaque) !important;
    outline: none !important;
}

::placeholder {
    color: var(--cor-letras-secundaria) !important;
    opacity: 0.6 !important;
}

/* =========================================================
   FORÇAR VISIBILIDADE NO MODO ESCURO E BOLINHA DO CARRINHO
   ========================================================= */

/* Garante que os textos descritivos do checkout apareçam brancos no Modo Escuro */
[data-theme="dark"] .wc-block-components-checkout-step__title,
[data-theme="dark"] .wc-block-components-checkout-step__description,
[data-theme="dark"] .wc-block-components-radio-control label,
[data-theme="dark"] .wc-block-components-checkbox-control label,
[data-theme="dark"] .wc-block-checkout__actions_note,
[data-theme="dark"] .wc-block-components-totals-item__label,
[data-theme="dark"] .wc-block-components-totals-item__value,
[data-theme="dark"] .wc-block-components-address-form label,
[data-theme="dark"] .components-base-control__label {
    color: var(--cor-letras) !important;
}

/* Corrige o texto invisível nas caixas e opções de País e Estado (Combobox) */
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.components-combobox-control input,
.components-form-token-field__input-container input {
    color: var(--cor-letras) !important;
    background-color: var(--cor-fundo-site) !important;
    box-shadow: none !important;
}

/* Evita que o wrapper dessas caixas aplique fundos brancos acidentais */
.wc-blocks-components-select__container,
.wc-blocks-components-select {
    background: transparent !important;
}

/* Força a cor do fundo da bolinha do carrinho geral e do resumo do pedido */
.wc-block-components-cart-badge,
.cart-contents span.count,
.header-icons .count,
.wc-block-mini-cart__badge,
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
    background-color: var(--cor-primaria) !important;
    border-color: var(--cor-primaria) !important;
    border: none !important;
}

/* Força o número de dentro da bolinha a ser SEMPRE branco e legível */
.wc-block-components-cart-badge,
.cart-contents span.count,
.header-icons .count,
.wc-block-mini-cart__badge,
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span {
    color: #FFFFFF !important;
    font-weight: bold !important;
}

/* Garante que os rótulos (a palavra "País" e "Estado") fiquem totalmente alinhados com o de Cidade */
.wc-blocks-components-select__label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
    order: -1 !important; /* Joga o título para cima igual aos demais */
    color: var(--cor-letras) !important;
    background: transparent !important;
    font-family: var(--fonte-principal) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 6px !important;
    padding: 0 !important;
    opacity: 1 !important;
    position: static !important;
    display: block !important;
    transform: none !important;
    width: 100% !important;
}

/* =========================================================
   CORREÇÃO DO SELETOR DE QUANTIDADE (NÚMERO CORTADO)
   ========================================================= */

/* Removemos a borda individual e colocamos no container para criar um bloco perfeitamente alinhado */
.wc-block-components-quantity-selector {
    display: inline-flex !important;
    align-items: center !important;
    height: 45px !important;
    background: var(--cor-fundo-site) !important;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    width: 120px !important; /* Espaço de sobra para não cortar o número, mesmo sendo 9999 */
}

/* Arruma a caixa de texto do número (o Input) */
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    flex: 1 !important;
    height: 100% !important;
    border: none !important; /* Borda agora fica apenas no container pai */
    background: transparent !important;
    color: var(--cor-letras) !important;
    font-family: var(--fonte-principal) !important;
    font-size: 1.2rem !important;
    text-align: center !important;
    padding: 0 !important; /* Zera o preenchimento do WooCommerce que causava o corte */
    margin: 0 !important;
    box-shadow: none !important;
    appearance: textfield !important; /* Esconde comportamento padrão em navegadores modernos */
    -moz-appearance: textfield !important; /* Firefox */
}

/* Força a remoção definitiva das "setinhas" nativas de número no Chrome/Edge/Safari */
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Efeito Hover com a cor vermelha da XFLEX ao passar o mouse no + e - */
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
    background: var(--cor-primaria) !important;
    color: #FFFFFF !important;
}

/* =========================================================
   REFORMULAÇÃO: CARRINHO VAZIO E GRID DE PRODUTOS (XFLEX)
   ========================================================= */

/* --- 1. AVISO DE CARRINHO VAZIO MAIS LIMPO E ORGANIZADO --- */
.wp-block-woocommerce-empty-cart-block {
    text-align: center;
    padding: 60px 20px !important;
    background: transparent !important;
    border: none !important;
    margin: 20px auto 60px !important;
    max-width: 1400px !important; 
    width: 100% !important;
    display: block !important; 
}

/* Título transformado em flexbox para que o texto e o ícone fiquem lado a lado no centro */
.wc-block-cart__empty-cart__title {
    font-family: var(--fonte-titulos) !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    color: var(--texto-destaque) !important;
    margin-bottom: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important; /* Evita quebra feia no celular */
}

/* Remove a linha separadora feia (pontinhos) nativa do WP */
.wp-block-woocommerce-empty-cart-block .wp-block-separator { 
    display: none !important; 
}

/* Botão "Explorar Loja" */
.wp-block-woocommerce-empty-cart-block .wc-block-components-button {
    background: var(--btn-bg) !important;
    color: var(--btn-text) !important;
    border-radius: 0 !important;
    font-family: var(--fonte-titulos) !important;
    text-transform: uppercase !important;
    font-size: 1.1rem !important;
    padding: 15px 40px !important;
    border: none !important;
    transition: 0.3s !important;
    text-decoration: none !important;
    display: inline-block !important; 
}
.wp-block-woocommerce-empty-cart-block .wc-block-components-button:hover {
    background: var(--cor-primaria) !important;
    color: var(--btn-text2) !important;
}

/* --- 2. TÍTULO "NOVO NA LOJA" --- */
.wp-block-woocommerce-empty-cart-block + h2,
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
    font-family: var(--fonte-titulos) !important;
    text-align: left;
    text-transform: uppercase;
    font-size: 2.2rem;
    margin: 40px auto;
    color: var(--texto-destaque);
    border-bottom: 2px solid var(--cor-borda);
    padding-bottom: 10px;
    max-width: 1400px;
    display: block;
}

/* --- 3. CARDS DE PRODUTO IDÊNTICOS À PÁGINA INICIAL --- */

/* Força a quebra da regra nativa de colunas do WooCommerce Blocks */
.wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; /* Medida dinâmica anti-esmagamento */
    gap: 30px !important;
    max-width: 1400px;
    margin: 0 auto 60px !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* CORREÇÃO 3: Anula as larguras fixas limitadoras impostas pelo WooCommerce Blocks nas tags .has-X-columns */
.wc-block-grid.has-2-columns .wc-block-grid__product,
.wc-block-grid.has-3-columns .wc-block-grid__product,
.wc-block-grid.has-4-columns .wc-block-grid__product,
.wc-block-grid.has-5-columns .wc-block-grid__product,
.wc-block-grid.has-6-columns .wc-block-grid__product,
.wc-block-grid__product {
    max-width: 100% !important;
    flex: none !important;
    width: 100% !important;
    margin: 0 !important;
    background: var(--card-bg) !important;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    padding: 0 !important;
    font-size: 1rem !important; /* Anula o bug de fonte pequena do WP */
}
.wc-block-grid__product:hover {
    border-color: var(--texto-destaque) !important;
}

/* Container da Imagem (Para aplicar o Hover) */
.wc-block-grid__product-link {
    overflow: hidden !important;
    display: block !important;
    position: relative !important;
    border-bottom: 1px solid var(--cor-borda) !important;
    text-decoration: none !important;
}

/* Imagem 380px Fixa */
.wc-block-grid__product-image { margin: 0 !important; width: 100% !important; }
.wc-block-grid__product-image img {
    width: 100% !important;
    height: 380px !important;
    object-fit: cover !important;
    margin: 0 !important;
    transition: transform 0.6s ease !important;
    border-radius: 0 !important;
}
.wc-block-grid__product:hover .wc-block-grid__product-image img {
    transform: scale(1.08) !important;
}

/* Título do Produto */
.wc-block-grid__product-title {
    font-size: 1.25rem !important;
    font-family: var(--fonte-principal) !important;
    font-weight: 600 !important;
    color: var(--cor-letras) !important;
    text-align: center;
    padding: 25px 20px 5px !important;
    margin: 0 !important;
    text-transform: none !important;
}

/* Preço */
.wc-block-grid__product-price {
    color: var(--cor-preco) !important;
    font-family: var(--fonte-titulos) !important;
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    text-align: center;
    display: block;
    margin-bottom: 25px !important;
}
.wc-block-grid__product-price del {
    color: var(--cor-letras-secundaria) !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    margin-right: 8px !important;
    opacity: 0.6 !important;
}

/* Container do Botão Comprar (Joga o botão pro fundo do Card) */
.wc-block-grid__product-add-to-cart {
    margin-top: auto !important; 
    padding: 0 !important;
    width: 100% !important; 
}

/* Botão Comprar */
.wc-block-grid__product-add-to-cart .wp-block-button__link {
    width: calc(100% - 40px) !important;
    margin: auto 20px 20px !important;
    display: block !important;
    background: var(--btn-bg) !important;
    color: var(--btn-text) !important;
    padding: 14px 25px !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-family: var(--fonte-titulos) !important;
    text-transform: uppercase !important;
    border: none !important;
    cursor: pointer !important;
    transition: 0.3s !important;
    text-align: center !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    background: var(--cor-primaria) !important;
    color: var(--btn-text2) !important;
}

/* Badge de Promoção (Oferta) idêntico à loja */
.wc-block-grid__product-onsale {
    background: var(--cor-primaria) !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-family: var(--fonte-titulos) !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    padding: 8px 15px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1 !important;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    z-index: 9 !important;
    box-shadow: 0 4px 10px rgba(211, 47, 47, 0.3);
    position: absolute !important;
}

/* Remove o ícone nativo de carrinho vazio do WooCommerce Blocks no título */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    display: none !important;
    content: none !important;
}

/* Ajustes Mobile do Carrinho Vazio e Grid */
@media (max-width: 768px) {
    .wc-block-cart__empty-cart__title { font-size: 1.8rem !important; }
    .wp-block-woocommerce-empty-cart-block { padding: 40px 15px !important; margin-top: 0 !important;}
    
    .wc-block-grid__products { 
        grid-template-columns: repeat(2, 1fr) !important; 
        gap: 15px !important; 
    }
    .wc-block-grid__product-image img { height: 250px !important; }
    .wc-block-grid__product-title { font-size: 1rem !important; padding: 15px 10px 5px !important; }
    .wc-block-grid__product-price { font-size: 1.2rem !important; margin-bottom: 15px !important; }
    
    .wc-block-grid__product-add-to-cart .wp-block-button__link { 
        width: calc(100% - 20px) !important; 
        margin: auto 10px 10px !important; 
        padding: 12px !important; 
        font-size: 0.9rem !important; 
    }
    
    /* Reduz o ícone do carrinho vazio no celular para acompanhar a fonte */
    .wc-block-cart__empty-cart__title::before,
    .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
        font-size: 2.2rem !important;
        margin-right: 10px !important;
    }
}

/* =========================================================
   CORREÇÃO: MENSAGENS DE ERRO DE VALIDAÇÃO NO CHECKOUT
   ========================================================= */

/* Força a mensagem de erro a ficar SEMPRE abaixo da caixa de texto (order: 3) */
.wc-block-components-validation-error {
    order: 3 !important; /* Garante que o erro fique no rodapé do campo */
    width: 100% !important;
    color: var(--cor-primaria) !important; /* Deixa o erro na cor vermelha da XFLEX */
    font-family: var(--fonte-principal) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    margin-top: 5px !important;
    margin-bottom: 0 !important;
    display: block !important;
    position: static !important;
    line-height: 1.2 !important;
}

/* Garante que o container flexível se adapte ao erro sem distorcer as caixas vizinhas */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-country-input,
.wc-block-components-state-input {
    height: auto !important; 
    align-items: flex-start !important;
}

/* Opcional: Destaca a borda da caixa de texto de vermelho quando houver erro */
.wc-block-components-text-input.has-error input,
.wc-block-components-combobox.has-error input,
.wc-block-components-country-input.has-error select,
.wc-block-components-state-input.has-error select {
    border-color: var(--cor-primaria) !important;
}

/* =========================================================
   TRAVAMENTO DE SEGURANÇA DO CABEÇALHO (ITENS À DIREITA)
   ========================================================= */

/* Garante o espaço total interno e distribuição correta */
.header-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
}

/* Força o grupo de elementos a ocupar a extremidade direita sem flutuações */
.header-group-right {
    display: flex !important;
    flex: 1 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 20px !important;
    margin-left: auto !important;
}

/* Mantém as listas de navegação e ícones alinhadas em linha no topo */
.main-nav-list, .icon-nav-list {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Restaura o tamanho original da caixa de pesquisa do header, anulando o checkout */
.search-input {
    height: 35px !important;
    max-height: 35px !important;
}

/* =========================================================
   NOVAS SEÇÕES DA PÁGINA INICIAL (XFLEX)
   ========================================================= */

/* --- 1. CATEGORIAS EM DESTAQUE --- */
.categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.category-card {
    position: relative;
    overflow: hidden;
    display: block;
    height: 400px;
    text-decoration: none;
    border: 1px solid var(--cor-borda);
    background: var(--card-bg);
}
.category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}
.category-card::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
    pointer-events: none;
}
.category-card:hover img {
    transform: scale(1.08);
}
.category-content {
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 2;
    color: #FFF;
}
.category-content h3 {
    font-size: 2.2rem;
    margin-bottom: 5px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
    color: #FFF;
}
.category-content span {
    font-family: var(--fonte-principal);
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--cor-primaria);
    transition: 0.3s;
}
.category-card:hover .category-content span {
    color: #FFF;
    gap: 10px; /* Anima a setinha para o lado */
}

/* --- 2. BANNER PROMOCIONAL CTA (PARALLAX) --- */
.cta-banner {
    position: relative;
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* Cria o efeito Parallax */
    padding: 120px 5%;
    text-align: center;
    color: #FFF;
    margin: 60px 0;
}
.cta-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.65); /* Escurece a imagem para a letra sobressair */
    z-index: 1;
}
.cta-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
}
.cta-content h2 {
    font-size: 3.5rem;
    margin-bottom: 20px;
    color: #FFF;
}
.cta-content p {
    font-size: 1.2rem;
    margin-bottom: 35px;
    font-family: var(--fonte-principal);
    color: #E0E0E0;
}
.cta-content .btn {
    display: inline-flex !important;
    width: auto !important;
    padding: 15px 50px !important;
    font-size: 1.1rem !important;
}

/* --- 3. NEWSLETTER --- */
.newsletter-section {
    background: var(--cor-fundo-site);
    padding: 0 5% 60px;
}
.newsletter-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    background: var(--card-bg);
    padding: 60px;
    border: 1px solid var(--cor-borda);
}
.newsletter-text {
    flex: 1;
}
.newsletter-text h2 {
    font-size: 2.2rem;
    color: var(--texto-destaque);
    margin-bottom: 10px;
}
.newsletter-text p {
    color: var(--cor-letras-secundaria);
    font-family: var(--fonte-principal);
    font-size: 1.05rem;
}
.newsletter-form {
    flex: 1;
    display: flex;
    gap: 15px;
    width: 100%;
}
.newsletter-form input {
    flex: 1;
    height: 55px !important;
    margin: 0 !important;
}
.newsletter-form .btn {
    width: auto !important;
    margin: 0 !important;
    height: 55px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 30px !important;
}

/* --- 4. RESPONSIVIDADE (CELULAR) --- */
@media (max-width: 768px) {
    .categories-grid { grid-template-columns: 1fr; gap: 20px; }
    .category-card { height: 280px; }
    .cta-banner { padding: 80px 5%; background-attachment: scroll; /* Desativa parallax no mobile para performance */ }
    .cta-content h2 { font-size: 2.2rem; }
    .newsletter-container { flex-direction: column; padding: 30px 20px; text-align: center; }
    .newsletter-form { flex-direction: column; width: 100%; }
    .newsletter-form .btn { width: 100% !important; }
}

/* Força o texto do botão do Hero a ser branco apenas no tema escuro */
[data-theme="dark"] .hero-btn {
    color: #FFFFFF !important;
}

/* =========================================================
   PÁGINA SINGULAR DO PRODUTO (LAYOUT MODERNO E LIMPO)
   ========================================================= */

/* Transforma o layout padrão em Flexbox para alinhar Galeria e Resumo */
.woocommerce div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 50px !important;
    margin-bottom: 60px !important;
    align-items: flex-start !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Largura da Galeria e Resumo (50/50 no Desktop) */
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    width: calc(50% - 25px) !important;
    float: none !important;
    margin: 0 !important;
}

/* --- GALERIA DE IMAGENS --- */
.woocommerce div.product div.images img {
    border-radius: 0 !important;
    border: 1px solid var(--cor-borda) !important;
    width: 100% !important;
    box-shadow: none !important;
}
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex !important;
    gap: 10px !important;
    margin-top: 15px !important;
    padding: 0 !important;
}
.woocommerce div.product div.images .flex-control-thumbs li {
    width: calc(25% - 7.5px) !important; /* Mostra 4 miniaturas alinhadas */
    float: none !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    opacity: 0.6 !important;
    transition: 0.3s !important;
    cursor: pointer !important;
    border: 1px solid var(--cor-borda) !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
    opacity: 1 !important;
    border-color: var(--texto-destaque) !important;
}

/* --- RESUMO DO PRODUTO (DIREITA) --- */
.woocommerce div.product .product_title {
    font-family: var(--fonte-titulos) !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    color: var(--texto-destaque) !important;
    margin-bottom: 10px !important;
    line-height: 1.1 !important;
    clear: none !important;
}

/* Preço */
.woocommerce div.product p.price, 
.woocommerce div.product span.price {
    font-family: var(--fonte-titulos) !important;
    font-size: 2.5rem !important;
    color: var(--cor-preco) !important;
    font-weight: 600 !important;
    margin-bottom: 25px !important;
}
.woocommerce div.product p.price del {
    color: var(--cor-letras-secundaria) !important;
    font-size: 1.2rem !important;
    opacity: 0.6 !important;
    margin-right: 10px !important;
}

/* Descrição Curta */
.woocommerce div.product .woocommerce-product-details__short-description {
    font-family: var(--fonte-principal) !important;
    font-size: 1.05rem !important;
    color: var(--cor-letras-secundaria) !important;
    border-top: 1px solid var(--cor-borda) !important;
    border-bottom: 1px solid var(--cor-borda) !important;
    padding: 25px 0 !important;
    margin-bottom: 30px !important;
    line-height: 1.6 !important;
}

/* Metadados (SKU, Categorias, Tags) */
.woocommerce div.product .product_meta {
    font-family: var(--fonte-principal) !important;
    font-size: 0.95rem !important;
    color: var(--cor-letras-secundaria) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 30px !important;
}
.woocommerce div.product .product_meta span { display: block !important; }
.woocommerce div.product .product_meta a { color: var(--cor-primaria) !important; font-weight: 500 !important; text-decoration: none !important; }
.woocommerce div.product .product_meta a:hover { color: var(--texto-destaque) !important; }

/* --- BOTÃO DE COMPRAR E QUANTIDADE (ALINHAMENTO PERFEITO) --- */
.woocommerce div.product form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
}

/* Estica o seletor de quantidade para a mesma altura do botão */
.woocommerce div.product form.cart .quantity {
    height: 55px !important;
    margin: 0 !important;
}

/* Botão Comprar esticado preenchendo o espaço */
.woocommerce div.product form.cart .button {
    height: 55px !important;
    margin: 0 !important;
    flex: 1 !important; /* Ocupa todo o resto do espaço lateral */
    font-size: 1.2rem !important;
}

/* --- ABAS (DESCRIÇÃO E AVALIAÇÕES) --- */
.woocommerce div.product .woocommerce-tabs {
    width: 100% !important;
    margin-top: 40px !important;
    border-top: 2px solid var(--cor-borda) !important;
    padding-top: 40px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    justify-content: center !important;
    gap: 40px !important;
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
    border: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--cor-letras-secundaria) !important;
    font-family: var(--fonte-titulos) !important;
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    padding: 10px 0 !important;
    border-bottom: 3px solid transparent !important;
    transition: 0.3s !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--texto-destaque) !important;
    border-bottom-color: var(--cor-primaria) !important;
}

/* =========================================================
   ÁREA DE AVALIAÇÕES (REVIEWS) REFORMULADA
   ========================================================= */

/* Divide as avaliações em 2 colunas: Comentários (Esq) / Escrever Avaliação (Dir) */
#reviews {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    align-items: flex-start !important;
}

#comments { width: calc(55% - 20px) !important; }
#review_form_wrapper { 
    width: calc(45% - 20px) !important; 
    background: var(--card-bg) !important;
    padding: 40px !important;
    border: 1px solid var(--cor-borda) !important;
}

/* Títulos das Avaliações */
#reviews h2 {
    font-family: var(--fonte-titulos) !important;
    font-size: 1.8rem !important;
    color: var(--texto-destaque) !important;
    margin-bottom: 25px !important;
    border-bottom: 2px solid var(--cor-borda) !important;
    padding-bottom: 10px !important;
}

/* --- LISTA DE COMENTÁRIOS --- */
#comments ol.commentlist { padding: 0 !important; margin: 0 !important; }
#comments ol.commentlist li {
    padding: 25px !important;
    margin-bottom: 20px !important;
    border: 1px solid var(--cor-borda) !important;
    background: var(--card-bg) !important;
    border-radius: 0 !important;
    list-style: none !important;
}
#comments ol.commentlist li img.avatar {
    float: left !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    border: none !important;
    background: var(--cor-fundo-secao) !important;
    margin-right: 20px !important;
}
#comments ol.commentlist li .comment-text {
    margin-left: 80px !important;
    border: none !important;
    padding: 0 !important;
}
#comments ol.commentlist li .meta {
    font-family: var(--fonte-titulos) !important;
    color: var(--texto-destaque) !important;
    font-size: 1.1rem !important;
    margin-bottom: 10px !important;
}
#comments ol.commentlist li .meta strong { color: var(--cor-primaria) !important; font-size: 1.2rem !important; }
#comments ol.commentlist li .description {
    font-family: var(--fonte-principal) !important;
    color: var(--cor-letras) !important;
    line-height: 1.6 !important;
}

/* Estrelas */
.woocommerce .star-rating { color: var(--cor-primaria) !important; font-size: 1.1rem !important; float: right !important; }
p.stars a { color: var(--cor-primaria) !important; font-size: 1.3rem !important; }

/* --- FORMULÁRIO DE AVALIAÇÃO --- */
.comment-reply-title { font-family: var(--fonte-titulos) !important; font-size: 1.6rem !important; margin-bottom: 20px !important; display: block !important; }
.comment-form-rating { display: flex !important; align-items: center !important; gap: 15px !important; margin-bottom: 20px !important; }
.comment-form-rating label { margin: 0 !important; font-weight: 600 !important; }
#review_form textarea { height: 120px !important; margin-bottom: 20px !important; }

/* --- PRODUTOS RELACIONADOS --- */
.related.products { width: 100% !important; margin-top: 60px !important; }
.related.products h2 { font-size: 2.2rem !important; border-bottom: 2px solid var(--cor-borda) !important; padding-bottom: 10px !important; margin-bottom: 30px !important; }

/* =========================================================
   RESPONSIVIDADE (CELULAR) - PÁGINA DO PRODUTO
   ========================================================= */
@media (max-width: 900px) {
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary { width: 100% !important; }
    
    .woocommerce div.product .product_title { font-size: 2.2rem !important; }
    .woocommerce div.product p.price { font-size: 2rem !important; }
    
    .woocommerce div.product form.cart { flex-direction: column !important; }
    .woocommerce div.product form.cart .quantity,
    .woocommerce div.product form.cart .button { width: 100% !important; }

    #comments, #review_form_wrapper { width: 100% !important; }
    #review_form_wrapper { padding: 25px !important; }
    
    .woocommerce div.product .woocommerce-tabs ul.tabs { flex-direction: column !important; gap: 15px !important; align-items: center !important; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 1.2rem !important; }
}

/* =========================================================
   REFINAMENTO PREMIUM: PÁGINA DE PRODUTOS E AVALIAÇÕES
   ========================================================= */

/* --- 1. AVALIAÇÃO (BADGE DO LADO DAS ESTRELAS) --- */
.woocommerce .woocommerce-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 25px !important;
}
.woocommerce .woocommerce-product-rating .star-rating {
    margin: 0 !important;
}
.woocommerce div.product .woocommerce-review-link {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--fonte-principal) !important;
    font-size: 0.85rem !important;
    color: var(--cor-letras-secundaria) !important;
    background: var(--cor-fundo-secao) !important;
    padding: 5px 15px !important;
    border-radius: 20px !important; /* Cria o formato "Badge/Pílula" */
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: background-color 0.3s, color 0.3s !important;
}
.woocommerce div.product .woocommerce-review-link:hover {
    background: var(--cor-primaria) !important;
    color: #FFF !important;
}

/* --- 2. QUANTIDADE MELHORADA COM BOTÕES +/- --- */
.woocommerce div.product form.cart {
    display: flex !important;
    align-items: stretch !important; /* Estica ambos para a mesma altura */
    gap: 20px !important;
    margin-bottom: 30px !important;
}
/* O container customizado criado pelo JS */
.qty-wrapper {
    display: flex !important;
    align-items: center !important;
    background: var(--card-bg) !important;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 0 !important;
    height: 55px !important;
    width: 140px !important;
    overflow: hidden !important;
}
/* Esconde as setinhas feias padrão do navegador */
.qty-wrapper input[type=number]::-webkit-inner-spin-button, 
.qty-wrapper input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
}
.qty-wrapper input[type=number] {
    -moz-appearance: textfield; 
}
/* O input de número (Fica no centro) */
.qty-wrapper input.qty {
    width: 50px !important;
    height: 100% !important;
    border: none !important;
    text-align: center !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: var(--cor-letras) !important;
    background: transparent !important;
    padding: 0 !important;
}
/* Botões + e - */
.qty-wrapper .qty-btn {
    width: 45px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    color: var(--cor-letras-secundaria) !important;
    font-size: 1.2rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: 0.3s !important;
}
.qty-wrapper .qty-btn:hover {
    background: var(--cor-fundo-secao) !important;
    color: var(--cor-primaria) !important;
}
/* Botão Comprar ocupando o resto do espaço */
.woocommerce div.product form.cart .button {
    height: 55px !important;
    margin: 0 !important;
    flex: 1 !important;
}

/* --- 3. ALINHAMENTO DA FOTO DO CLIENTE NAS AVALIAÇÕES --- */
#comments ol.commentlist li .comment_container {
    display: flex !important;
    align-items: flex-start !important;
    gap: 20px !important; /* Cria um espaço exato entre a foto e o texto */
}
#comments ol.commentlist li img.avatar {
    float: none !important; /* Desativa a regra antiga bugada */
    margin: 0 !important;
    width: 65px !important;
    height: 65px !important;
    border-radius: 50% !important;
    border: 2px solid var(--cor-borda) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
    object-fit: cover !important;
    flex-shrink: 0 !important; /* Impede a foto de ser esmagada se o texto for grande */
}
#comments ol.commentlist li .comment-text {
    margin: 0 !important;
    flex: 1 !important; /* O texto ocupa todo o espaço ao lado da foto */
    border: none !important;
    padding: 0 !important;
}

/* --- 4. PAGINAÇÃO DAS AVALIAÇÕES (PÁGINA 1, 2, 3...) --- */
.woocommerce-pagination ul {
    display: flex !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 30px 0 0 0 !important;
    justify-content: center !important;
    list-style: none !important;
}
.woocommerce-pagination ul li {
    border: none !important;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span.current {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border: 1px solid var(--cor-borda) !important;
    background: var(--card-bg) !important;
    color: var(--cor-letras) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: 0.3s !important;
}
.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul li a:hover {
    background: var(--cor-primaria) !important;
    color: #FFF !important;
    border-color: var(--cor-primaria) !important;
}

/* =========================================================
   CORREÇÕES: ESTRELAS MODERNAS, ESPAÇAMENTO E FOTO (AVALIAÇÕES)
   ========================================================= */

/* 1. CORREÇÃO DE ESPAÇAMENTO NO LINK "(X AVALIAÇÕES)" */
.woocommerce div.product .woocommerce-review-link .count {
    margin-right: 5px !important; /* Força o espaço que a tradução do WooCommerce engoliu */
    font-weight: 700 !important;
}

/* 2. MODERNIZAÇÃO DOS ÍCONES DE ESTRELAS */
/* Muda para uma cor dourada moderna, com leve sombra 3D e tamanho aprimorado */
.woocommerce .star-rating {
    font-size: 1.15rem !important;
    color: #E0E0E0 !important; /* Cor das estrelas vazias (cinza suave) */
}
.woocommerce .star-rating span {
    color: #FFB800 !important; /* Cor Dourada Premium para as preenchidas */
    text-shadow: 0 2px 5px rgba(255, 184, 0, 0.4) !important; /* Efeito de brilho nas estrelas */
}

/* Moderniza as estrelas clicáveis no formulário de "Deixar Avaliação" */
p.stars a {
    color: #E0E0E0 !important;
    transition: transform 0.2s, color 0.2s !important;
}
p.stars a:hover,
p.stars a.active,
p.stars.selected a.active,
p.stars.selected a:not(.active):before {
    color: #FFB800 !important; /* Dourado ao interagir */
}

/* 3. CORREÇÃO DEFINITIVA DA FOTO SOBREPONDO O NOME */
/* Anulamos as antigas regras agressivas do WooCommerce para forçar o layout perfeito lado a lado */
#comments ol.commentlist li .comment_container {
    display: flex !important;
    align-items: flex-start !important;
    gap: 25px !important;
    position: relative !important;
    clear: both !important;
}

/* Blinda a imagem para não ser esmagada ou flutuar por cima das letras */
#comments ol.commentlist li img.avatar {
    position: static !important; 
    float: none !important; 
    margin: 0 !important;
    width: 65px !important;
    min-width: 65px !important; /* Obriga o navegador a respeitar o tamanho da foto */
    height: 65px !important;
    border-radius: 50% !important;
    border: 2px solid var(--cor-borda) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
    object-fit: cover !important;
}

/* Blinda a caixa de texto para respeitar o espaço da foto */
#comments ol.commentlist li .comment-text {
    position: static !important;
    float: none !important;
    margin: 0 !important; 
    padding: 0 !important;
    width: 100% !important;
    flex: 1 !important;
}

/* Organiza o Nome e as Estrelas de forma limpa, anulando margens negativas */
#comments ol.commentlist li .meta {
    margin-top: 0 !important;
    padding-top: 0 !important;
    display: flex !important;
    flex-direction: column !important; /* Coloca estrelas embaixo do nome */
    gap: 8px !important;
    margin-bottom: 15px !important;
}

/* Trava as estrelinhas da avaliação no lugar certo, sem flutuar pelo painel */
#comments ol.commentlist li .star-rating {
    float: none !important;
    margin: 0 !important;
}

/* =========================================================
   REFINAMENTO PREMIUM DAS IMAGENS DO PRODUTO (MENORES E MODERNAS)
   ========================================================= */

/* Desktop: Diminui a imagem para 40% e aumenta o espaço do texto para 55% */
@media (min-width: 901px) {
    .woocommerce div.product div.images {
        width: 40% !important; 
    }
    .woocommerce div.product div.summary {
        width: 55% !important;
    }
}

/* Modernização da Imagem Principal */
.woocommerce div.product div.images img {
    border: none !important;
    border-radius: 12px !important; /* Cantos arredondados modernos */
    box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important; /* Sombra suave de profundidade */
    width: 100% !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

/* Efeito ao passar o rato na imagem principal */
.woocommerce div.product div.images .woocommerce-product-gallery__image:hover img {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.12) !important;
}

/* Modernização das Miniaturas (Thumbnails) */
.woocommerce div.product div.images .flex-control-thumbs {
    margin-top: 20px !important;
    gap: 15px !important; /* Mais espaço entre as miniaturas */
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: calc(25% - 11.25px) !important; 
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    border: 2px solid transparent !important;
    border-radius: 8px !important; /* Cantos arredondados nas miniaturas */
    box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
    opacity: 0.5 !important;
    transform: scale(0.95) !important;
}

/* Efeito ao selecionar a miniatura */
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
    opacity: 1 !important;
    border-color: var(--cor-primaria) !important; /* Borda com a cor da marca */
    transform: scale(1) !important;
}

/* =========================================================
   CARDS DE PRODUTOS PREMIUM (ESPAÇOS, PREÇOS E ESTRELAS)
   ========================================================= */

/* O Card Principal */
.card.product-card, 
.woocommerce ul.products li.product {
    background: var(--card-bg) !important;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
    height: 100% !important; 
}

.card.product-card:hover, 
.woocommerce ul.products li.product:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.08) !important;
}

/* A estrutura do Link agora cresce organicamente sem criar buracos */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    text-decoration: none !important;
    padding-bottom: 5px !important;
}

/* Área da Imagem */
.woocommerce ul.products li.product img {
    margin: 0 !important;
    width: 100% !important;
    border-radius: 12px 12px 0 0 !important;
    aspect-ratio: 3/4 !important;
    object-fit: cover !important;
}

//* Título do Produto (Altura travada para uniformizar os cards) */
.woocommerce ul.products li.product h2, 
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--fonte-titulos) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: var(--texto-destaque) !important;
    margin: 18px 15px 5px !important; 
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important; 
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 48px !important; /* O SEGREDO: Força o título a ter sempre altura de 2 linhas, acabando com os "buracos" no card */
}

/* Estrelas de Avaliação (Correção do corte) */
.woocommerce ul.products li.product .star-rating {
    margin: 5px auto 10px !important;
    font-size: 1rem !important;
    display: block !important; /* Remove o Flexbox que estava a quebrar a caixa das estrelas */
    width: 5.5em !important; /* Define a largura exata para as 5 estrelas */
    height: 1em !important;
    line-height: 1 !important;
    color: #FFB800 !important;
    filter: drop-shadow(0 2px 4px rgba(255, 184, 0, 0.3)) !important; /* Mantém o brilho moderno */
}
.woocommerce ul.products li.product .star-rating::before { 
    color: #E0E0E0 !important; 
}

/* Preço do Produto (Destacado e empurrando o resto para o fundo) */
.woocommerce ul.products li.product .price {
    font-family: var(--fonte-titulos) !important;
    font-size: 1.6rem !important; 
    color: var(--cor-preco) !important;
    font-weight: 700 !important;
    margin: 5px 15px auto !important; /* O "auto" no fundo garante que empurra os botões todos para baixo de forma igual */
}
.woocommerce ul.products li.product .price del {
    font-size: 1rem !important;
    color: var(--cor-letras-secundaria) !important;
    margin-right: 8px !important;
    opacity: 0.7 !important;
}

/* Caixa Mágica dos Atributos (Flutuando sobre a foto) */
.card-attributes {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    
    /* O truque da flutuação que não afeta a altura do card */
    position: relative !important;
    z-index: 5 !important;
    margin-top: -75px !important; /* Puxa o bloco exatamente para cima do final da foto */
    margin-bottom: 20px !important; /* Devolve o espaço para que o título comece no lugar certo */
    height: 55px !important; /* Reserva o espaço apenas para os atributos */
    justify-content: flex-end !important;
    pointer-events: none !important; /* Evita bloquear o clique na foto inteira */
}

/* Reativa os cliques exclusivamente para os quadradinhos */
.card-sizes, .card-colors {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    pointer-events: auto !important;
}

/* Quadradinhos de Tamanhos (Estilo Vidro para realçar na foto) */
.size-swatch {
    font-family: var(--fonte-principal) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: var(--cor-letras) !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    min-width: 32px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}
.size-swatch:hover {
    border-color: var(--cor-primaria) !important;
    color: var(--cor-primaria) !important;
    box-shadow: 0 6px 15px rgba(0,0,0,0.2) !important;
    transform: translateY(-2px) !important;
}
.size-swatch.more { background: transparent !important; box-shadow: none !important; border: none !important; color: #FFF !important; text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important; }

/* Bolinhas/Quadrados de Cores (Com borda para não sumir em fotos escuras) */
.color-swatch {
    width: 26px !important; 
    height: 26px !important; 
    border-radius: 6px !important; 
    display: inline-block !important; 
    border: 2px solid #FFF !important; /* Borda branca isola a cor do fundo da foto */
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    cursor: pointer !important;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s !important;
}
.color-swatch:hover {
    transform: scale(1.2) !important;
    box-shadow: 0 6px 15px rgba(0,0,0,0.25) !important;
    border-color: var(--cor-primaria) !important;
}

/* Oculta os Atributos Originais do WooCommerce que sobram (segurança extra) */
.woocommerce ul.products li.product .price + .card-attributes {
    display: none !important;
}

/* Botão de Adicionar ao Carrinho */
.woocommerce ul.products li.product .button {
    margin: 0 15px 20px !important;
    display: inline-flex !important;
    justify-content: center !important;
    width: calc(100% - 30px) !important;
    background: var(--btn-bg) !important;
    color: var(--btn-text) !important;
    border-radius: 30px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    padding: 12px !important;
    text-transform: uppercase !important;
    transition: 0.3s !important;
}
.woocommerce ul.products li.product .button:hover {
    background: var(--btn-hover-bg) !important;
    color: var(--btn-hover-text) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
}

/* =========================================================
   AJUSTES FINAIS: LEITURA NO TEMA ESCURO E TAMANHO DE PREÇO
   ========================================================= */

/* Força o texto de dentro dos quadradinhos de tamanho a ser SEMPRE preto no tema escuro */
[data-theme="dark"] .size-swatch {
    color: #000000 !important;
}

/* Garante que o botão de "ver mais" (+) também fique com excelente leitura */
[data-theme="dark"] .size-swatch.more {
    color: #FFFFFF !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
}

/* Aumento significativo do tamanho da fonte dos preços nos cards (Vitrine e Home) */
.woocommerce ul.products li.product .price,
.card.product-card .price {
    font-size: 1.9rem !important; /* Preço expandido de 1.6rem para 1.9rem para alto impacto */
    font-weight: 700 !important;
    letter-spacing: -0.5px !important;
}

/* Ajuste proporcional para o preço antigo riscado (caso haja promoção) */
.woocommerce ul.products li.product .price del,
.card.product-card .price del {
    font-size: 1.1rem !important;
    opacity: 0.6 !important;
}

/* =========================================================
   CATÁLOGO BRUTALISTA: CANTOS QUADRADOS E BADGES ALINHADOS
   ========================================================= */

/* --- 1. REMOÇÃO TOTAL DE ARREDONDAMENTO (CANTOS QUADRADOS) --- */
.card.product-card, 
.woocommerce ul.products li.product,
.size-swatch,
.color-swatch,
.woocommerce ul.products li.product .button,
.xflex-stars-badge,
.fav-btn-card {
    border-radius: 0 !important; /* Força o canto quadrado em tudo */
}

/* --- BADGE DE ESTRELAS FLUTUANTE (GEOMÉTRICO E QUADRADO) --- */
.xflex-stars-badge {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important; /* Fixa no canto esquerdo da foto */
    width: 48px !important;
    height: 40px !important; /* Mesma altura exata do botão de favoritos */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    font-family: var(--fonte-titulos) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    z-index: 10 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
    transition: 0.3s !important;
    border-radius: 0 !important; /* Força o canto 100% quadrado */
    
    /* Cores para o Tema Claro */
    background: #FFFFFF !important;
    color: #212529 !important;
    border: none !important;
}

/* Ícone da estrela preenchida dentro do badge */
.xflex-stars-badge i {
    color: #FFB800 !important;
    font-size: 0.95rem !important;
}

[data-theme="dark"] .xflex-stars-badge {
    background: #000000 !important;
    color: #FFFFFF !important;
    border: 1px solid var(--cor-borda) !important;
}

/* Ajuste de tamanho do botão de favoritos para casar perfeitamente */
.fav-btn-card {
    top: 15px !important;
    right: 15px !important;
    width: 40px !important;
    height: 40px !important;
    background: #FFFFFF !important;
    color: #212529 !important;
}


/* --- 4. AJUSTES DE ESPAÇAMENTO DO TEXTO (VITRINE LIMPA) --- */
/* Como as estrelas subiram para a foto, removemos o bloco antigo debaixo do título */
.woocommerce ul.products li.product .star-rating {
    display: none !important;
}

/* Alinhamento do Título direto com o preço */
.woocommerce ul.products li.product h2, 
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin: 15px 15px 8px !important;
    min-height: 45px !important; /* Mantém o alinhamento de grade */
}

.woocommerce ul.products li.product .price {
    margin: 0 15px 20px !important; /* Margem inferior limpa antes dos swatches flutuantes */
}

/* Força os swatches transparentes de tamanho a ficarem pretos no tema escuro */
[data-theme="dark"] .size-swatch {
    color: #000000 !important;
    background: #FFFFFF !important;
}

/* =========================================================
   SINCRO DEFINTIVA: BADGE DE AVALIAÇÃO E BOTÃO FAVORITOS
   ========================================================= */

/* Força os dois elementos do topo a terem exatamente o mesmo comportamento de caixa */
.xflex-stars-badge,
.fav-btn-card {
    position: absolute !important;
    top: 15px !important;
    width: 42px !important;
    height: 42px !important; /* Altura idêntica travada para ambos */
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 10 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

/* Posicionamento nas extremidades da foto */
.xflex-stars-badge {
    left: 15px !important;
    font-family: var(--fonte-titulos) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    gap: 2px !important;
}
.fav-btn-card {
    right: 15px !important;
    font-size: 1.3rem !important;
}

/* --- COMPORTAMENTO DE CORES NO TEMA CLARO --- */
.xflex-stars-badge,
.fav-btn-card {
    background: #FFFFFF !important;
    color: #212529 !important;
    border: 1px solid var(--cor-borda) !important;
}
.xflex-stars-badge i {
    color: #FFB800 !important;
}

/* --- COMPORTAMENTO DE CORES NO TEMA ESCURO (DARK MODE) --- */
/* Puxa exatamente a cor de fundo do cartão do tema escuro eliminando o conflito */
[data-theme="dark"] .xflex-stars-badge,
[data-theme="dark"] .fav-btn-card {
    background: var(--card-bg) !important; 
    color: #FFFFFF !important;
    border: 1px solid var(--cor-borda) !important; /* Usa a cor de borda escura nativa do seu tema */
}

[data-theme="dark"] .xflex-stars-badge i {
    color: #FFB800 !important; /* Mantém a estrela dourada */
}

/* =========================================================
   CORREÇÃO BRUTALISTA: IMAGENS QUADRADAS E SELO DE OFERTA
   ========================================================= */

/* 1. CORREÇÃO DAS IMAGENS: Força cantos 100% retos na foto do produto */
.woocommerce ul.products li.product img,
.card.product-card img,
.woocommerce div.product div.images img {
    border-radius: 0 !important; /* Remove qualquer arredondamento antigo herdado */
}

/* 2. REPOSICIONAMENTO DO SELO "OFERTA!" (Abaixo das estrelas) */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    position: absolute !important;
    top: 62px !important; /* 15px do topo + 42px da altura da avaliação + 5px de espaçamento */
    left: 15px !important;
    right: auto !important;
    width: 42px !important;
    height: 42px !important; /* Quadrado exato combinando com os outros badges */
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important; /* Cantos totalmente quadrados */
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--fonte-titulos) !important;
    font-size: 0.65rem !important; /* Compacta o texto para caber perfeitamente */
    text-transform: uppercase !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
    z-index: 10 !important;
    background: var(--cor-primaria) !important; /* Vermelho institucional da XFLEX */
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

/* Ajuste do selo de oferta para o modo escuro (Dark Mode) */
[data-theme="dark"] .woocommerce span.onsale {
    background: var(--cor-primaria) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* =========================================================
   BOTÕES DE AÇÃO ROBUSTOS E ESTILOSOS (CARRINHO / OPÇÕES)
   ========================================================= */

/* Estrutura Imponente do Botão */
.woocommerce ul.products li.product .button,
.card.product-card .btn {
    margin: 0 15px 20px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: calc(100% - 30px) !important;
    background: var(--btn-bg) !important;
    color: var(--btn-text) !important;
    border: 2px solid var(--btn-bg) !important; /* Borda grossa para dar peso e estrutura */
    border-radius: 0 !important; /* Mantém o padrão geométrico de luxo */
    
    /* Tipografia de Alta Costura */
    font-family: var(--fonte-titulos) !important;
    font-size: 1.05rem !important; 
    font-weight: 700 !important; 
    letter-spacing: 1.5px !important; /* Espaçamento premium entre as letras */
    text-transform: uppercase !important;
    
    /* Corpo do botão mais alto e tátil */
    padding: 14px 20px !important; 
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Efeito de Hover (Inversão de Cores e Leve Flutuação) */
.woocommerce ul.products li.product .button:hover,
.card.product-card .btn:hover {
    background: var(--btn-hover-bg) !important; /* Fundo fica claro */
    color: var(--btn-hover-text) !important; /* Letra fica escura */
    border-color: var(--btn-bg) !important; /* A borda mantém o contorno do botão */
    box-shadow: 0 10px 20px rgba(0,0,0,0.12) !important; /* Sombra de profundidade */
    transform: translateY(-3px) !important; /* Botão "pula" suavemente para o dedo */
}

/* Ajuste de Contraste Perfeito para o Tema Escuro (Dark Mode) */
[data-theme="dark"] .woocommerce ul.products li.product .button,
[data-theme="dark"] .card.product-card .btn {
    border: 2px solid var(--btn-text) !important;
}
[data-theme="dark"] .woocommerce ul.products li.product .button:hover,
[data-theme="dark"] .card.product-card .btn:hover {
    border-color: var(--btn-text) !important;
}

/* =========================================================
   ESTADO DE SELEÇÃO NOS ATRIBUTOS DOS CARDS (CLIQUE)
   ========================================================= */

/* Quando clica num Tamanho */
.size-swatch.selected {
    background: var(--cor-primaria) !important;
    color: #FFFFFF !important;
    border-color: var(--cor-primaria) !important;
    transform: scale(1.1) !important;
    box-shadow: 0 4px 10px rgba(211, 47, 47, 0.4) !important;
}

/* Garante a leitura do texto no tema escuro ao clicar */
[data-theme="dark"] .size-swatch.selected {
    color: #FFFFFF !important;
}

/* Quando clica numa Cor */
.color-swatch.selected {
    border-color: var(--cor-primaria) !important;
    transform: scale(1.25) !important; /* Fica maior para destacar */
    box-shadow: 0 4px 15px rgba(211, 47, 47, 0.5) !important; /* Brilho vermelho XFLEX */
}

/* =========================================================
   REFINAMENTO PREMIUM: PÁGINA INTERNA DO PRODUTO
   ========================================================= */

/* --- 1. BADGE DE ESTRELAS E AVALIAÇÕES (TOPO) --- */
.woocommerce div.product .woocommerce-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-bottom: 25px !important;
}

/* Como reaproveitamos o badge dos cards, anulamos a posição absoluta dele na página interna */
.woocommerce div.product .woocommerce-product-rating .xflex-stars-badge {
    position: static !important;
    width: auto !important;
    padding: 0 15px !important;
}

/* Link de avaliações reto (quadrado) */
.woocommerce div.product .woocommerce-review-link {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--fonte-principal) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: var(--cor-letras) !important;
    background: transparent !important;
    border: 1px solid var(--cor-borda) !important;
    padding: 10px 15px !important;
    border-radius: 0 !important; /* Sem cantos arredondados */
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: 0.3s !important;
}
.woocommerce div.product .woocommerce-review-link:hover {
    background: var(--cor-primaria) !important;
    color: #FFF !important;
    border-color: var(--cor-primaria) !important;
}

/* --- 2. INFORMAÇÕES ADICIONAIS (TABELA ESTILIZADA) --- */
.woocommerce table.woocommerce-product-attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid var(--cor-borda) !important;
    margin-bottom: 30px !important;
}
.woocommerce table.woocommerce-product-attributes th {
    width: 150px !important;
    padding: 15px !important;
    background: var(--cor-fundo-secao) !important;
    border-bottom: 1px solid var(--cor-borda) !important;
    border-right: 1px solid var(--cor-borda) !important;
    font-family: var(--fonte-titulos) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--texto-destaque) !important;
    text-align: left !important;
}
.woocommerce table.woocommerce-product-attributes td {
    padding: 15px !important;
    border-bottom: 1px solid var(--cor-borda) !important;
    font-family: var(--fonte-principal) !important;
    color: var(--cor-letras) !important;
}
.woocommerce table.woocommerce-product-attributes td p { margin: 0 !important; }

/* --- 3. METADADOS (SKU E CATEGORIA) --- */
.woocommerce div.product .product_meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 30px !important;
    padding-top: 25px !important;
    border-top: 1px solid var(--cor-borda) !important;
}
.woocommerce div.product .product_meta > span {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: var(--fonte-titulos) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.95rem !important;
    color: var(--texto-destaque) !important;
}
.woocommerce div.product .product_meta > span span.sku,
.woocommerce div.product .product_meta > span a {
    font-family: var(--fonte-principal) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    color: var(--cor-letras) !important;
    background: var(--cor-fundo-secao) !important;
    padding: 6px 15px !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    border: 1px solid transparent !important;
    transition: 0.3s !important;
}
.woocommerce div.product .product_meta > span a:hover {
    background: var(--cor-primaria) !important;
    color: #FFF !important;
}

/* --- 4. ALINHAMENTO DO CARRINHO E SWATCHES VARIÁVEIS --- */
/* Organiza o título (Cor/Tamanho) acima dos quadrados */
.woocommerce div.product form.cart table.variations {
    width: 100% !important;
    margin-bottom: 20px !important;
    border: none !important;
}
.woocommerce div.product form.cart table.variations tbody tr {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 20px !important;
}
.woocommerce div.product form.cart table.variations th.label {
    text-align: left !important;
    padding: 0 !important;
    font-family: var(--fonte-titulos) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--texto-destaque) !important;
}
.woocommerce div.product form.cart table.variations td.value {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
}

/* Bloco Final do Carrinho (Botão Esticado ao lado da Quantidade) */
.woocommerce div.product .single_variation_wrap {
    width: 100% !important;
}
.woocommerce div.product .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: stretch !important;
    gap: 20px !important;
    width: 100% !important;
    margin-top: 15px !important;
}
.woocommerce div.product form.cart .button {
    flex: 1 !important; /* Estica o botão para preencher todo o resto do espaço! */
    margin: 0 !important;
    height: 55px !important; /* Mesma altura do contador de quantidade */
}

/* O botão de "Limpar" escolha */
.reset_variations {
    font-family: var(--fonte-principal) !important;
    font-size: 0.85rem !important;
    color: var(--cor-primaria) !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    margin-left: auto !important;
}

/* =========================================================
   CORREÇÃO: CENTRALIZAÇÃO DO BOTÃO ADICIONAR AO CARRINHO
   ========================================================= */
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 20px !important;
    line-height: 1 !important;
}

/* =========================================================
   CORREÇÃO DEFINITIVA: ÍCONES DE AVISOS, ERROS E SUCESSO (SVG)
   ========================================================= */

/* Remove a font-family antiga que estava a causar bugs (bateria) e usa SVG puro (à prova de falhas) */
.woocommerce-message::before, 
.woocommerce-error::before, 
.woocommerce-info::before, 
.woocommerce-noreviews::before {
    content: '' !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 28px !important;
    height: 28px !important;
    left: 25px !important;
    top: 22px !important;
    position: absolute !important;
    display: block !important;
    margin: 0 !important;
}

/* =========================================================
   CORREÇÃO DEFINITIVA: ÍCONES DE AVISOS, ERROS E SUCESSO (SVG)
   ========================================================= */

/* Tamanho aumentado e Centralização Vertical Absoluta */
.woocommerce-message::before, 
.woocommerce-error::before, 
.woocommerce-info::before, 
.woocommerce-noreviews::before {
    content: '' !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 38px !important; /* Ícones significativamente maiores */
    height: 38px !important; /* Ícones significativamente maiores */
    left: 21px !important; /* Centralizado perfeitamente no espaço vazio da esquerda */
    
    /* O Segredo da Centralização Vertical */
    top: 50% !important; 
    transform: translateY(-50%) !important; 
    
    position: absolute !important;
    display: block !important;
    margin: 0 !important;
}

/* Mensagem de Sucesso (Check Verde ao adicionar ao carrinho) */
.woocommerce-message::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23059669'%3E%3Cpath d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-1.999 14.413-3.713-3.705L7.7 11.292l2.299 2.295 5.294-5.294 1.414 1.414-6.706 6.706z'/%3E%3C/svg%3E") !important;
}

/* Mensagem de Erro (X Vermelho) */
.woocommerce-error::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D32F2F'%3E%3Cpath d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm4.207 12.793-1.414 1.414L12 13.414l-2.793 2.793-1.414-1.414L10.586 12 7.793 9.207l1.414-1.414L12 10.586l2.793-2.793 1.414 1.414L13.414 12l2.793 2.793z'/%3E%3C/svg%3E") !important;
}

/* Mensagem de Info Genérica ( ! Azul Claro ) */
.woocommerce-info::before, 
.woocommerce-noreviews::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233B82F6'%3E%3Cpath d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm-1 15h2v-6h-2v6zm0-8h2V7h-2v2z'/%3E%3C/svg%3E") !important;
}

/* Exceção: Página de Carrinho Vazio (Ícone de Sacola de Compras) */
.woocommerce-cart .cart-empty.woocommerce-info::before,
.woocommerce-info.cart-empty::before {
    position: static !important;
    margin: 0 auto 20px !important;
    width: 60px !important;
    height: 60px !important;
    transform: none !important; /* Desativa a centralização vertical aqui para não quebrar a sacola gigante */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233B82F6'%3E%3Cpath d='M21.822 7.431A1 1 0 0 0 21 7H7.333L6.179 4.23A1.994 1.994 0 0 0 4.333 3H2v2h2.333l4.744 11.385A1 1 0 0 0 10 17h8c.417 0 .79-.259.937-.648l3-8a1 1 0 0 0-.115-.921zM17.307 15h-6.64l-2.5-6h11.39l-2.25 6z'/%3E%3Ccircle cx='10.5' cy='19.5' r='1.5'/%3E%3Ccircle cx='17.5' cy='19.5' r='1.5'/%3E%3C/svg%3E") !important;
}

/* =========================================================
   INTERAÇÃO DE ALTO PADRÃO: ANIMAÇÃO DE COMPRA E VER CARRINHO
   ========================================================= */

/* --- 1. EFEITO TÁTIL DE CLIQUE FÍSICO (PRESS ANIMATION) --- */
.woocommerce ul.products li.product .button:active,
.single_add_to_cart_button:active,
.card.product-card .btn:active {
    transform: scale(0.96) !important; /* Encolhe levemente ao clicar, simulando um botão real */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

/* --- 2. MICRO-INTERAÇÃO DE CARREGAMENTO (LOADING STATE) --- */
.woocommerce ul.products li.product .button.loading,
.single_add_to_cart_button.loading {
    background-color: #222222 !important;
    border-color: #222222 !important;
    color: rgba(255, 255, 255, 0.5) !important;
    cursor: wait !important;
    padding-right: 45px !important; /* Abre espaço para o carregador */
}

/* Injeção do Spinner Minimalista Premium (Gira no próprio botão) */
.woocommerce ul.products li.product .button.loading::after,
.single_add_to_cart_button.loading::after {
    content: "" !important;
    position: absolute !important;
    right: 20px !important;
    top: calc(50% - 8px) !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid rgba(255, 255, 255, 0.2) !important;
    border-top-color: #FFFFFF !important; /* Ponta brilhante do carregador */
    border-radius: 50% !important;
    animation: xflexSpinner 0.5s linear infinite !important;
}

@keyframes xflexSpinner {
    to { transform: rotate(360deg); }
}

/* --- 3. REESTRUTURAÇÃO DO AVISO DE SUCESSO (FLEXBOX) --- */
.woocommerce-message {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important; /* Texto na esquerda, Botão na direita */
    flex-wrap: wrap !important;
    gap: 20px !important;
    padding: 22px 30px 22px 80px !important; /* Ajuste fino de margens internas */
}

/* --- 4. ESTILIZAÇÃO DO BOTÃO "VER CARRINHO" (BRUTALISTA E RETO) --- */
.woocommerce-message .button.wc-forward {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--btn-bg) !important;
    color: var(--btn-text) !important;
    border: 2px solid var(--btn-bg) !important;
    border-radius: 0 !important; /* Mantém o padrão de cantos 100% retos */
    padding: 12px 28px !important;
    margin: 0 !important;
    
    /* Tipografia Combinada com a Loja */
    font-family: var(--fonte-titulos) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    box-shadow: none !important;
}

/* Hover do Ver Carrinho (Inversão Limpa) */
.woocommerce-message .button.wc-forward:hover {
    background: var(--btn-hover-bg) !important;
    color: var(--btn-hover-text) !important;
    border-color: var(--btn-bg) !important;
}

/* --- 5. COMPORTAMENTO RESPONSIVO PARA TELEMÓVEIS (CELULAR) --- */
@media (max-width: 600px) {
    .woocommerce-message {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 25px 20px 20px 65px !important;
    }
    .woocommerce-message .button.wc-forward {
        width: 100% !important; /* Botão ocupa largura total no celular */
        margin-top: 5px !important;
    }
}

/* =========================================================
   SUBSTITUIÇÃO INTELIGENTE DO BOTÃO: COMPRAR -> VER CARRINHO
   ========================================================= */

/* 1. Esconde o botão de "Adicionar" original após a compra ser um sucesso */
.woocommerce ul.products li.product .button.added,
.card.product-card .btn.added {
    display: none !important;
}

/* 2. Transforma o texto de link fraco "Ver carrinho" num botão robusto que assume o lugar do anterior */
.woocommerce ul.products li.product .added_to_cart,
.card.product-card .added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 30px) !important;
    margin: 0 15px 20px !important;
    
    /* Design invertido (Branco) para o cliente notar que o estado mudou */
    background: #FFFFFF !important; 
    color: #000000 !important;
    border: 2px solid #000000 !important;
    border-radius: 0 !important; /* Geométrico/Brutalista */
    
    /* Tipografia de luxo idêntica ao botão anterior */
    font-family: var(--fonte-titulos) !important;
    font-size: 1.05rem !important; 
    font-weight: 700 !important; 
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    
    padding: 14px 20px !important; 
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    animation: xflexFadeIn 0.3s ease-in-out !important; /* Animação suave na troca */
}

/* Efeito Hover do novo botão Ver Carrinho */
.woocommerce ul.products li.product .added_to_cart:hover,
.card.product-card .added_to_cart:hover {
    background: #000000 !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.12) !important;
    transform: translateY(-3px) !important; /* Pula suavemente */
}

/* 3. Adaptação perfeita para o Modo Escuro (Dark Mode) */
[data-theme="dark"] .woocommerce ul.products li.product .added_to_cart,
[data-theme="dark"] .card.product-card .added_to_cart {
    background: #000000 !important;
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;
}
[data-theme="dark"] .woocommerce ul.products li.product .added_to_cart:hover,
[data-theme="dark"] .card.product-card .added_to_cart:hover {
    background: #FFFFFF !important;
    color: #000000 !important;
}

/* Animação para a troca dos botões */
@keyframes xflexFadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}


#reviews .woocommerce-info::before,
p.woocommerce-noreviews::before {
    content: "\2605" !important;
    color: var(--cor-primaria) !important;
    background: transparent !important; 
    font-family: Arial, sans-serif !important;
    
    /* Tamanho aumentado */
    font-size: 1.8rem !important; 
    
    /* Centralização Vertical Matemática Perfeita */
    position: center !important;
    top: 50% !important;
    transform: translateY(-40%) !important;
    
    /* Alinhamento à esquerda */
    left: 20px !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* --- CORREÇÃO DO AVISO "NENHUM PRODUTO ENCONTRADO" --- */

/* Remove a bolinha azul (ícone) e qualquer fundo nativo do WooCommerce */
.woocommerce-no-products-found .woocommerce-info::before {
    display: none !important;
    background-image: none !important;
    content: none !important;
}

/* Garante que a imagem do produto apareça por completo no card sem cortes */
.woocommerce ul.products li.product a img,
.card.product-card img,
.woocommerce-loop-product__link img {
    width: 100% !important;
    height: auto !important; /* Caso seu card não tenha altura fixa, pode usar 'auto' */
    object-fit: contain !important; /* Esta é a regra mágica que impede o corte */
    aspect-ratio: 3 / 4; /* Altere para 3/4 se for usar o formato vertical que conversamos antes */
}

/* ========================================================
   BADGES (BOLINHAS) DE CARRINHO E FAVORITOS
   ======================================================== */
.xflex-badge {
    position: absolute;
    top: -8px;
    right: -12px; /* Ajuste leve se necessário dependendo do espaçamento do seu ícone */
    background-color: var(--cor-primaria, #D32F2F) !important; 
    color: #FFFFFF !important; /* Cor branca garantida em Light e Dark mode */
    font-family: var(--fonte-principal, Inter, sans-serif);
    font-size: 11px !important;
    font-weight: 700 !important;
    min-width: 18px;
    height: 18px;
    border-radius: 50% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px; /* Evita achatar quando passa de 10 itens */
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    pointer-events: none; /* Para não bloquear o clique no ícone que está atrás */
    z-index: 99;
}

/* Oculta a bolinha de forma suave quando o número é 0 */
.xflex-badge.hidden {
    opacity: 0;
    transform: scale(0);
}

.category-card::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(11, 42, 100, 0.01), rgba(11, 42, 100, 0.5));
    pointer-events: none;
    z-index: 1;
}

/* ========================================================
   1. ÍCONE EXCLUSIVO DA ABA DE PEDIDOS (Caixa/Pacote)
   ======================================================== */
/* Ativa o ícone de caixa quando a aba "Pedidos" estiver selecionada */
body:has(.woocommerce-MyAccount-navigation-link--orders.is-active) .woocommerce-info::before,
.woocommerce-info:has(.woocommerce-Button)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D32F2F'%3E%3Cpath d='M12 2L2 7l10 5 10-5-10-5zM2 9v8l10 5v-8L2 9zm20 0l-10 5v8l10-5V9z'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    content: '' !important;
    display: block !important;
}

/* ========================================================
   2. ÍCONE EXCLUSIVO DA ABA DE DOWNLOADS (Seta de Download)
   ======================================================== */
/* Ativa o ícone de seta quando a aba "Downloads" estiver selecionada */
body:has(.woocommerce-MyAccount-navigation-link--downloads.is-active) .woocommerce-info::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D32F2F'%3E%3Cpath d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    content: '' !important;
    display: block !important;
}

/* ========================================================
   MODERNIZAÇÃO DA PÁGINA DE LOGIN E CADASTRO (BRUTALISTA)
   ======================================================== */

/* Container principal das duas colunas (Grid Moderno) */
.woocommerce #customer_login {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    margin-top: 40px !important;
    margin-bottom: 60px !important;
}

/* Remove pseudo-elementos nativos do WooCommerce que quebram o Grid */
.woocommerce #customer_login::before,
.woocommerce #customer_login::after {
    display: none !important;
}

/* Cards de Login e Cadastro (Sem cantos arredondados) */
#customer_login .u-column1,
#customer_login .u-column2 {
    background: var(--card-bg, #ffffff) !important;
    padding: 40px !important;
    border-radius: 0 !important; /* Estilo brutalista / Cantos retos */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid var(--cor-borda, #E0E0E0) !important;
    border-top: 4px solid var(--btn-bg, #000000) !important; /* Linha de peso no topo */
    width: 100% !important; 
    float: none !important; 
}

/* Títulos "Entrar" e "Cadastrar" */
#customer_login h2 {
    font-family: var(--fonte-titulos) !important;
    font-size: 1.8rem !important;
    text-transform: uppercase !important;
    color: var(--texto-destaque) !important;
    margin-bottom: 25px !important;
    text-align: center !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

/* Reset nas margens dos parágrafos de formulário para alinhamento perfeito */
.woocommerce form .form-row {
    margin-bottom: 20px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important; /* Força Labels, Inputs e Botões a empilharem corretamente */
    align-items: flex-start !important;
}

/* Textos acima dos campos (Labels) */
.woocommerce form .form-row label {
    font-family: var(--fonte-principal) !important;
    font-weight: 600 !important;
    color: var(--cor-letras) !important;
    margin-bottom: 8px !important;
    display: block !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
}

/* Estilo dos campos de formulário (Inputs - Quadrados e Sólidos) */
.woocommerce form .form-row .woocommerce-Input {
    width: 100% !important;
    padding: 15px 20px !important;
    border-radius: 0 !important; /* Cantos quadrados */
    border: 1px solid var(--cor-borda) !important;
    background-color: var(--cor-fundo-site, #f9fafb) !important;
    color: var(--cor-letras) !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    height: auto !important;
}

/* Efeito ao clicar no campo de texto */
.woocommerce form .form-row .woocommerce-Input:focus {
    border-color: var(--btn-bg) !important;
    background-color: transparent !important;
    box-shadow: 0 0 0 1px var(--btn-bg) !important;
    outline: none !important;
}

/* Ajuste específico para o checkbox "Lembrar-me" */
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    font-weight: 500 !important;
    text-transform: none !important;
    font-size: 0.95rem !important;
    margin-bottom: 15px !important;
    cursor: pointer !important;
}

.woocommerce form .form-row label.woocommerce-form__label-for-checkbox input {
    margin-right: 10px !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 0 !important;
    cursor: pointer !important;
}

/* Botões de Ação (Acessar / Cadastrar - Estilo Robusto de Luxo) */
.woocommerce form .form-row .woocommerce-Button {
    width: 100% !important;
    background-color: var(--btn-bg) !important;
    color: var(--btn-text) !important;
    border: 2px solid var(--btn-bg) !important;
    border-radius: 0 !important;
    padding: 16px !important;
    font-family: var(--fonte-titulos) !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    margin-top: 10px !important;
}

/* Efeito Hover nos botões (Idêntico ao do Carrinho) */
.woocommerce form .form-row .woocommerce-Button:hover {
    background-color: var(--btn-hover-bg) !important;
    color: var(--btn-hover-text) !important;
    border-color: var(--btn-bg) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.12) !important;
}

/* Link de Perdeu a Senha */
.woocommerce-LostPassword {
    text-align: center !important;
    margin-top: 25px !important;
    width: 100% !important;
}

.woocommerce-LostPassword a {
    color: var(--cor-letras-secundaria) !important;
    font-size: 0.95rem !important;
    text-decoration: underline !important;
    transition: color 0.3s ease !important;
}

.woocommerce-LostPassword a:hover {
    color: var(--cor-primaria) !important;
}

/* Textos informativos de privacidade no cadastro */
.woocommerce-privacy-policy-text p {
    font-size: 0.9rem !important;
    color: var(--cor-letras-secundaria) !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
    text-align: left !important;
}

/* Ajustes de Tema Escuro (Dark Mode) para a página de Login */
[data-theme="dark"] #customer_login .u-column1,
[data-theme="dark"] #customer_login .u-column2 {
    border-top-color: var(--btn-text) !important;
}

[data-theme="dark"] .woocommerce form .form-row .woocommerce-Input:focus {
    border-color: #FFFFFF !important;
    box-shadow: 0 0 0 1px #FFFFFF !important;
}

/* ========================================================
   RESPONSIVIDADE (Telas menores e Celulares)
   ======================================================== */
@media (max-width: 768px) {
    .woocommerce #customer_login {
        grid-template-columns: 1fr !important; /* Coloca os cards um em cima do outro */
        gap: 30px !important;
    }
    
    #customer_login .u-column1,
    #customer_login .u-column2 {
        padding: 30px 20px !important;
    }
}

/* =========================================================
   OCULTA TEXTO DE PRIVACIDADE DO WOOCOMMERCE
   ========================================================= */
.woocommerce-privacy-policy-text {
    display: none !important;
}

/* =========================================================
   ÍCONE ESPECÍFICO PARA AVISO DE "SENHA TEMPORÁRIA / LOGIN"
   ========================================================= */
/* Cadeado de Segurança na cor Vermelha da XFLEX */
.woocommerce-info[role="status"]:has(a[href*="lost-password"])::before,
.woocommerce-info[role="status"]:has(form)::before,
.woocommerce-info[role="status"]:not(:has(.cart-empty))::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D32F2F'%3E%3Cpath d='M12 2C9.243 2 7 4.243 7 7v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7c0-2.757-2.243-5-5-5zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v3H9V7zm4 10.723V19h-2v-1.277a1.993 1.993 0 0 1 .567-3.677A2.001 2.001 0 0 1 14 16a1.99 1.99 0 0 1-1 1.723z'/%3E%3C/svg%3E") !important;
}

/* =========================================================
   BLINDAGEM DO FORMULÁRIO DE NEWSLETTER (PLUGINS)
   ========================================================= */
.newsletter-form-wrapper {
    width: 100% !important;
    max-width: 500px !important;
}

.newsletter-form-wrapper form {
    margin: 0 !important;
    padding: 0 !important;
}

.newsletter-form-wrapper .newsletter-form {
    display: flex !important;
    gap: 10px !important;
    width: 100% !important;
}

.newsletter-form-wrapper .newsletter-form input[type="email"] {
    flex: 1 !important;
    padding: 15px 20px !important;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 0 !important; /* Brutalista */
    font-family: var(--fonte-principal) !important;
    font-size: 1rem !important;
    background: var(--cor-branca) !important;
    color: var(--cor-letras) !important;
    box-shadow: none !important;
    outline: none !important;
}

.newsletter-form-wrapper .newsletter-form input[type="email"]:focus {
    border-color: var(--btn-bg) !important;
}

.newsletter-form-wrapper .newsletter-form .btn {
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Responsividade Celular */
@media (max-width: 600px) {
    .newsletter-form-wrapper .newsletter-form {
        flex-direction: column !important;
    }
    .newsletter-form-wrapper .newsletter-form .btn {
        width: 100% !important;
    }
}

/* =========================================================
   CORREÇÃO DO ALINHAMENTO DA GRELHA (1 PRODUTO VS VÁRIOS)
   ========================================================= */

/* 1. Remove os blocos "fantasmas" do WooCommerce que empurram 1 produto isolado para o meio */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

/* 2. Força a grelha a ter 100% de largura e ancorar tudo à esquerda */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important; 
    align-items: stretch !important;
    width: 100% !important;
    gap: 30px 20px !important; /* Espaçamento moderno: 30px vertical, 20px horizontal */
}

/* 3. Garante que os produtos mantêm a proporção exata e remove as margens antigas do WooCommerce */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    margin: 0 !important; 
    float: none !important;
    text-align: left !important; /* Textos sempre alinhados à esquerda */
}

/* 4. Força as larguras das colunas para que 1 único produto não ocupe a tela toda */
@media (min-width: 993px) {
    .woocommerce ul.products li.product {
        width: calc(25% - 15px) !important; /* 4 produtos por linha no PC */
    }
}
@media (max-width: 992px) and (min-width: 769px) {
    .woocommerce ul.products li.product {
        width: calc(33.33% - 14px) !important; /* 3 produtos por linha em Tablets grandes */
    }
}
@media (max-width: 768px) {
    .woocommerce ul.products li.product {
        width: calc(50% - 10px) !important; /* 2 produtos por linha no Telemóvel */
    }
}

/* =========================================================
   RODAPÉ PRESO AO FUNDO (STICKY FOOTER) - CORREÇÃO FINAL
   ========================================================= */

/* 1. Transforma o corpo do site numa coluna flexível que ocupa pelo menos 100% da tela */
body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important; 
    margin: 0 !important;
}

/* 2. Faz a área de conteúdo agir como uma mola, empurrando o rodapé para baixo */
main,
.main-content,
.wp-site-blocks {
    flex: 1 0 auto !important;
    display: block !important; 
    width: 100% !important;
}

/* 3. Limita a largura máxima da loja para manter o design organizado */
.woocommerce-container {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important; 
}

/* 4. O Rodapé é forçado a colar-se ao limite inferior do ecrã */
.footer {
    margin-top: auto !important;
    width: 100% !important;
}

/* =========================================================
   BLINDAGEM MOBILE: SIDEBAR, IMAGENS DOS CARDS E CARRINHO
   ========================================================= */

/* 1. Ocultar ícones específicos no cabeçalho pelo celular */
@media (max-width: 768px) {
    .hide-on-mobile {
        display: none !important;
    }
}

/* 2. Z-Index de Alta Prioridade (Resolve o bug dos botões Swatch sobrepondo a sidebar) */
.mobile-nav-container,
.favorites-sidebar {
    z-index: 999999 !important; /* Fica acima de TUDO no site */
}
.mobile-nav-overlay,
.favorites-overlay {
    z-index: 999998 !important;
}

/* 3. Imagens de Produtos Maiores e Mais Imponentes */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important; /* Força uma proporção de retrato longo (estilo Zara/Farfetch) */
    object-fit: cover !important;
    object-position: center top !important; /* Foca sempre na parte superior do produto */
    border-radius: 0 !important; /* Design brutalista */
    margin-bottom: 15px !important;
}

/* Ajuste do grid mobile para deixar as imagens respirarem e crescerem */
@media (max-width: 768px) {
    .woocommerce ul.products, 
    .woocommerce-page ul.products {
        gap: 20px 10px !important; /* Espaçamento menor na horizontal (10px) para a imagem expandir */
    }
    .woocommerce ul.products li.product, 
    .woocommerce-page ul.products li.product {
        width: calc(50% - 5px) !important; /* Permite que os 2 produtos ocupem mais largura */
    }
}

/* =========================================================
   CARRINHO RESPONSIVO PREMIUM PARA MOBILE
   ========================================================= */
@media (max-width: 768px) {
    /* Desliga a tabela nativa confusa do WooCommerce */
    .woocommerce table.shop_table_responsive,
    .woocommerce-page table.shop_table_responsive {
        border: none !important;
        background: transparent !important;
    }
    .woocommerce table.shop_table_responsive thead {
        display: none !important;
    }
    
    /* Transforma cada item do carrinho num "Cartão" fechado */
    .woocommerce table.shop_table_responsive tbody tr.cart_item {
        display: block !important;
        margin-bottom: 20px !important;
        border: 1px solid var(--cor-borda) !important;
        padding: 15px !important;
        background: var(--card-bg, #FFFFFF) !important;
        position: relative !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
    }
    
    /* Alinhamento dos dados dentro do Cartão (Preço, Subtotal, Quantidade) */
    .woocommerce table.shop_table_responsive tbody td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        text-align: right !important;
        border: none !important;
        padding: 12px 0 !important;
        border-bottom: 1px dashed var(--cor-borda) !important;
    }
    .woocommerce table.shop_table_responsive tbody td:last-child {
        border-bottom: none !important;
    }
    
    /* Injeta os títulos nas linhas (ex: "Preço:") */
    .woocommerce table.shop_table_responsive tbody td::before {
        content: attr(data-title) !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        font-family: var(--fonte-titulos) !important;
        font-size: 0.85rem !important;
        color: var(--cor-letras-secundaria) !important;
    }
    
    /* Thumbnail da imagem maior e centralizada */
    .woocommerce table.shop_table_responsive tbody td.product-thumbnail {
        justify-content: center !important;
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }
    .woocommerce table.shop_table_responsive tbody td.product-thumbnail::before {
        display: none !important;
    }
    .woocommerce table.shop_table_responsive tbody td.product-thumbnail img {
        max-width: 130px !important; /* Aumenta bem a foto do carrinho no celular */
        height: auto !important;
        margin: 0 auto !important;
    }
    
    /* Nome do produto com destaque */
    .woocommerce table.shop_table_responsive tbody td.product-name {
        justify-content: center !important;
        text-align: center !important;
        font-family: var(--fonte-titulos) !important;
        font-size: 1.15rem !important;
        padding-bottom: 15px !important;
        border-bottom: 1px solid var(--cor-borda) !important;
    }
    .woocommerce table.shop_table_responsive tbody td.product-name::before {
        display: none !important;
    }
    
    /* Botão de remover (X) absoluto no canto do cartão */
    .woocommerce table.shop_table_responsive tbody td.product-remove {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        border: none !important;
        padding: 0 !important;
        display: block !important;
    }
    .woocommerce table.shop_table_responsive tbody td.product-remove::before {
        display: none !important;
    }
    .woocommerce table.shop_table_responsive tbody td.product-remove a.remove {
        background: var(--cor-primaria) !important;
        color: #FFF !important;
        border-radius: 0 !important; 
        width: 32px !important;
        height: 32px !important;
        line-height: 30px !important;
        font-size: 22px !important;
    }
    
    /* Ações de baixo (Aplicar Cupom e Atualizar) reorganizados */
    .woocommerce table.shop_table_responsive tbody tr.actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        padding: 20px 0 !important;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .woocommerce table.shop_table_responsive tbody td.actions {
        border: none !important;
        padding: 0 !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
    .woocommerce table.shop_table_responsive tbody td.actions .coupon {
        display: flex !important;
        width: 100% !important;
        gap: 10px !important;
        flex-direction: column !important;
    }
    .woocommerce table.shop_table_responsive tbody td.actions .coupon input,
    .woocommerce table.shop_table_responsive tbody td.actions .coupon button,
    .woocommerce table.shop_table_responsive tbody td.actions > button {
        width: 100% !important;
        float: none !important;
        border-radius: 0 !important;
        padding: 15px !important;
    }
    
    /* Totais do Carrinho no final ocupam 100% da tela */
    .woocommerce-cart .cart-collaterals .cart_totals {
        width: 100% !important;
        float: none !important;
        padding: 20px !important;
        border: 2px solid var(--cor-borda) !important;
    }
}

/* =========================================================
   CARDS DE PRODUTOS GIGANTES NO CELULAR (1 POR LINHA)
   ========================================================= */
@media (max-width: 768px) {
    /* 1. Transforma a grelha para exibir 1 produto gigante por linha */
    .woocommerce ul.products li.product, 
    .woocommerce-page ul.products li.product {
        width: 100% !important; /* Ocupa 100% da tela do celular */
        margin-bottom: 20px !important;
    }

    /* 2. Aumenta o espaçamento vertical entre os produtos para respirar */
    .woocommerce ul.products, 
    .woocommerce-page ul.products {
        gap: 50px 0 !important; 
    }

    /* 3. Aumenta a tipografia para acompanhar a imagem imponente */
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 1.4rem !important;
        margin-top: 15px !important;
    }
    
    .woocommerce ul.products li.product .price {
        font-size: 1.25rem !important;
        margin-bottom: 20px !important;
    }

    /* 4. Aumenta o botão de comprar para facilitar o toque (Touch-friendly) */
    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .added_to_cart {
        padding: 18px 20px !important;
        font-size: 1.1rem !important;
    }
    
    /* 5. Aumenta o tamanho das bolinhas de cores e tamanhos (Swatches) */
    .woocommerce ul.products li.product .size-swatch,
    .woocommerce ul.products li.product .color-swatch {
        width: 35px !important;
        height: 35px !important;
        font-size: 0.95rem !important;
        line-height: 33px !important;
    }

    /* 6. Aumenta o ícone de Favoritos no canto da foto */
    .woocommerce ul.products li.product .xflex-fav-btn {
        font-size: 1.8rem !important;
        top: 15px !important;
        right: 15px !important;
        padding: 8px !important;
    }
}

/* =========================================================
   AJSUTES FINOS DE RESPONSIVIDADE MOBILE (XFLEX)
   ========================================================= */

/* --- 1. CORREÇÃO DE CAMADAS: SWATCHES ABAIXO DO HEADER --- */
.header {
    z-index: 99990 !important; /* Eleva o cabeçalho para ficar acima de qualquer card ao rolar */
}
.card-attributes,
.size-swatch,
.color-swatch {
    z-index: 10 !important; /* Rebaixa os seletores para respeitarem o topo fixo */
}

/* --- 2. NOTIFICAÇÃO DO CARRINHO NO ÍCONE DO MENU LATERAL --- */
.mobile-nav-container .mobile-nav-list lI a {
    position: relative !important;
}
/* Posiciona a bolinha vermelha cirurgicamente no canto superior direito do ícone da sacola */
.mobile-nav-container .mobile-nav-list li a .xflex-badge {
    position: absolute !important;
    top: 17px !important;       /* Alinhamento vertical sobre o topo do ícone */
    left: 35px !important;      /* Alinhamento horizontal cravado na ponta do ícone */
    right: auto !important;     /* Desativa o alinhamento padrão que jogava a bola para o fim do texto */
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
}

/* --- 3. ORGANIZAÇÃO DE TÍTULOS E BOTÃO "VER COLEÇÃO" --- */
@media (max-width: 768px) {
    .section-header {
        display: flex !important;
        flex-direction: column !important; /* Empilha os títulos e o botão verticalmente */
        align-items: flex-start !important; /* Alinha tudo milimetricamente à esquerda */
        gap: 12px !important;
        text-align: left !important;
        margin-bottom: 35px !important;
        width: 100% !important;
        padding: 0 15px !important; /* Margem de respiro para telas pequenas */
    }
    
    .section-header .section-title {
        font-size: 1.6rem !important; /* Tipografia imponente ajustada para telas menores */
        line-height: 1.2 !important;
        font-weight: 700 !important;
    }
    
    .section-header .section-subtitle {
        font-size: 0.95rem !important;
        margin-top: 4px !important;
    }

    /* Transforma o link "Ver mais / Ver coleção" num elemento de fácil clique brutalista */
    .section-header .see-more-link,
    .section-header a[class*="link"],
    .see-more-link {
        display: inline-flex !important;
        align-items: center !important;
        font-family: var(--fonte-titulos) !important;
        font-size: 0.9rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        color: var(--cor-primaria) !important; /* Vermelho institucional da marca */
        border-bottom: 2px solid var(--cor-primaria) !important; /* Linha de peso inferior sólida */
        padding-bottom: 4px !important;
        text-decoration: none !important;
        margin-top: 5px !important;
    }
    
    .section-header .see-more-link i,
    .see-more-link i {
        font-size: 1.1rem !important;
        margin-left: 6px !important;
    }
}

/* =========================================================
   CORREÇÃO: ESPAÇAMENTO DOS ÍCONES DE AVISO (CELULAR)
   ========================================================= */
@media (max-width: 768px) {
    /* 1. Aumenta o recuo esquerdo para desgrudar completamente o texto do ícone */
    .woocommerce-message,
    .woocommerce-error,
    .woocommerce-info,
    .woocommerce-noreviews {
        padding: 22px 20px 25px 75px !important;
    }

    /* 2. Trava o ícone no topo para alinhar com o texto (e não com o meio da caixa gigante) */
    .woocommerce-message::before, 
    .woocommerce-error::before, 
    .woocommerce-info::before, 
    .woocommerce-noreviews::before {
        left: 20px !important;
        top: 22px !important;
        transform: none !important; /* Desliga a centralização vertical no celular */
    }

    /* 3. Exceção obrigatória para não quebrar o ícone de sacola gigante do carrinho vazio */
    .woocommerce-cart .cart-empty.woocommerce-info::before,
    .woocommerce-info.cart-empty::before {
        position: static !important;
        margin: 0 auto 20px !important;
        transform: none !important;
    }
}

/* =========================================================
   REPARO DA PÁGINA DE PRODUTO SINALIZADO (CELULAR)
   ========================================================= */
@media (max-width: 768px) {
    /* --- 2. ALINHAMENTO DO BOTÃO ADICIONAR AO CARRINHO --- */
    /* Transforma a área de compra numa coluna vertical limpa e alinhada à esquerda */
    .woocommerce div.product form.cart,
    .woocommerce-page div.product form.cart {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 15px !important;
        width: 100% !important;
        float: none !important;
        margin: 25px 0 !important;
    }

    /* Ajusta o seletor de quantidade e o botão de compra para ocuparem 100% da largura de forma organizada */
    .woocommerce div.product form.cart .quantity,
    .woocommerce-page div.product form.cart .quantity {
        margin: 0 !important;
        display: flex !important;
        width: 120px !important; /* Mantém o seletor de quantidade compacto */
    }

    .woocommerce div.product form.cart .button,
    .woocommerce-page div.product form.cart .button {
        width: 100% !important; /* Botão ocupa toda a largura para facilitar o clique */
        float: none !important;
        padding: 18px 20px !important;
        font-size: 1.1rem !important;
        text-align: center !important;
        justify-content: center !important;
        display: flex !important;
    }

    /* --- 3. ALINHAMENTO DE SKU E CATEGORIAS (METADADOS) --- */
    /* Organiza o bloco de informações técnicas abaixo do botão */
    .woocommerce div.product .product_meta,
    .woocommerce-page div.product .product_meta {
        display: flex !important;
        flex-direction: column !important; /* Empilha SKU e Categorias em linhas separadas */
        align-items: flex-start !important; /* Alinha tudo milimetricamente à esquerda */
        text-align: left !important;
        border-top: 1px solid var(--cor-borda) !important;
        padding-top: 20px !important;
        margin-top: 20px !important;
        width: 100% !important;
        font-family: var(--fonte-principal) !important;
        font-size: 0.9rem !important;
        line-height: 1.8 !important;
        color: var(--cor-letras-secundaria) !important;
    }

    /* Garante que os marcadores internos (links e textos) fiquem alinhados */
    .woocommerce div.product .product_meta span,
    .woocommerce-page div.product .product_meta span {
        display: block !important;
        text-align: left !important;
        width: 100% !important;
    }
}

/* =========================================================
   CORREÇÃO DEFINITIVA: CATEGORIAS SEM QUEBRA MID-WORD (MOBILE)
   ========================================================= */
@media (max-width: 768px) {
    /* Container permite que o conteúdo flua para as próximas linhas naturalmente */
    .product_meta .posted_in,
    .posted_in,
    .product-categories,
    li.product .posted_in,
    .woocommerce-loop-product__title + span {
        display: block !important;
        width: 100% !important;
        white-space: normal !important; /* Permite que o texto mude de linha */
        overflow: visible !important; /* Garante que nenhum texto suma */
        text-overflow: clip !important; /* Desliga definitivamente os "..." */
        word-break: normal !important;
        overflow-wrap: break-word !important;
        text-align: left !important;
        line-height: 1.5 !important;
        font-size: 0.85rem !important;
    }

    /* O SEGREDO: Cada link vira um bloco atômico. "Oma Colections" ou "Bonés" NUNCA quebram ao meio */
    .posted_in a, 
    .product-categories a,
    li.product .posted_in a {
        display: inline-block !important; 
        white-space: nowrap !important; /* Impede a palavra ou termo de se separar */
        word-break: keep-all !important; /* Blindagem contra corte de letras */
        hyphens: none !important; /* Desativa hifens automáticos do navegador */
        margin-right: 5px !important; /* Espaçamento elegante entre as categorias */
    }
}

/* =========================================================
   UPGRADE PREMIUM: BOTÃO ADICIONAR AO CARRINHO (DESKTOP)
   ========================================================= */
@media (min-width: 769px) {
    /* Alinhamento lado a lado perfeito do seletor de quantidade com o botão */
    .woocommerce div.product form.cart,
    .woocommerce-page div.product form.cart {
        display: flex !important;
        align-items: center !important;
        gap: 15px !important;
        margin: 30px 0 !important;
    }

}

/* =========================================================
   REMOVER SELO NATIVO DE "OFERTA!" NA PÁGINA DO PRODUTO
   ========================================================= */
.woocommerce div.product .onsale,
.woocommerce-page div.product .onsale {
    display: none !important;
}

/* =========================================================
   PAGINAÇÃO DE LUXO (BRUTALISTA)
   ========================================================= */
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
    margin-top: 60px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 12px !important; /* Espaçamento entre os botões */
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-page nav.woocommerce-pagination ul li {
    border: none !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Base dos botões numéricos */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 50px !important;
    height: 50px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #000000 !important;
    background: #FFFFFF !important;
    border: 2px solid var(--cor-borda, #E0E0E0) !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    border-radius: 0 !important; /* Cantos 100% retos */
    padding: 0 15px !important;
}

/* Efeito da Página Atual e do Hover (Passar o rato) */
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: #000000 !important;
    color: #FFFFFF !important;
    border-color: #000000 !important;
}

/* Botões "Próximo" (→) e "Anterior" (←) */
.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce nav.woocommerce-pagination ul li a.prev {
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    font-size: 0.95rem !important;
}

/* =========================================================
   CORREÇÃO: PREÇOS 100% CENTRALIZADOS NOS CARDS (CELULAR)
   ========================================================= */
@media (max-width: 768px) {
    /* Força o container do preço a se alinhar perfeitamente ao centro do card */
    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        display: flex !important;
        justify-content: center !important; /* Centralização horizontal */
        align-items: center !important;     /* Alinhamento vertical interno */
        gap: 10px !important;               /* Espaçamento elegante entre o preço riscado e o atual */
        width: 100% !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Garante que os valores internos (antigo e novo) herdem a centralização */
    .woocommerce ul.products li.product .price amount,
    .woocommerce ul.products li.product .price del,
    .woocommerce ul.products li.product .price ins {
        display: inline-block !important;
        text-align: center !important;
    }
}