/* Regra para ocultar produtos com preço R$ 0,00 */
li:has(>.content__productComplete.template-four-products[bestprice='R$ 0,00']) {
    display: none;
}

/* Variáveis CSS globais */
:root {
    --button-size: 30px;
    --swiper-theme-color: #414141; /* Cor para bordas INATIVAS */
    --complementary-color: #615d5d; /* Cor complementar para paginação */
    --swiper-navigation-sides-offset: 0px; /* Offset padrão para navegação Swiper */
    --swiper-navigation-size: 16px; /* Tamanho padrão da navegação Swiper */
    /* Cores padrão do Swiper, mantidas caso outras partes ainda usem o Swiper */
    --swiper-pagination-bullet-inactive-color: #000;
    --swiper-pagination-bullet-inactive-opacity: .2;
    --swiper-pagination-color: var(--swiper-theme-color);
    --swiper-pagination-fraction-color: inherit;
    --swiper-pagination-progressbar-bg-color: rgba(0,0,0,.25);
    --swiper-scrollbar-bg-color: rgba(0,0,0,.1);
    --swiper-scrollbar-drag-bg-color: rgba(0,0,0,.5);
}

/* Font face para ícones do Swiper (mantido, caso seja usado em outros contextos ou por conveniência) */
@font-face {
    font-family: swiper-icons;
    src: url('data:application/font-woff;charset=utf-8;base64,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');
    font-weight: 400;
    font-style: normal
}

/*
 * Estilos gerais para o host do componente Swiper (se aplicável),
 * mantido para compatibilidade, mas pode ser ajustado.
 */
:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}

/*
 * ESTILOS MODIFICADOS PARA A SEÇÃO DE CATEGORIAS DE TOPO:
 * Agora usa Flexbox para exibir todos os itens em uma linha,
 * quebrando para a próxima e centralizando se não houver espaço.
 */
.filtros-categorias {
    max-width: 1200px; /* Largura máxima do contêiner de categorias */
    margin: 0 auto; /* Centraliza o contêiner na página */
    display: flex; /* Habilita o Flexbox */
    flex-wrap: wrap; /* Permite que os itens quebrem para a próxima linha */
    justify-content: center; /* Centraliza os itens horizontalmente */
    gap: 15px; /* Espaçamento entre os itens (horizontal e vertical) */
    padding: 10px; /* Pequeno padding para o contêiner */
    list-style: none; /* Garante que não há marcadores de lista */
    overflow: hidden; /* Garante que o conteúdo não transborde, embora flex-wrap ajude */
    position: relative; /* Pode ser útil para posicionamento de botões se eles voltarem */
    z-index: 1; /* Mantido do Swiper, pode ser ajustado */
}

/* Estilos para o wrapper interno do Swiper, agora usado como um contêiner flex */
.filtros-categorias .swiper-wrapper {
    position: relative;
    width: 100%; /* Ocupa a largura total do pai */
    height: auto; /* A altura se ajusta ao conteúdo */
    z-index: 1;
    gap: 0.5em; /* Mantido do seu último código, ajuste se o gap principal já for suficiente */
    display: flex; /* Habilita o Flexbox */
    flex-wrap: wrap; /* Permite que os itens quebrem para a próxima linha */
    justify-content: center; /* Centraliza os itens dentro do wrapper */
    /* Sobrescreve transformações e transições do Swiper para layout estático */
    transform: none !important;
    transition-property: none !important;
    box-sizing: content-box; /* Comportamento padrão do Swiper, pode ser ajustado para border-box se houver padding */
}

/* Estilos para cada item de categoria (anteriormente .swiper-slide) */
.filtros-categorias .swiper-slide {
    flex-shrink: 0; /* Impede que o item encolha abaixo de sua largura definida */
    width: 155px; /* Largura fixa para cada item, como na sua atualização */
    min-width: 150px; /* Largura mínima para telas muito pequenas */
    max-width: 100%; /* Garante que o item não transborde em telas menores que 155px */
    height: 50px; /* Altura fixa dos botões */
    position: relative;
    transition-property: none; /* Desativa transições do Swiper */
    
    display: flex !important; /* Habilita o Flexbox para o conteúdo interno do item */
    justify-content: center; /* Centraliza o texto horizontalmente dentro do item */
    align-items: center; /* Centraliza o texto verticalmente dentro do item */
    
    border-radius: 8px;
    /* Borda inativa: usa a cor definida em --swiper-theme-color (#414141) */
    border: 1px solid var(--swiper-theme-color) !important;
    background-color: #484848; /* Cor de fundo padrão (cinza escuro) */
    color: #fff; /* Cor do texto padrão */
    font-weight: bold;
    cursor: pointer;
    box-sizing: border-box; /* Inclui padding e border na largura e altura */
    padding: 0; /* Garante que o padding padrão não afete a largura/altura definida */
}

/* Estilo para o item de categoria ativo */

.categoria-item.active {
    background: #00FF00;
    color: #ffffff;
    border-color: #00FF00;
    width: 100%;
    height: 100%;
    border-radius: 7px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Estilos para a tag <p> dentro do item de categoria */
.categoria-item p {
    margin: 0; /* Remove margem padrão */
    padding: 0; /* Remove padding padrão */
    line-height: 1; /* Ajusta a altura da linha */
}

/* Ocultar elementos de navegação e paginação do Swiper que não são mais necessários */
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination {
    display: none !important; /* Força a ocultação */
}

/*
 * REGRAS DO SWIPER ORIGINAIS (MANTIDAS POR COMPATIBILIDADE, MAS SERÃO SOBRESCRITAS
 * PARA A SEÇÃO DE CATEGORIAS DE TOPO PELAS REGRAS ACIMA)
 * Se outras partes do seu site ainda usarem o Swiper, mantenha-as.
 * Caso contrário, você pode remover blocos inteiros se o Swiper não for mais usado.
 */

/* Geral Swiper Styles */
.swiper {
    /* As regras acima para .filtros-categorias já sobrescrevem isso para as categorias de topo */
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column;
}

.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper {
    transform: translate3d(0px,0,0);
}

.swiper-horizontal {
    touch-action: pan-y;
}

.swiper-vertical {
    touch-action: pan-x;
}

/* Nota: A regra .swiper-slide foi fortemente modificada acima para .filtros-categorias .swiper-slide */
/* Portanto, esta regra geral pode ser menos relevante para o seu caso de uso de categorias de topo */
.swiper-slide {
    /* flex-shrink: 0; -- JÁ DEFINIDO ESPECIFICAMENTE ACIMA */
    /* width: 100%; -- JÁ DEFINIDO ESPECIFICAMENTE ACIMA */
    /* height: 100%; -- JÁ DEFINIDO ESPECIFICAMENTE ACIMA */
    /* position: relative; -- JÁ DEFINIDO ESPECIFICAMENTE ACIMA */
    /* transition-property: transform; -- JÁ DEFINIDO ESPECIFICAMENTE ACIMA */
    /* display: block; -- JÁ DEFINIDO ESPECIFICAMENTE ACIMA */
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto;
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height;
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Swiper 3D specific styles */
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
}

.swiper-3d {
    perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide {
    transform-style: preserve-3d;
}

/* Swiper CSS Mode specific styles */
.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999;
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop:always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start:var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height:100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start:var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width:100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
}

/* Swiper 3D shadow styles */
.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0,0,0,.15);
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0));
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0));
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0));
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0));
}

/* Swiper lazy preloader styles */
.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Swiper virtual styles */
.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
}

/* Swiper Pagination styles */
.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0,0,0);
    z-index: 10;
    /* OVERRIDDEN FOR .FILTROS-CATEGORIAS - display: none; */
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
}

.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled {
    display: none!important;
}

.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom,8px);
    top: var(--swiper-pagination-top,auto);
    left: 0;
    width: 100%;
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33);
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius,50%);
    background: var(--swiper-pagination-bullet-inactive-color,#000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}

.swiper-pagination-bullet:only-child {
    display: none!important;
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets {
    right: var(--swiper-pagination-right,8px);
    left: var(--swiper-pagination-left,auto);
    top: 50%;
    transform: translate3d(0px,-50%,0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap,6px) 0;
    display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform,.2s top;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px);
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s left;
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s right;
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color,inherit);
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));
    position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size,4px);
    left: 0;
    top: 0;
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar {
    width: var(--swiper-pagination-progressbar-size,4px);
    height: 100%;
    left: 0;
    top: 0;
}

.swiper-pagination-lock {
    display: none;
}

/* Swiper Scrollbar styles */
.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius,10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1));
}

.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none!important;
}

.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset,1%);
    bottom: var(--swiper-scrollbar-bottom,4px);
    top: var(--swiper-scrollbar-top,auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size,4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left,auto);
    right: var(--swiper-scrollbar-right,4px);
    top: var(--swiper-scrollbar-sides-offset,1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size,4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%));
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));
    border-radius: var(--swiper-scrollbar-border-radius,10px);
    left: 0;
    top: 0;
}

.swiper-scrollbar-cursor-drag {
    cursor: move;
}

.swiper-scrollbar-lock {
    display: none;
}

/* Swiper Zoom styles */
.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none;
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
}

/* Swiper Free Mode styles */
.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
}

/* Swiper Grid styles */
.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap;
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
}

/* Swiper Fade effect styles */
.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-fade .swiper-slide-active {
    pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

/* Swiper Cube effect styles */
.swiper.swiper-cube {
    overflow: visible;
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px);
}

.swiper-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Swiper Flip effect styles */
.swiper.swiper-flip {
    overflow: visible;
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Swiper Creative effect styles */
.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform,opacity,height;
}

/* Swiper Cards effect styles */
.swiper.swiper-cards {
    overflow: visible;
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
}

/* Media Queries do seu CSS original (agora aplicáveis às suas outras seções ou para ajustes específicos) */
@media (width >= 768px) {
    /* Estas regras agora se aplicam a outras partes do seu site, se houver, ou podem ser removidas se não forem mais relevantes */
    .categoria-item { /* Esta regra geral, se não for mais relevante para outras .categoria-item, pode ser removida/ajustada */
        cursor: pointer;
    }
    
    .filtros-categorias { /* Esta regra é sobrescrita pelas novas regras Flexbox acima para desktop */
        margin-right: 15px !important;
        margin-bottom: 5px;
    }

    /* As regras abaixo são para o Swiper, se ainda for usado em outras seções no desktop */
    .swiper-slide-next + * + * {
        padding: 0 15px 0 0;
    }
    
    .swiper-slide-active {
        padding: 0 0 0 15px;
    }
    
    /* Nota: .swiper-slide já foi redefinido para .filtros-categorias .swiper-slide */
    .swiper-slide { 
        /* Estas regras podem ser removidas se não houver outros swipers no desktop */
        /* display: flex !important; */
        /* justify-content: space-around; */
        /* align-items: center; */
    }
    
    .swiper-button-prev svg,
    .swiper-button-next svg {
        width: var(--button-size);
        height: var(--button-size);
    }

    .swiper-button-next {
        top: -2px;
        right: -10px;
    }
    
    .swiper-button-prev {
        top: -5px;
        left: -10px;
    }
    
    .swiper-button-next,
    .swiper-button-prev {
        content: '';
        z-index: 10;
        position: absolute;
        cursor: pointer;
        border: none;
        box-shadow: none;
        color: var(--primary-red-color) !important; /* Verifique se --primary-red-color está definida em algum lugar */
    }
}

@media (width < 768px) {
    /* Estas são suas regras para mobile. Mantenha se o Swiper for usado em mobile para outras seções */
    .int {
        position: relative !important;
    }
    .optCateg {
        position: relative !important;
        margin-bottom: 20px !important;
    }

    .container-ordenacao {
        position: relative;
        top: -58px;
        right: -233px;
    }
    
    .filtros-categorias { /* Esta regra pode ser ajustada ou removida dependendo se você usa o Swiper em mobile para isso */
        display: block !important;
        position: absolute !important;
        right: 3px;
        top: 0;
        width: 366px;
        z-index: 10;
    }
    
    .swiper-button-next svg {
        width: calc(var(--button-size) - 5px);
        height: calc(var(--button-size) - 5px);
    }
    /* Estas são sobrescritas pela regra global `display: none !important;` para Swiper buttons */
    /* .swiper-button-next,
    .swiper-button-prev{
        display: none;
    } */

    .divFiltro.v1 {
        width: 400px !important;
        max-width: 400px;
    }
    .swiper-pagination {
        position: relative !important;
        margin-top: 10px;
        /* OVERRIDDEN FOR .FILTROS-CATEGORIAS - display: none; */
    }
    .swiper-pagination-bullet {
        background-color: var(--complementary-color) ;
    }
    .swiper-pagination-bullet-active {
        background-color: var(--swiper-theme-color) ;
    }
    .categoria-item { /* Esta regra é sobrescrita pela nova regra para .filtros-categorias .swiper-slide */
        font-size: 12px !important;
        height: 36px;
        text-align: center;
    }
}