/* --- BASE & TIPOGRAFIA --- */
body {
font-family: "Roboto", sans-serif;
overflow-x: hidden;
}

/* --- SLIDERS & CAROUSELS (Unificados) --- */
.slider-product {
width: 100% !important;
height: 13em !important;
object-fit: cover;
}

.slider-section {
margin: 60px auto;
}

.swiper,
.splide,
.glide,
.flickity-carousel,
#lightgallery {
margin: auto;
}

.swiper-slide img,
.splide__slide img,
.glide__slide img,
.flickity-carousel img,
#lightgallery a img {
width: 100%;
border-radius: 10px;
}

.blogSwiper .swiper-slide {
width: auto;
}

.custom-arrow {
background-color: black !important;
background-size: 50%, 50%;
border-radius: 50%;
}

/* --- COMPONENTES DE PRODUTO --- */
.product-card {
border: 1px solid #ddd;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
padding: 20px;
background-color: #fff;
}

.product-card-header {
border-bottom: 2px solid #f0f0f0;
padding-bottom: 20px;
margin-bottom: 20px;
}

.product-card-header h1 {
font-size: 2.5rem;
color: #333;
}

.product-card-body {
display: flex;
flex-wrap: wrap;
}

.product-card-body .row {
margin-bottom: 20px;
}

.product-card-body p {
font-size: 1.1rem;
color: #555;
}

.product-card-body .product-images img {
max-width: 100%;
border-radius: 8px;
}

.object-fit-contain {
-o-object-fit: contain !important;
object-fit: scale-down !important;
}

/* --- BOTÕES & ESTILOS DE INTERAÇÃO --- */
.btn-primary {
--bs-btn-color: #fff;
--bs-btn-bg: #696969 !important;
--bs-btn-border-color: #696969 !important;
}

.custom-btn {
background-color: #d4d4d4 !important;
color: #000 !important;
border: none !important;
transition: background-color 0.3s ease !important;
}

.custom-btn:hover,
.card-checkout .btn-secondary:hover {
background-color: #5a6268 !important;
color: #fff !important;
}

/* Botões Flutuantes no Card */
.card:hover .card-add-form,
.card:hover .card-favorite-form {
display: flex !important;
gap: 5px;
position: absolute;
right: 8px;
}

.card:hover .card-add-form {
top: 42px;
}

.card:hover .card-favorite-form {
top: 8px;
}

.card-favorite-form button,
.card-add-form button {
border-radius: 50%;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
padding: 0;
}

/* --- LISTAS & LINKS --- */
.list-group-item {
font-size: 1rem;
}

.list-group-item a {
color: #007bff !important;
/* Corrigido de white para azul conforme hover abaixo */
text-decoration: none;
}

.list-group-item a:hover {
text-decoration: underline;
}

/* --- HEADER, LOGIN & NAV --- */
.logo-header {
max-height: 80px;
transition: transform 0.3s ease;
}

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

.nav-links a,
.dropdown-style,
.btn-auth {
background: transparent !important;
border: none !important;
color: #000 !important;
font-weight: 500;
padding: 8px 16px;
border-radius: 20px;
transition: all 0.3s ease;
}

.nav-links a:hover,
.btn-auth:hover {
background: #000;
color: #fff !important;
}

.btn-mobile-menu {
border: 1px solid #000;
background: transparent;
color: #000;
border-radius: 8px;
}

/* --- FORMULÁRIOS & INPUTS --- */
.input-group {
display: flex;
flex-wrap: nowrap !important;
width: 100%;
}

.input-group> :not(:first-child) {
margin-bottom: 0 !important;
}

.search-bar input {
border-radius: 30px 0 0 30px;
border: none;
padding: 10px 15px;
}

.search-bar button {
border-radius: 0 30px 30px 0;
background: #e7e7e7;
padding: 0 18px;
}

.login-container .form-control {
padding: 0.75rem;
border-radius: 0.5rem;
}

/* --- UTILS & MOBILE --- */
.banner-img {
width: 100%;
max-height: 300px;
object-fit: cover;
}

.drawer-mobile {
position: fixed;
top: 0;
left: 0;
width: 250px;
height: 100vh;
background: #fff;
padding: 20px;
transform: translateX(-100%);
transition: 0.3s;
z-index: 1050;
}

@media (max-width: 768px) {
.input-group>.form-control {
width: 100% !important;
}

.format-header-mobile {
display: flex;
justify-content: center;
gap: 11px;
}
}

/* --- 1. INTERFACE DE BUSCA & NAVEGAÇÃO --- */
.search-bar button:hover {
background: #cecece;
}

.nav-links .dropdown:hover .dropdown-menu {
display: block;
}

.nav-links .dropdown-toggle::after {
display: none;
}

/* Remove seta padrão */

/* --- 2. DRAWER MOBILE & OVERLAY (Unificado) --- */
.drawer-mobile {
position: fixed;
top: 0;
left: 0;
width: 260px;
height: 100%;
background: #fff;
/* Adicionado para visibilidade */
transform: translateX(-100%);
transition: transform 0.3s ease;
z-index: 1050;
padding: 15px;
}

.drawer-mobile.open {
transform: translateX(0);
}

.drawer-mobile h5 {
color: #000;
font-weight: 600;
}

.drawer-overlay {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.5);
display: none;
z-index: 1049;
}

.drawer-overlay.show {
display: block;
}

/* Botões de Menu Mobile */
.btn-menu-mobile,
.sax-btn-mobile {
display: flex;
align-items: center;
justify-content: center;
transition: 0.3s;
border-radius: 8px;
}

.btn-menu-mobile {
border: 1px solid #000;
color: #000;
padding: 6px 14px;
}

.btn-menu-mobile:hover {
background: #000;
color: #fff;
}

.sax-btn-mobile {
background: #000;
color: #fff;
width: 45px;
height: 45px;
}

.sax-btn-mobile:hover {
background: #333;
}

/* --- 3. PAINEL ADMIN (SAX LAYOUT) --- */
.sax-admin-layout {
background-color: #f4f7f6;
min-height: 100vh;
font-family: "Inter", sans-serif;
}

.admin-sidebar .list-group-item {
background: transparent;
color: #000;
border: none;
padding: 12px 20px;
transition: 0.3s;
}

.admin-sidebar .collapse a {
padding-left: 40px;
}

/* Cards do Admin */
.sax-sidebar-card,
.sax-main-card {
background: #fff;
border-radius: 16px;
border: 1px solid rgba(0, 0, 0, 0.05);
}

.sax-main-card {
overflow: hidden;
}

.sax-card-header {
background: #fff;
padding: 20px 25px;
border-bottom: 1px solid #f0f0f0;
display: flex;
align-items: center;
gap: 15px;
}

.header-indicator {
width: 4px;
height: 18px;
background-color: #000;
border-radius: 10px;
}

.sax-card-body {
padding: 30px;
}

/* Tabelas Admin */
.table {
border-collapse: separate;
border-spacing: 0 10px;
}

.table tr {
background: #fff;
transition: 0.2s;
}

/* --- 4. UTILITÁRIOS & COMPONENTES --- */
.object-fit-cover {
object-fit: cover;
width: 100%;
height: 100%;
}

.z-index-button {
z-index: 9999;
}

/* Tipografia */
.letter-spacing-2 {
letter-spacing: 2px;
}

.letter-spacing-1 {
letter-spacing: 1px;
}

.x-small {
font-size: 0.7rem;
font-weight: 600;
}

/* Efeitos de Card */
.blogSwiper .card:hover {
transform: translateY(-3px);
transition: 0.3s ease;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* --- 5. VOLTAR AO TOPO (Unificado) --- */
.sax-back-to-top,
#backToTop {
position: fixed;
bottom: 30px;
right: 30px;
width: 50px;
height: 50px;
border-radius: 50%;
display: none;
/* Controlado via JS */
align-items: center;
justify-content: center;
z-index: 1000;
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
background-color: #000;
color: #fff;
border: none;
}

.sax-back-to-top:hover,
#backToTop:hover {
background-color: #e6c200;
/* Destaque Gold no hover */
transform: scale(1.1);
}

@media (max-width: 768px) {
.sax-admin-header {
flex-direction: column;
align-items: flex-start !important;
gap: 15px;
}

.sax-main-card {
border-radius: 0;
margin: 0 -15px;
/* Sangria mobile */
}
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
display: none !important;
}

.tracking-widest {
letter-spacing: 0.15em;
}

.x-small {
font-size: 0.65rem;
}

/* Botão de Filtro Estilo Figma */
.btn-filter-trigger {
border: 1px solid #000;
background: #fff;
border-radius: 0;
padding: 10px 18px;
display: flex;
align-items: center;
gap: 12px;
transition: all 0.2s ease;
cursor: pointer;
height: 42px;
color: #000;
text-decoration: none;
white-space: nowrap;
/* Evita que o texto quebre dentro do botão */
}

.btn-filter-trigger:hover {
background: #000;
color: #fff;
}

/* Estilo dos Selects na Toolbar */
.toolbar-label {
font-size: 0.7rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.05em;
white-space: nowrap;
}

.toolbar-select {
border-radius: 0 !important;
border: 1px solid #000 !important;
font-size: 0.75rem !important;
text-transform: uppercase;
font-weight: 700;
padding: 8px 24px 8px 10px !important;
/* Ajuste fino de padding para mobile */
height: 42px;
background-color: #fff;
min-width: 80px;
}

/* Modal / Offcanvas */
.sax-filter-input {
border-radius: 0 !important;
border: 1px solid #e0e0e0 !important;
font-size: 0.75rem;
padding: 12px;
text-transform: uppercase;
}

.offcanvas-filter {
width: 350px !important;
max-width: 90vw;
/* Garante que em celulares muito pequenos não passe da tela */
border-left: 1px solid #000;
}

/* Ajuste de responsividade para a barra de ferramentas */
@media (max-width: 576px) {
.toolbar-container {
flex-wrap: wrap;
/* Permite quebrar linha se não couber */
gap: 10px;
justify-content: center !important;
/* Centraliza no mobile */
}

.btn-filter-trigger {
padding: 10px 12px;
font-size: 0.6rem;
}

.toolbar-select {
padding: 8px 20px 8px 8px !important;
}
}

.btn-heart-luxury {
background: none;
border: none;
padding: 5px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition:
transform 0.2s ease,
opacity 0.2s ease;
outline: none !important;
}

.btn-heart-luxury i {
/* Cor preta sólida e tamanho refinado */
color: #000000;
font-size: 1.3rem;
/* Se usar FontAwesome 5/6, o weight 300 deixa mais fino */
font-weight: 300;
}

.btn-heart-luxury:hover {
transform: scale(1.1);
opacity: 0.7;
}

.btn-heart-luxury:active {
transform: scale(0.9);
}

/* Garante que o ícone preenchido também seja preto se favoritado */
.btn-heart-luxury .fas.fa-heart {
color: #000000;
}

/* Fundo cinza claro idêntico à imagem enviada */
.jw-product-card {
background-color: #f2f2f2 !important;
transition: opacity 0.3s ease;
}

.jw-product-card:hover {
opacity: 0.9;
}

.sax-sku {
font-size: 0.6rem;
}

.sax-brand {
font-size: 0.8rem;
color: #000;
letter-spacing: 0.5px;
}

.sax-product-name {
font-size: 0.7rem;
height: 2.4em;
line-height: 1.2;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-transform: uppercase;
}

.jw-img-container {
aspect-ratio: 4 / 5;
/* Proporção vertical elegante */
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}

.jw-img-container img {
width: 100%;
object-fit: cover;
/* Ou 'contain' se as bolsas tiverem muita margem branca */
}

/* Tipografia JW PEI */
.jw-brand {
font-size: 0.75rem;
letter-spacing: 0.05em;
color: #000;
}

.jw-product-name {
font-size: 0.8rem;
letter-spacing: 0.02em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.jw-price {
font-size: 0.85rem;
color: #000;
}

/* Botão de favorito transparente */
.btn-favorite-guest {
background: transparent;
border: none;
color: #000;
padding: 0;
transition: transform 0.2s ease;
}

.btn-favorite-guest:hover {
transform: scale(1.1);
}

/* Ajuste para o grid colado da imagem */
.g-1 {
padding-right: 2px !important;
padding-left: 2px !important;
}

.login-container {
padding: 10px 0;
}

.sax-footer-refined {
background-color: #ffffff;
border-top: 1px solid #e0e0e0;
padding: 100px 0 60px 0;
font-family: 'Inter', sans-serif;
}

/* O segredo está aqui: limitamos a largura máxima do grid e centralizamos com auto */
.footer-grid {
display: flex;
justify-content: center;
/* Centraliza as colunas no meio */
max-width: 1100px;
/* Ajuste este valor para fechar ou abrir mais o conteúdo */
margin: 0 auto;
/* Centraliza o container do grid */
align-items: stretch;
}

.footer-column {
flex: 1;
padding: 0 40px;
/* Espaçamento interno entre colunas */
box-sizing: border-box;
}

/* Removemos o padding exagerado anterior para o conteúdo colar na linha */
.column-content {
padding-left: 20px;
}

.footer-column:first-child {
padding-left: 0;
}

.border-left {
border-left: 1px solid #e0e0e0;
}

.footer-title {
font-size: 15px;
font-weight: 500;
color: #1a1a1a;
margin-bottom: 25px;
letter-spacing: 0.2px;
text-transform: none;
white-space: nowrap;
/* Evita que o título quebre linha */
}

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

.footer-links li {
margin-bottom: 12px;
}

.footer-links a {
color: #555;
text-decoration: none;
font-size: 13.5px;
transition: color 0.2s ease;
white-space: nowrap;
/* Mantém os links em uma linha só como na foto */
}

.footer-links a:hover {
color: #000;
}

.footer-social-icons {
display: flex;
gap: 15px;
margin-top: 15px;
}

.footer-social-icons a {
color: #333;
font-size: 18px;
text-decoration: none;
}

.footer-copyright {
margin-top: 80px;
padding-top: 30px;
text-align: center;
border-top: 1px solid #f5f5f5;
}

.footer-copyright p {
font-size: 13px;
color: #999;
}

/* Responsividade */
@media (max-width: 991px) {
.footer-grid {
flex-direction: column;
padding: 0 20px;
}

.footer-column {
padding: 30px 0;
border-left: none !important;
border-bottom: 1px solid #eee;
}

.column-content {
padding-left: 0;
}
}

/* --- 1. CONFIGURAÇÕES GERAIS --- */
.sax-header {
background: #fff;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
position: relative;
width: 100%;
z-index: 1000;
color: #000;
}

.uppercase {
text-transform: uppercase;
}

.tracking-1 {
letter-spacing: 1px;
}

.tracking-2 {
letter-spacing: 2px;
}

.small {
font-size: 12px;
}

.x-small {
font-size: 10px;
}

.color-black {
color: #000;
}

/* --- 2. TOP PROMO & CURRENCY --- */
.sax-top-promo {
background-color: #000;
color: #fff;
font-size: 11px;
letter-spacing: 1px;
}

.sax-currency-select {
background-color: transparent;
color: #000000ff;
border: 1px solid #444;
border-radius: 4px;
font-size: 10px;
font-weight: bold;
padding: 2px 8px;
outline: none;
cursor: pointer;
text-transform: uppercase;
}

.sax-currency-select option {
background-color: #000;
color: #fff;
}

/* --- 3. NAVEGAÇÃO DESKTOP (AUXILIAR & PRINCIPAL) --- */
.sax-aux-nav {
font-size: 11px;
font-weight: 600;
}

.sax-aux-nav a {
color: #666;
text-decoration: none;
}

.sax-main-nav .list-inline-item {
margin: 0 15px;
}

.sax-main-nav a {
color: #000;
text-decoration: none;
font-size: 13px;
font-weight: 700;
}

/* --- 4. LOGO & BUSCA --- */
.logo-img {
height: 55px;
width: auto;
object-fit: contain;
}

.logo-fallback {
font-size: 32px;
font-weight: 900;
letter-spacing: -2px;
}

.sax-search-container {
background-color: #f1f1f1;
border-radius: 4px;
overflow: hidden;
}

.sax-search-input {
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
font-size: 14px;
padding: 12px;
}

.sax-auth-links a {
font-size: 11px;
color: #000;
text-decoration: none;
letter-spacing: 0.5px;
}

/* --- 5. MEGA MENU (SOLUÇÃO PARA NÃO APARECER AO CARREGAR) --- */
.dropdown-mega-parent {
position: static;
}

.mega-menu-box {
position: absolute;
left: 0;
right: 0;
width: 100%;
background: #fff;
border-bottom: 1px solid #eee;
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.05);
z-index: 9999;

/* Estado inicial forçado como invisível */
display: none;
visibility: hidden;
opacity: 0;
pointer-events: none;
transition: opacity 0.2s ease-in-out;
}

/* O !important anula o style="display:none" inline do HTML no hover */
.dropdown-mega-parent:hover .mega-menu-box {
display: block !important;
visibility: visible;
opacity: 1;
pointer-events: auto;
}

.mega-title {
font-weight: bold;
text-transform: uppercase;
color: #000 !important;
display: block;
margin-bottom: 10px;
font-size: 0.85rem;
text-decoration: none;
}

.sub-list li a {
color: #888 !important;
font-size: 0.8rem;
display: block;
padding: 4px 0;
text-decoration: none;
}

.subcategory-item {
position: relative;
}

.filhas-flyout {
position: absolute;
left: 100%;
top: 0;
background: #fff;
border: 1px solid #eee;
padding: 10px;
min-width: 180px;
z-index: 10000;
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.05);
display: none;
visibility: hidden;
opacity: 0;
}

.subcategory-item:hover .filhas-flyout {
display: block;
visibility: visible;
opacity: 1;
}

/* --- 6. DRAWER (MENU MOBILE) --- */
.sax-drawer {
position: fixed;
top: 0;
left: 0;
width: 80%;
max-width: 300px;
height: 100%;
background: #fff;
z-index: 1050;
transform: translateX(-100%);
transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
overflow-y: auto;
}

.sax-drawer.active {
transform: translateX(0);
}

.drawer-overlay {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 1040;
display: none;
}

.drawer-overlay.active {
display: block;
}

.btn-menu-open {
background: none;
border: none;
font-size: 20px;
padding: 0;
}

.btn-close-drawer {
background: none;
border: none;
font-size: 30px;
}

.drawer-menu-list {
list-style: none;
padding: 0;
margin: 0;
}

.drawer-menu-list li {
border-bottom: 1px solid #eee;
}

.drawer-menu-list li a {
display: block;
padding: 15px 20px;
color: #000;
text-decoration: none;
font-weight: bold;
font-size: 14px;
}

/* --- 7. SEARCH OVERLAY MOBILE --- */
.mobile-search-overlay {
position: fixed;
inset: 0;
z-index: 2000;
display: none; /* Alterado para flex via JS quando ativo */

/* Centralização total */
align-items: center; 
justify-content: center;
padding: 20px;

/* Desfoque do fundo (Site atrás) */
background: rgba(255, 255, 255, 0.4); /* Um branco bem translúcido */
backdrop-filter: blur(15px) saturate(180%);
-webkit-backdrop-filter: blur(15px) saturate(180%);

transition: all 0.3s ease;
}

/* Quando o overlay estiver ativo */
.mobile-search-overlay.active {
display: flex;
}

/* Estilizando o container da busca dentro do overlay */
.mobile-search-overlay .sax-search-container {
width: 100%;
max-width: 500px; /* Não deixa ficar gigante em telas maiores */
background: #fff;
padding: 15px;
border-radius: 16px;
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
transform: translateY(-20px); /* Leve efeito de subida */
animation: slideIn 0.3s forwards;
}

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

.mobile-search-overlay.active {
display: block;
}

.btn-close-search {
position: absolute;
right: 20px;
top: 20px;
background: none;
border: none;
font-size: 3rem;
font-weight: 300;
color: #000;
}

/* --- 8. CORES ESPECIAIS & RESPONSIVO --- */
.text-bridal {
color: #b2945e !important;
}

.text-palace {
color: #a31d24 !important;
}

.text-bistro {
color: #4a6fa5 !important;
}

.text-institucional {
color: #123d7d !important;
}

@media (max-width: 991px) {
.logo-img {
height: 35px;
}
}

/* Container Principal */
.cart-wrapper {
font-family: 'Inter', sans-serif;
}

/* Botão de abrir (Estilo Header) */
.cart-toggle-btn {
background: none;
border: none;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
cursor: pointer;
transition: 0.3s;
}

.cart-toggle-btn .icon-container {
position: relative;
}

.cart-badge {
position: absolute;
top: -5px;
right: -8px;
background: #000;
color: #fff;
font-size: 10px;
padding: 2px 6px;
border-radius: 10px;
font-weight: bold;
}

.cart-label {
font-size: 13px;
text-transform: uppercase;
letter-spacing: 1px;
}

/* Sidebar (Side Drawer) */
.cart-sidebar {
position: fixed;
top: 0;
right: -100%;
/* Começa fora da tela */
width: 400px;
height: 100vh;
height: 100dvh;
background: #fff;
z-index: 9999;
transition: right 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: flex;
flex-direction: column;
box-shadow: -10px 0 30px rgba(0, 0, 0, 0.05);
}

.cart-sidebar.open {
right: 0;
}

/* Mobile full width */
@media (max-width: 576px) {
.cart-sidebar {
width: 100%;
}
}

/* Overlay */
.cart-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
z-index: 9998;
display: none;
backdrop-filter: blur(2px);
}

.cart-overlay.open {
display: block;
}

/* Header do Carrinho */
.cart-header {
padding: 25px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #eee;
}

.header-title .items-count {
display: block;
font-size: 11px;
color: #888;
margin-top: 4px;
}

.close-drawer {
background: none;
border: none;
font-size: 30px;
font-weight: 200;
cursor: pointer;
}

/* Corpo e Itens */
.cart-body {
flex: 1;
overflow-y: auto;
padding: 20px;
}

.cart-item {
display: flex;
gap: 15px;
padding-bottom: 20px;
margin-bottom: 20px;
border-bottom: 1px solid #f9f9f9;
}

.item-image img {
width: 80px;
height: 100px;
object-fit: contain;
background: #f8f8f8;
}

.item-details {
flex: 1;
display: flex;
flex-direction: column;
}

.item-name {
font-size: 13px;
color: #000;
text-decoration: none;
font-weight: 500;
text-transform: uppercase;
margin-bottom: 5px;
}

.item-price {
font-size: 14px;
font-weight: 600;
margin-bottom: 15px;
}

/* Controles de Qtd */
.item-controls {
display: flex;
align-items: center;
}

.quantity-selector {
display: flex;
align-items: center;
border: 1px solid #eee;
}

.qty-btn {
background: none;
border: none;
width: 30px;
height: 30px;
cursor: pointer;
}

.qty-number {
padding: 0 10px;
font-size: 12px;
}

.remove-item-btn {
background: none;
border: none;
color: #ccc;
cursor: pointer;
transition: 0.3s;
}

.remove-item-btn:hover {
color: #d9534f;
}

/* Footer */
.cart-footer {
padding: 25px;
border-top: 1px solid #eee;
flex-shrink: 0;
}

.btn-go-to-cart {
display: block;
width: 100%;
background: #000;
color: #fff;
text-align: center;
padding: 15px;
text-decoration: none;
font-size: 12px;
letter-spacing: 2px;
font-weight: bold;
transition: 0.3s;
}

.btn-go-to-cart:hover {
background: #333;
}
/* Garante que o form não esconda o que sai dele */
form.position-relative {
position: relative !important;
overflow: visible !important;
}

/* Container Principal de Resultados */
.autocomplete-results {
position: absolute !important;
top: 100% !important;
left: 0 !important;
right: 0 !important;
background: #ffffff !important;
border-radius: 0 0 12px 12px !important;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
max-height: 400px !important;
overflow-y: auto !important;
z-index: 999999 !important; /* Valor extremo para ficar na frente de tudo */
margin-top: 2px !important;
border: 1px solid rgba(0, 0, 0, 0.1) !important;
display: block; /* O d-none do Bootstrap controlará a visibilidade inicial */
}

/* Item da Lista */
.autocomplete-item {
display: flex !important;
align-items: center !important;
padding: 12px 16px !important;
border-bottom: 1px solid #f1f1f1 !important;
text-decoration: none !important;
color: #333 !important;
transition: background 0.2s ease !important;
}

.autocomplete-item:last-child { border-bottom: none !important; }
.autocomplete-item:hover { 
background-color: #f8f9fa !important; 
text-decoration: none !important; 
color: #333 !important;
}

/* Imagem */
.autocomplete-img {
width: 50px !important;
height: 50px !important;
object-fit: cover !important;
border-radius: 6px !important;
margin-right: 14px !important;
border: 1px solid #eaeaea !important;
flex-shrink: 0 !important;
}

/* Info e Grid */
.autocomplete-info {
flex-grow: 1 !important;
display: grid !important;
grid-template-columns: 1fr auto !important;
gap: 10px !important;
align-items: center !important;
}

.autocomplete-left { display: flex !important; flex-direction: column !important; min-width: 0 !important; }
.autocomplete-right { display: flex !important; flex-direction: column !important; text-align: right !important; }

/* Tipografia */
.autocomplete-title {
font-size: 14px !important;
font-weight: 600 !important;
color: #1a1a1a !important;
line-height: 1.2 !important;
white-space: nowrap !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
}

.autocomplete-sku { font-size: 11px !important; color: #888 !important; }
.autocomplete-brand { font-size: 11px !important; font-weight: bold !important; text-transform: uppercase !important; color: #666 !important; }
.autocomplete-price { font-size: 14px !important; font-weight: 700 !important; color: #000 !important; }

/* Scrollbar Customizado */
.autocomplete-results::-webkit-scrollbar { width: 6px; }
.autocomplete-results::-webkit-scrollbar-track { background: #f1f1f1; }
.autocomplete-results::-webkit-scrollbar-thumb { background: #ccc; border-radius: 10px; }
.sax-home-wrapper { background-color: #fff; overflow-x: hidden; }

/* Ajustes Swiper */
.mySwiper {
padding-bottom: 50px !important;
width: 100%;
}

/* Títulos das Seções */
.sax-section-title {
font-size: 1.4rem;
font-weight: 500;
color: #1a1a1a;
text-transform: uppercase;
letter-spacing: 2px;
border-bottom: 1px solid #f0f0f0;
padding-bottom: 15px;
margin-bottom: 30px;
}

.sax-brands-title {
font-size: 2.2rem;
font-weight: 400;
letter-spacing: 4px;
text-transform: uppercase;
}

/* Banners Triplos */
.sax-triple-banners img {
height: 450px;
object-fit: cover;
transition: transform 0.6s ease;
}
.sax-triple-banners img:hover { transform: scale(1.02); }

@media (max-width: 768px) {
.sax-section-title { font-size: 1.1rem; text-align: center; }
.sax-brands-title { font-size: 1.4rem; }
.sax-triple-banners img { height: auto; }
}
/* Configurações Gerais */
.brands-page-wrapper {
background-color: #ffffff;
font-family: 'Montserrat', sans-serif; /* Certifique-se de carregar esta fonte */
}

/* Título e Divisor */
.sax-title {
font-size: 2.5rem;
font-weight: 300;
letter-spacing: 4px;
text-transform: uppercase;
color: #000;
}

.sax-divider {
width: 60px;
height: 2px;
background-color: #000;
margin-top: 15px;
}

.tracking-widest {
letter-spacing: 0.15em;
}

/* Barra de Busca Premium */
.sax-search-input {
display: flex;
border-bottom: 1px solid #e0e0e0;
transition: border-color 0.3s ease;
}

.sax-search-input:focus-within {
border-color: #000;
}

.sax-search-input input {
width: 100%;
border: none;
padding: 12px 0;
font-size: 1rem;
font-weight: 300;
background: transparent;
outline: none;
}

.sax-search-input button {
background: none;
border: none;
padding: 10px;
color: #000;
cursor: pointer;
}

/* Cards das Marcas */
.brand-sax-card {
display: block;
text-decoration: none !important;
text-align: center;
padding: 20px;
border: 1px solid #f2f2f2;
background-color: #fff;
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.brand-sax-card:hover {
border-color: #000;
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
transform: translateY(-5px);
}

.brand-img-box {
height: 120px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
}

.brand-img-box img {
max-width: 80%;
max-height: 80%;
object-fit: contain;
filter: grayscale(100%); /* Mantém o padrão minimalista preto e branco */
transition: filter 0.3s ease;
}

.brand-sax-card:hover img {
filter: grayscale(0%);
}

.brand-name {
color: #000;
font-size: 0.9rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 5px;
}

.product-count {
color: #888;
font-size: 0.75rem;
text-transform: uppercase;
}

/* Paginação */
.sax-pagination .pagination {
justify-content: center;
}

.sax-pagination .page-link {
border: none;
color: #000;
background: none;
margin: 0 5px;
}

.sax-pagination .page-item.active .page-link {
background-color: #000;
border-radius: 50%;
color: #fff;
}

/* No Results */
.no-results {
color: #bbb;
}

.no-results i {
font-size: 3rem;
}
.brand-detail-wrapper {
background-color: #fff;
}

/* 1. Banner Horizontal (Edge to Edge) */
.brand-hero-fullwidth {
width: 100vw;
min-height: 300px;
position: relative;
overflow: hidden;
margin-left: calc(-50vw + 50%);
}

.sax-brand {
font-size: 0.8rem;
color: #000;
letter-spacing: 0.5px;
}

.hero-img-render {
width: 100%;
height: clamp(12rem, 25vh, 22rem);
object-fit: cover;
object-position: center;
display: block;
}

.sax-sku {
font-size: 0.6rem;
}

.sax-product-name {
font-size: 0.7rem;
height: 2.4em;
line-height: 1.2;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-transform: uppercase;
}

.hero-overlay-soft {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.05);
}

/* 2. Identidade da Marca */
.brand-main-logo {
max-height: 60px;
width: auto;
object-fit: contain;
}

.back-link-minimal {
color: #999;
font-size: 0.65rem;
letter-spacing: 2px;
text-decoration: none;
text-transform: uppercase;
}

.brand-name-text {
font-weight: 300;
text-transform: uppercase;
letter-spacing: 4px;
}

/* 3. Banner Lateral (Vertical) */
.sticky-banner-lateral {
position: sticky;
top: 20px;
/* Faz o banner lateral acompanhar o scroll */
height: fit-content;
}

.banner-v-render {
width: 100%;
object-fit: cover;
border: 1px solid #f0f0f0;
}

/* 4. Grid de Produtos (Igual Categorias) */
.jw-product-card {
transition: opacity 0.3s ease;
border: 1px solid #f8f8f8 !important;
}

.jw-product-card:hover {
opacity: 0.85;
}


/* Esconde o banner vertical no mobile para não poluir */

/* Container Geral */
.child-categories-wrapper {
background-color: #ffffff;
font-family: 'Montserrat', sans-serif;
}

/* Tipografia SAX */
.sax-title {
font-size: 2.5rem;
font-weight: 300;
letter-spacing: 4px;
text-transform: uppercase;
color: #000;
}

.sax-divider {
width: 60px;
height: 2px;
background-color: #000;
margin-top: 15px;
}

.tracking-widest {
letter-spacing: 0.15em;
}

/* Busca Sax Style */
.sax-search-input {
display: flex;
border-bottom: 1px solid #e0e0e0;
transition: border-color 0.3s ease;
}

.sax-search-input:focus-within {
border-color: #000;
}

.sax-search-input input {
width: 100%;
border: none;
padding: 12px 0;
font-size: 1rem;
font-weight: 300;
background: transparent;
outline: none;
text-align: center;
}

.sax-search-input button {
background: none;
border: none;
padding: 10px;
color: #000;
}

/* Card de Luxo (O mesmo usado em Marcas) */
.sax-luxury-card {
display: block;
text-decoration: none !important;
text-align: center;
padding: 25px 15px;
border: 1px solid #f2f2f2;
background-color: #fff;
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
height: 100%;
}

.sax-luxury-card:hover {
border-color: #000;
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
transform: translateY(-5px);
}

.card-img-box {
height: 140px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
}

.card-img-box img {
max-width: 80%;
max-height: 80%;
object-fit: contain;
filter: grayscale(100%);
transition: all 0.4s ease;
}

.sax-luxury-card:hover img {
filter: grayscale(0%);
transform: scale(1.05);
}

/* Info Labels */
.parent-label {
display: block;
font-size: 0.65rem;
color: #999;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 5px;
}

.card-item-name {
color: #000;
font-size: 0.9rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 5px;
}

.product-count {
color: #bbb;
font-size: 0.7rem;
text-transform: uppercase;
}

/* Paginação */
.sax-pagination .pagination {
justify-content: center;
}
.sax-pagination .page-link {
border: none;
color: #000;
background: none;
margin: 0 5px;
}
.sax-pagination .page-item.active .page-link {
background-color: #000;
border-radius: 50%;
color: #fff !important;
}
/* CSS Unificado para manter a identidade visual identica */
.category-detail-wrapper {
background-color: #fff;
overflow-x: hidden;
}

.sax-sku {
font-size: 0.6rem;
}

.sax-product-name {
font-size: 0.7rem;
height: 2.4em;
line-height: 1.2;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-transform: uppercase;
}

.sax-brand {
font-size: 0.8rem;
color: #000;
letter-spacing: 0.5px;
}

.tracking-widest {
letter-spacing: 0.2em;
}

.category-hero-fullwidth {
width: 100vw;
height: 45vh;
min-height: 300px;
position: relative;
overflow: hidden;
margin-left: calc(-50vw + 50%);
}

.hero-img-render {
width: 100%;
object-fit: cover;
object-position: center;
height: 100%;
}

.hero-overlay-soft {
position: absolute;
top: 0;
left: 0;
width: 100%;
background: rgba(0, 0, 0, 0.03);
}

.category-main-logo {
max-height: 60px;
width: auto;
object-fit: contain;
}

.category-name-text {
font-weight: 300;
text-transform: uppercase;
letter-spacing: 5px;
color: #000;
margin: 0;
}

.back-link-minimal {
color: #999;
font-size: 0.65rem;
letter-spacing: 2px;
text-decoration: none;
text-transform: uppercase;
transition: color 0.2s;
}

.back-link-minimal:hover {
color: #000;
}

.child-breadcrumb {
font-size: 0.65rem;
color: #aaa;
text-transform: uppercase;
letter-spacing: 1px;
}

.g-1 {
margin-right: -4px;
margin-left: -4px;
}

.g-1>[class*="col-"] {
padding-right: 4px;
padding-left: 4px;
margin-bottom: 10px;
}

.jw-product-card {
transition: opacity 0.3s ease;
}

.jw-product-link:hover .jw-product-card {
opacity: 0.8;
}

.jw-img-container {
aspect-ratio: 3 / 4;
overflow: hidden;
mix-blend-mode: multiply !important;
}

.jw-brand {
font-size: 0.7rem;
letter-spacing: 1px;
color: #000;
}

.jw-product-name {
font-size: 0.75rem;
color: #777 !important;
height: 2.2rem;
overflow: hidden;
}

.jw-price {
font-size: 0.85rem;
color: #000;
}

.pagination-sax .page-link {
color: #000;
border: none;
background: transparent;
font-size: 0.8rem;
}

.pagination-sax .page-item.active .page-link {
background: none;
text-decoration: underline;
font-weight: bold;
}

@media (max-width: 991px) {
.category-hero-fullwidth {
height: 35vh;
}
}
/* Configurações Gerais - IDÊNTICO A MARCAS */
.categories-page-wrapper {
background-color: #ffffff;
font-family: 'Montserrat', sans-serif;
}

/* Título e Divisor - IDÊNTICO A MARCAS */
.sax-title {
font-size: 2.5rem;
font-weight: 300;
letter-spacing: 4px;
text-transform: uppercase;
color: #000;
}

.sax-divider {
width: 60px;
height: 2px;
background-color: #000;
margin-top: 15px;
}

.tracking-widest {
letter-spacing: 0.15em;
}

/* Barra de Busca Premium */
.sax-search-input {
display: flex;
border-bottom: 1px solid #e0e0e0;
transition: border-color 0.3s ease;
}

.sax-search-input:focus-within {
border-color: #000;
}

.sax-search-input input {
width: 100%;
border: none;
padding: 12px 0;
font-size: 1rem;
font-weight: 300;
background: transparent;
outline: none;
text-align: center;
}

.sax-search-input button {
background: none;
border: none;
padding: 10px;
color: #000;
}

/* Cards das Categorias - Seguindo o estilo das Marcas */
.category-sax-card {
display: block;
text-decoration: none !important;
text-align: center;
padding: 30px 20px;
border: 1px solid #f2f2f2;
background-color: #fff;
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
height: 100%;
}

.category-sax-card:hover {
border-color: #000;
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
transform: translateY(-5px);
}

.category-img-box {
height: 150px; /* Um pouco maior que marcas para categorias */
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
overflow: hidden;
}

.category-img-box img {
max-width: 85%;
max-height: 85%;
object-fit: contain;
transition: all 0.4s ease;
}

.category-sax-card:hover img {
filter: grayscale(0%);
transform: scale(1.05);
}

.category-name {
color: #000;
font-size: 0.95rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: 5px;
}

.product-count {
color: #888;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 1px;
}

/* Paginação Unificada */
.sax-pagination .pagination {
justify-content: center;
border: none;
}

.sax-pagination .page-link {
border: none;
color: #000;
background: none;
margin: 0 5px;
font-weight: 300;
}

.sax-pagination .page-item.active .page-link {
background-color: #000;
border-radius: 50%;
color: #fff !important;
}

/* No Results */
.no-results {
color: #bbb;
}
.no-results i {
font-size: 3rem;
}
/* Reset e Global */
.category-detail-wrapper {
background-color: #fff;
overflow-x: hidden;
}

.tracking-widest {
letter-spacing: 0.2em;
}

.sax-sku {
font-size: 0.6rem;
}

.sax-product-name {
font-size: 0.7rem;
height: 2.4em;
line-height: 1.2;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-transform: uppercase;
}

.sax-brand {
font-size: 0.8rem;
color: #000;
letter-spacing: 0.5px;
}

/* 1. Banner Horizontal Hero */
.category-hero-fullwidth {
width: 100vw;
height: 45vh;
min-height: 300px;
position: relative;
overflow: hidden;
margin-left: calc(-50vw + 50%);
}

.hero-img-render {
width: 100%;
object-fit: cover;
object-position: center;
}

.hero-overlay-soft {
position: absolute;
top: 0;
left: 0;
width: 100%;
background: rgba(0, 0, 0, 0.03);
}

/* 2. Seção de Identidade */
.category-main-logo {
max-height: 60px;
width: auto;
object-fit: contain;
}

.category-name-text {
font-weight: 300;
text-transform: uppercase;
letter-spacing: 5px;
color: #000;
}

.back-link-minimal {
color: #999;
font-size: 0.65rem;
letter-spacing: 2px;
text-decoration: none;
text-transform: uppercase;
transition: color 0.2s;
}

.back-link-minimal:hover {
color: #000;
}

/* 3. Banner Lateral Sticky */
.sticky-banner-lateral {
position: sticky;
top: 100px;
/* Ajuste conforme a altura do seu menu fixo */
height: fit-content;
padding-right: 10px;
}

.banner-v-render {
width: 100%;
height: auto;
object-fit: cover;
border: 1px solid #f0f0f0;
}

/* 4. Grid de Produtos (JW PEI Style) */
.g-1 {
margin-right: -4px;
margin-left: -4px;
}

.g-1>[class*="col-"] {
padding-right: 4px;
padding-left: 4px;
margin-bottom: 10px;
}

.jw-product-card {
transition: opacity 0.3s ease;
}

.jw-product-link:hover .jw-product-card {
opacity: 0.8;
}

.jw-brand {
font-size: 0.7rem;
letter-spacing: 1px;
color: #000;
}

.jw-product-name {
font-size: 0.75rem;
color: #777 !important;
height: 2.2rem;
overflow: hidden;
}

.jw-price {
font-size: 0.85rem;
color: #000;
}

/* Paginação */
.pagination-sax .page-link {
color: #000;
border: none;
background: transparent;
font-size: 0.8rem;
}

.pagination-sax .page-item.active .page-link {
background: none;
text-decoration: underline;
font-weight: bold;
}

/* Mobile */
@media (max-width: 991px) {
.category-hero-fullwidth {
height: 35vh;
}

/* Oculta banner lateral no mobile */
}
/* Estilo Base SAX */
.letter-spacing-2 { letter-spacing: 2px; }
.letter-spacing-3 { letter-spacing: 4px; }
.x-small { font-size: 0.75rem; }

.sax-divider {
width: 60px;
height: 3px;
background-color: #000;
}

/* Tabs Estilizadas */
.btn-sax-tab {
background: transparent;
border: none;
border-bottom: 2px solid transparent;
border-radius: 0;
padding: 10px 0;
font-weight: bold;
font-size: 0.8rem;
letter-spacing: 2px;
color: #999;
transition: 0.3s ease;
}

.btn-sax-tab.active {
color: #000;
border-bottom: 2px solid #000;
}

.btn-sax-tab:hover { color: #333; }

/* Formulário de Luxo */
.sax-label {
display: block;
font-size: 0.7rem;
font-weight: bold;
letter-spacing: 1.5px;
margin-bottom: 8px;
color: #000;
}

.sax-input {
border: none;
border-bottom: 1px solid #e0e0e0;
border-radius: 0;
padding: 12px 0;
font-size: 0.9rem;
transition: border-color 0.3s;
background-color: transparent !important;
}

.sax-input:focus {
box-shadow: none;
border-color: #000;
}

.sax-input::placeholder { color: #ccc; font-weight: 300; }

/* Botão de Envio */
.btn-sax-submit {
transition: all 0.4s ease;
border: 1px solid #000;
}

.btn-sax-submit:hover {
background-color: #fff !important;
color: #000 !important;
}

/* Estilização dos Mapas */
.map-section-title {
font-size: 1.2rem;
font-weight: bold;
letter-spacing: 2px;
text-transform: uppercase;
margin-bottom: 30px;
}

.map-card {
background: #fff;
padding: 15px;
border: 1px solid #eee;
height: 100%;
transition: 0.3s;
}

.map-card:hover {
box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.map-card h6 {
font-weight: bold;
font-size: 0.85rem;
letter-spacing: 1px;
margin-bottom: 5px;
}

.map-card p {
color: #777;
font-size: 0.75rem;
margin-bottom: 15px;
min-height: 32px;
}

.map-wrapper {
position: relative;
overflow: hidden;
background: #f0f0f0;
}

.map-wrapper iframe {
width: 100%;
height: 250px;
filter: grayscale(100%);
transition: 0.5s ease;
border: 0;
}

.map-wrapper:hover iframe {
filter: grayscale(0%);
}

/* Ajuste de Espaçamento Mobile */
@media (max-width: 768px) {
.map-card { margin-bottom: 20px; }
}
/* Configurações de Tipografia e Espaçamento */
.tracking-2 { letter-spacing: 2px; }
.tracking-5 { letter-spacing: 5px; }
.uppercase { text-transform: uppercase; }

.all-categories-wrapper {
min-height: 100vh;
}
a{
text-decoration: none !important;
}
.category-header h2{
color: #000
}

.title-separator {
width: 60px;
height: 3px;
background-color: #000;
}

/* Estilização dos Links */
.category-main-link {
color: #000;
text-decoration: none;
position: relative;
transition: color 0.3s ease;
}

.category-main-link:hover {
color: #555;
}

.child-item-link {
color: #888;
text-decoration: none;
font-size: 0.85rem;
display: block;
transition: all 0.3s ease;
font-weight: 300;
}

.child-item-link:hover {
color: #000;
transform: translateX(5px);
}

/* Card Sutil */
.subcategory-card {
border-left: 1px solid #f0f0f0;
transition: border-color 0.3s ease;
}

.subcategory-card:hover {
border-left-color: #000;
}

/* Ajustes de Responsividade Extra */
@media (max-width: 768px) {
.category-header h2 {
font-size: 1.1rem;
}
.display-5 {
font-size: 1.8rem;
}
.subcategory-card {
border-left: none;
border-bottom: 1px solid #f0f0f0;
padding-bottom: 1.5rem;
}
}
.category-detail-wrapper {
background-color: #fff;
overflow-x: hidden;
}

.sax-sku {
font-size: 0.6rem;
}

.sax-product-name {
font-size: 0.7rem;
height: 2.4em;
line-height: 1.2;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-transform: uppercase;
}

.sax-brand {
font-size: 0.8rem;
color: #000;
letter-spacing: 0.5px;
}

.tracking-widest {
letter-spacing: 0.2em;
}

.category-hero-fullwidth {
width: 100vw;
height: 45vh;
min-height: 300px;
position: relative;
overflow: hidden;
margin-left: calc(-50vw + 50%);
}

.hero-img-render {
width: 100%;
object-fit: cover;
object-position: center;
}

.hero-overlay-soft {
position: absolute;
top: 0;
left: 0;
width: 100%;
background: rgba(0, 0, 0, 0.03);
}

.category-main-logo {
max-height: 60px;
width: auto;
object-fit: contain;
}

.category-name-text {
font-weight: 300;
text-transform: uppercase;
letter-spacing: 5px;
color: #000;
}

.back-link-minimal {
color: #999;
font-size: 0.65rem;
letter-spacing: 2px;
text-decoration: none;
text-transform: uppercase;
transition: color 0.2s;
}

.back-link-minimal:hover {
color: #000;
}

.sticky-banner-lateral {
position: sticky;
top: 100px;
height: fit-content;
padding-right: 10px;
}

.banner-v-render {
width: 100%;
height: auto;
object-fit: cover;
border: 1px solid #f0f0f0;
}

.g-1 {
margin-right: -4px;
margin-left: -4px;
}

.g-1>[class*="col-"] {
padding-right: 4px;
padding-left: 4px;
margin-bottom: 10px;
}

.jw-product-card {
transition: opacity 0.3s ease;
}

.jw-product-link:hover .jw-product-card {
opacity: 0.8;
}


.jw-brand {
font-size: 0.7rem;
letter-spacing: 1px;
color: #000;
}

.jw-product-name {
font-size: 0.75rem;
color: #777 !important;
height: 2.2rem;
overflow: hidden;
}

.jw-price {
font-size: 0.85rem;
color: #000;
}

.pagination-sax .page-link {
color: #000;
border: none;
background: transparent;
font-size: 0.8rem;
padding: 5px 10px;
}

.pagination-sax .page-item.active .page-link {
background: none;
text-decoration: underline;
font-weight: bold;
color: #000;
}

.pagination-sax .page-item.disabled .page-link {
color: #ccc;
}

@media (max-width: 991px) {
.category-hero-fullwidth {
height: 35vh;
}
}
.sax-product-card {
background-color: transparent !important;
height: 100%;
}

.sax-img-container {
aspect-ratio: 3 / 4;
background-color: #f8f9fa;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
width: 100%;
}

.sax-brand {
font-size: 0.8rem;
color: #000;
letter-spacing: 0.5px;
}

.sax-sku {
font-size: 0.6rem;
}
.card-body {
background-color: #f5f5f5;
}

.sax-img-container img {
width: 100%;
height: 100%;
object-fit: contain;
transition: transform 0.5s ease;
mix-blend-mode: multiply !important;
}

.sax-product-card:hover img {
transform: scale(1.05);
}

.sax-brand {
font-size: 0.8rem;
color: #000;
letter-spacing: 0.5px;
}

.sax-product-name {
font-size: 0.7rem;
height: 2.4em;
line-height: 1.2;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-transform: uppercase;
}

.sax-price {
font-size: 0.9rem;
}

.sax-sku {
font-size: 0.6rem;
}

.sax-stock-overlay {
position: absolute;
inset: 0;
background: rgba(255, 255, 255, 0.6);
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
z-index: 2;
}
.sax-main-slider {
width: 100%;
height: 55vh; 
background: #000;
position: relative;
overflow: hidden;
}

.mainSwiper {
width: 100%;
height: 100%;
}

.slide-inner {
width: 100%;
height: 100%;
position: relative;
}

.slide-inner img {
width: 100%;
height: 100%;
object-fit: cover; 
object-position: center;
}

.slide-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.1));
}

/* Estilização das áreas de clique */
.swiper-nav-click {
position: absolute;
top: 0;
z-index: 20;
height: 100%;
width: 20%; /* 20% da tela em cada lado troca o slide */
cursor: pointer;
}

.swiper-nav-click.prev { left: 0; }
.swiper-nav-click.next { right: 0; }

/* Paginação */
.swiper-pagination-bullet {
background: #fff !important;
opacity: 0.6;
}
.swiper-pagination-bullet-active {
opacity: 1;
}

@media (max-width: 768px) {
.sax-main-slider {
height: 40vh;
}
.swiper-nav-click {
width: 25%; /* Área um pouco maior no mobile para facilitar o toque */
}
}
/* Reset e Base */
.sax-wrapper {
font-family: 'Helvetica', Arial, sans-serif;
margin: 0;
padding: 0;
box-sizing: border-box;
background-color: #fff;
width: 100%;
}

.sax-wrapper *,
.sax-wrapper *::before,
.sax-wrapper *::after {
box-sizing: inherit;
}

/* --- SEÇÃO DE CARDS --- */
.help-section {
max-width: 1200px;
margin: 40px auto;
padding: 0 20px;
}

.help-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}

.help-card {
border: 1px solid #e0e0e0;
border-radius: 8px;
padding: 30px;
text-align: left;
background: #fff;
transition: transform 0.3s ease;
}

.help-card:hover {
transform: translateY(-5px);
}

.help-card .icon {
font-size: 24px;
margin-bottom: 15px;
}

.help-card .red-icon {
color: #d9534f;
font-weight: bold;
}

.help-card h3 {
font-size: 14px;
font-weight: 700;
margin-bottom: 8px;
color: #000;
letter-spacing: 0.5px;
}

.help-card p {
font-size: 13px;
color: #666;
margin: 0;
}

/* --- SEÇÃO NEWSLETTER (ESTILIZADA COM BANNER) --- */
.newsletter-section {
min-height: 450px;
/* Aumentado para dar mais destaque ao banner */
background-size: cover !important;
background-position: center center !important;
background-repeat: no-repeat !important;
padding: 100px 20px;
color: white;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
/* Cor de fundo caso o banner falhe */
background-color: #333;
}

.newsletter-container {
max-width: 800px;
width: 100%;
text-align: left;
}

.newsletter-container h2 {
font-size: 36px;
margin-bottom: 15px;
font-weight: 400;
letter-spacing: 1px;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.newsletter-container .subtitle {
font-size: 16px;
margin-bottom: 35px;
line-height: 1.6;
opacity: 0.95;
}

.form-wrapper {
width: 100%;
display: flex;
flex-direction: column;
align-items: flex-start;
}

.newsletter-form {
display: flex;
gap: 12px;
width: 100%;
margin-bottom: 20px;
}

.newsletter-form input {
flex: 1;
padding: 16px 20px;
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 4px;
font-size: 14px;
background: rgba(255, 255, 255, 0.95);
color: #333;
outline: none;
}

.newsletter-form button {
background-color: #000;
color: #fff;
border: 1px solid #000;
padding: 0 45px;
border-radius: 4px;
font-weight: 700;
font-size: 13px;
cursor: pointer;
text-transform: uppercase;
letter-spacing: 1px;
transition: all 0.3s ease;
}

.newsletter-form button:hover {
background-color: #333;
border-color: #333;
}

.legal-text {
font-size: 12px;
line-height: 1.5;
text-align: left;
margin: 0;
opacity: 0.8;
max-width: 90%;
}

/* --- RESPONSIVIDADE --- */
@media (max-width: 992px) {
.help-grid {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 768px) {
.help-grid {
grid-template-columns: 1fr;
}

.newsletter-section {
padding: 60px 20px;
min-height: auto;
}

.newsletter-form {
flex-direction: column;
}

.newsletter-form button {
padding: 18px;
}

.newsletter-container h2 {
font-size: 28px;
}

.form-wrapper {
align-items: center;
text-align: center;
}

.legal-text {
text-align: center;
}
}
/* Estilos preservados conforme solicitado */
.sax-category-strip { background-color: #fff; padding-bottom: 2rem !important; }

.category-wrapper {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: nowrap;
overflow-x: auto;
}

.category-item {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none !important;
flex: 0 0 18%; 
max-width: 220px;
border: 1px solid #f2f2f2;
}

.category-img-box {
width: 100%;
aspect-ratio: 1 / 1;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 12px;
transition: all 0.3s ease;
}

.category-item:hover .category-img-box {
background-color: #e9e9e9;
transform: translateY(-5px);
}

.category-img-box img {
width: 80%;
height: 80%;
object-fit: contain;
}

.category-name {
font-size: 0.8rem;
font-weight: 700;
color: #000;
text-transform: uppercase;
letter-spacing: 1.5px;
text-align: center;
margin-top: 5px;
}

.category-wrapper::-webkit-scrollbar { display: none; }

@media (max-width: 991px) {
.category-item { flex: 0 0 30%; }
}

@media (max-width: 575px) {
.category-item { flex: 0 0 45%; }
.category-wrapper { flex-wrap: wrap; }
}
/* Reset local e Container Principal */
.sax-brands-section {
background-color: #000;
width: 100%;
min-height: 850px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
overflow: hidden;
padding: 80px 0;
font-family: 'Inter', sans-serif;
}

.sax-main-title {
color: #fff;
font-weight: 300;
letter-spacing: 6px;
font-size: 2em;
margin-bottom: 4em;
text-transform: uppercase;
}

.sax-carousel-master {
perspective: 1500px;
/* Profundidade acentuada para efeito 3D */
width: 100%;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}

.sax-carousel-3d {
position: relative;
width: 320px;
/* Largura base idêntica ao seu modelo */
height: 480px;
transform-style: preserve-3d;
margin-bottom: 20px;
}

.sax-item {
position: absolute;
width: 100%;
height: 100%;
transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1),
            opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
cursor: pointer;
backface-visibility: hidden;
background-color: white;
/* Reflexo elegante abaixo da imagem */
-webkit-box-reflect: below 4px linear-gradient(transparent 70%, rgba(255, 255, 255, 0.15));
}

.sax-item img {
width: 100%;
height: 100%;
object-fit: cover;
border: 1px solid rgba(255, 255, 255, 0.1);
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8);
background-color: white;
}

/* POSICIONAMENTO DINÂMICO (3D ESTRITO) */

/* Centro: Grande e Próximo */
.sax-item.active {
transform: translate3d(0, 0, 250px);
z-index: 10;
opacity: 1;
}

/* Laterais Imediatas: Curvatura de 45 graus */
.sax-item.p1 {
transform: translate3d(-105%, 0, 0);
z-index: 5;
opacity: 0.6;
}

.sax-item.n1 {
transform: translate3d(105%, 0, 0);
z-index: 5;
opacity: 0.6;
}

/* Longe: Quase sumindo no fundo */
.sax-item.p2 {
transform: translate3d(-180%, 0, -250px);
z-index: 2;
opacity: 0.2;
}

.sax-item.n2 {
transform: translate3d(180%, 0, -250px);
z-index: 2;
opacity: 0.2;
}

.sax-item.hidden {
transform: translate3d(0, 0, -600px);
opacity: 0;
z-index: 0;
pointer-events: none;
}

/* Rodapé: Nome da Marca e Botões */
.sax-carousel-footer {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 60px;
}

.sax-brand-label {
color: #fff;
font-size: 22px;
letter-spacing: 4px;
text-transform: uppercase;
margin-bottom: 30px;
font-weight: 400;
height: 30px;
}

.sax-controls {
display: flex;
align-items: center;
gap: 40px;
}

.sax-nav-btn {
background: none;
border: 1px solid rgba(255, 255, 255, 0.3);
color: #fff;
padding: 8px 30px;
font-size: 20px;
cursor: pointer;
transition: 0.3s ease;
}

.sax-nav-btn:hover {
border-color: #fff;
background: rgba(255, 255, 255, 0.1);
}

/* Indicadores (Dots) */
.sax-indicators {
display: flex;
gap: 10px;
}

.sax-dot {
width: 6px;
height: 6px;
background: rgba(255, 255, 255, 0.3);
border-radius: 50%;
transition: 0.3s;
}

.sax-dot.active {
background: #fff;
transform: scale(1.5);
}

/* Optimização mobile do carrusel de marcas */
@media (max-width: 768px) {
    .sax-brands-section {
        min-height: auto;
        padding: 3rem 0;
    }

    .sax-main-title {
        font-size: 1.2em;
        letter-spacing: 2px;
        margin-bottom: 3em;
        text-align: center;
        text-indent: 2px;
        padding-inline: 1rem;
    }

    .sax-carousel-master {
        perspective: 800px;
    }

    .sax-carousel-3d {
        width: 60vw;
        max-width: 240px;
        height: 90vw;
        max-height: 360px;
    }

    /* Quitar efectos costosos en mobile */
    .sax-item {
        -webkit-box-reflect: unset;
    }

    .sax-item img {
        box-shadow: 0 8px 20px -8px rgba(0, 0, 0, 0.5);
    }

    /* 3D suavizado: Z reducidas */
    .sax-item.active {
        transform: translate3d(0, 0, 100px);
    }

    .sax-item.p2 {
        transform: translate3d(-180%, 0, -100px);
    }

    .sax-item.n2 {
        transform: translate3d(180%, 0, -100px);
    }

    .sax-item.hidden {
        transform: translate3d(0, 0, -250px);
    }

    .sax-carousel-footer {
        margin-top: 2rem;
    }

    .sax-brand-label {
        font-size: 1rem;
        letter-spacing: 2px;
        margin-bottom: 1.5rem;
    }

    .sax-controls {
        gap: 1rem;
        width: 100%;
        justify-content: center;
        padding-inline: 1rem;
        box-sizing: border-box;
    }

    .sax-nav-btn {
        padding: 0.5rem 1rem;
        font-size: 1rem;
    }
}

.blog-card { transition: .25s ease; }
.blog-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.14) !important; }
.blog-card img { transition: .3s ease; }
.blog-card:hover img { filter: brightness(0.9); }