body {
    font-family: "Roboto", "sans-serif";
}

.site-header {
    background: #AE0405;
    color: #fff;
}

.loading__spinner {
    color: #AE0405;
}

.site-header__logo img {
    height: 70px;
}

.site-header__cart i {
    color: #FFF;
}

.site-header__cart .indicator__value {
    background-color: #890304;
    color: #fff;
}

.footer-contacts__text img {
    height: 70px;
}

.footer-apps__text img {
    width: 120px;
}

.nav-panel {
    background: #890304;
    color: #FFF;
}

.top-button {
    color: #AE0405;
}

@media (max-width: 991px) {
    .indicator__value {
        background: #890304;
        color: #FFF;
    }
}

.page-header__back i {
    color: #AE0405;
}

.input-check__input:checked ~ .input-check__box {
    background: #AE0405;
}

.block-slideshow .owl-carousel .owl-dot {
    background: #999;
}

.block-slideshow .owl-carousel .owl-dot.active {
    background: #AE0405;
}

.block-header__arrow {
    background: transparent;
    color: #AE0405;
}

.block-header__arrow:hover {
    background: #f7f7f7;
    color: #999;
}

.block-header__arrow:active {
    background: transparent;
    color: #AE0405;
}

.block-header__arrow:focus {
    background: #f7f7f7;
    color: #AE0405;
}

.filter__arrow {
    color: #AE0405;
}

.footer-links__title {
    color: #AE0405;
}

.footer-contacts__title,
.service-bar__title:hover {
    color: #AE0405;
}

.footer-newsletter__title {
    color: #AE0405;
}

.footer-payment__title {
    color: #AE0405;
}

.footer-seals__title {
    color: #AE0405;
}

.footer-apps__title {
    color: #AE0405;
}

.megamenu__body {
    background: #890304;
}

.megamenu__links--level--1 > .megamenu__item > a {
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    padding-right: 20px;
    color: #FFF;
}

.megamenu__links--level--1 > .megamenu__item > a:hover {
    color: #FFF;
}

.megamenu__links--level--1 > .megamenu__item > a:active {
    color: #FFF;
}

.megamenu__links--level--1 > .megamenu__item > a:focus {
    color: #FFF;
}

.footer-seals__text img {
    width: 50% !important;
}

.block-header__title {
    color: #AE0405;
}

.page-header__title {
    color: #AE0405;
}

.product__name {
    color: #AE0405;
}

.container__products-carousel-grid {
    margin-top: 30px;
}

.product-tabs__item {
    color: #AE0405;
}

.product-tabs__item:hover {
    color: #AE0405;
}

.product-tabs__item--active {
    border-bottom-color: #AE0405;
}

.block-products-carousel[data-layout=grid-5] .product-card .product-card__actions {
    padding: 0 !important;
}

[dir=ltr] .nav-panel__nav-links {
    margin-right: 0;
    height: 46px;
}

.nav-links__list {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .nav-links__item-link {
        font-size: 12px;
        font-weight: 500;
        white-space: nowrap;
    }
}

@media (min-width: 1200px) {
    .nav-links__item-link {
        font-size: 14px;
        font-weight: 500;
        white-space: nowrap;
    }
}

.nav-links__item--has-submenu .nav-links__item-body {
    padding-right: 15px !important;
}

.nav-links__item-body .fa-chevron-down {
    display: none;
}

.nav-links__item {
    margin-left: 2px;
    margin-right: 2px;
}

.topbar-message {
    background: #606061;
    color: #FFF;
    min-height: 40px;
    padding: 10px;
}

.topbar-message .fa-shipping-fast {
    font-size: 20px;
}

.topbar-app {
    background: #e1e1e1;
    color: #FFF;
    min-height: 40px;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 0;
    padding-right: 0;
}

.topbar-app img {
    background: #FFF;
    padding: 7px;
    box-shadow: 1px 1px 3px #606061;
    -webkit-box-shadow: 1px 1px 3px #606061;
    -moz-box-shadow: 1px 1px 3px #606061;
    border-radius: 10px;
    height: 48px;
}

.topbar-app .btn {
    font-weight: 500;
    border-radius: 5px;
    box-shadow: 1px 1px 3px #606061;
    -webkit-box-shadow: 1px 1px 3px #606061;
    -moz-box-shadow: 1px 1px 3px #606061;
}

.search__form {
    background: #FFFFFF;
}

.search__button {
    background: #890304;
    color: #FFFFFF;
}

.search__button:hover {
    background: #890304;
    color: #FFFFFF;
}

.search__button:active {
    background: #890304;
    color: #FFFFFF;
}

.site-header__phone-title {
    color: #fff;
    margin-top: 5px;
}

.site-header__phone-number .fa-whatsapp {
    color: #fff;
}

.mobile-header__panel {
    background: #AE0405;
}

.mobile-header__panel i {
    color: #fff;
}

.mobile-header__search {
    background-color: #AE0405;
}

.site-newsletter {
    background: #890304;
    color: #fff;
}

.mobile-header__search-form i {
    color: #b3b3b3;
}

:root {
    --primary-color: #AE0405;
    --primary-dark: #870304;
    --border-color: #dfe4ea;
    --text-color: #00152a;
    --muted-color: #49617f;
    --card-bg: #ffffff;
    --shadow-hover: 0 8px 20px rgba(0, 0, 0, 0.08);
    --radius: 12px;
}

/* Setas dos carrosséis */
.block-brands__slider .owl-nav i,
.block-products-carousel__slider .owl-nav i {
    color: var(--primary-color);
    transition: all 0.25s ease;
}

.block-brands__slider .owl-nav i:hover,
.block-products-carousel__slider .owl-nav i:hover {
    color: var(--primary-dark);
    transform: scale(1.12);
}

/* Coluna do produto */
.block-products-carousel__column {
    border-bottom: none !important;
    padding: 6px 8px;
}

/* Card do produto */
.block-products-carousel__column .product-card,
.product-card {
    background: #ffffff;
    border: 1px solid #dfe4ea;
    border-radius: 12px;
    width: 100%;
    max-width: 264px;
    min-height: 482px;
    padding: 0 !important;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    box-shadow: none;
    transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.block-products-carousel__column .product-card:hover,
.product-card:hover {
    border-color: #d0d7de;
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
}

/* Área da imagem */
.product-card__image {
    height: 198px;
    padding: 24px 22px;
    margin: 0 !important;
    background: #ffffff;
    border-bottom: 1px solid #e5e9ef;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-sizing: border-box;
}

.product-card__image img {
    max-width: 100%;
    max-height: 150px;
    object-fit: contain;
    transition: transform 0.25s ease;
}

.product-card:hover .product-card__image img {
    transform: scale(1.03);
}

/* Área de informações */
.product-card__info {
    width: 100%;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box;
}

/* Código do produto */
.product-card__sku,
.product-card__code {
    display: block;
    text-align: left !important;
    color: #007f6d;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin: 24px 0 12px;
    line-height: 1.2;
}

/* Nome do produto */
.block-products-carousel__column .product-card__name,
.product-card__name {
    text-align: left !important;
    min-height: auto !important;
    margin: 0 0 12px;
    color: #00152a;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.28;
}

.block-products-carousel__column .product-card__name a,
.product-card__name a {
    color: #00152a !important;
    text-decoration: none;
    transition: color 0.25s ease;
}

.block-products-carousel__column .product-card__name a:hover,
.product-card__name a:hover {
    color: #007f6d !important;
}

/* Descrição curta */
.product-card__description,
.product-card__excerpt,
.product-card__features-list,
.product-card__availability {
    color: #49617f;
    font-size: 12px;
    line-height: 1.45;
    text-align: left;
    margin: 0 0 16px;
}

/* Marca */
.product-card__brand,
.product-card__meta {
    color: #49617f;
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
    margin: 0 0 18px;
}

.product-card__brand strong,
.product-card__meta strong {
    color: #31445f;
    font-weight: 700;
}

/* Área de preços */
.block-products-carousel__column .product-card__prices,
.product-card__prices {
    width: auto;
    min-height: auto !important;
    margin: auto 24px 20px !important;
    padding-top: 18px;
    border-top: 1px solid #e5e9ef;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 2px;
    text-align: left;
}

/* Preço antigo */
.product-card__old-price,
.product__old-price {
    color: #d80000 !important;
    font-size: 12px !important;
    font-weight: 700;
    text-decoration: line-through;
    line-height: 1.2;
}

/* Preço atual */
.product-card__price,
.product-card__new-price,
.product__price,
.product__new-price {
    color: #008c72 !important;
    font-size: 17px !important;
    font-weight: 900;
    line-height: 1.2;
}

/* Área de ações */
.product-card__actions {
    width: 100%;
    margin-top: auto;
    padding: 0 24px 24px !important;
    box-sizing: border-box;
}

/* Campo de quantidade */
.product-card__buttons {
    width: 100%;
    padding: 0 !important;
    margin-top: 0 !important;
    box-sizing: border-box;
}

.product-card__buttons .input-number,
.product-card__buttons input {
    width: 100%;
    height: 36px;
    box-sizing: border-box;
}

/* Botões normais do produto */
.product-card__buttons .btn,
.product-card__buttons button {
    width: 100%;
    min-width: 0;
    height: 38px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    box-sizing: border-box;
    transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

/* Botão adicionar */
.product-card__buttons .btn-primary,
.product-card__buttons button.btn-primary {
    background: #28a745;
    border-color: #28a745;
    color: #fff;
}

.product-card__buttons .btn-primary:hover,
.product-card__buttons button.btn-primary:hover {
    background: #218838;
    border-color: #218838;
    transform: translateY(-1px);
}

/* Texto de promoção abaixo do botão */
.product-card__buttons + div {
    font-size: 11px;
    line-height: 1.35;
}

/* =========================================================
   CORREÇÃO PARA USUÁRIO DESLOGADO
   ========================================================= */

/*
   Aplica o estilo ao botão ou link de login,
   independentemente de ele estar diretamente nas ações
   ou dentro do container de botões.
*/
.product-card__actions > .btn,
.product-card__actions > button,
.product-card__actions > a,
.product-card__actions .product-card__login,
.product-card__actions .login-required,
.product-card__actions .btn-login,
.product-card__buttons > .btn,
.product-card__buttons > button,
.product-card__buttons > a.btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

/* Botão específico de solicitação de login */
.product-card__actions > .btn:not(.btn-primary),
.product-card__actions > button:not(.btn-primary),
.product-card__actions > a.btn:not(.btn-primary),
.product-card__actions .product-card__login,
.product-card__actions .login-required,
.product-card__actions .btn-login {
    display: flex !important;
    align-items: center;
    justify-content: center;

    min-height: 50px;
    height: auto !important;

    margin: 0 !important;
    padding: 10px 14px !important;

    background: #f5f6f7;
    border: 1px solid #e1e5e9;
    border-radius: 9px;

    color: #555555;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word;

    cursor: pointer;

    transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

/* Hover do botão de login */
.product-card__actions > .btn:not(.btn-primary):hover,
.product-card__actions > button:not(.btn-primary):hover,
.product-card__actions > a.btn:not(.btn-primary):hover,
.product-card__actions .product-card__login:hover,
.product-card__actions .login-required:hover,
.product-card__actions .btn-login:hover {
    background: #eceff1;
    border-color: #cfd5da;
    color: #00152a;
    text-decoration: none;
    transform: translateY(-1px);
}

/* Remove limitações internas que comprimem o botão */
.product-card__actions .row,
.product-card__actions [class*="col-"],
.product-card__buttons .row,
.product-card__buttons [class*="col-"] {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Ajuste leve no container dos três banners */
.container.container__banner-3x {
    margin-top: 10px;
    margin-bottom: 16px;
}

/* Card/link do banner sem interferir na imagem */
.container.container__banner-3x .block-banner__body {
    border-radius: 12px;
    overflow: hidden;
    transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

/* Imagem mantém o comportamento original */
.container.container__banner-3x .block-banner__image img {
    border-radius: 12px;
    transition: transform 0.25s ease;
}

/* Animação simples ao passar o mouse */
.container.container__banner-3x .block-banner__body:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

/* Zoom leve na imagem */
.container.container__banner-3x .block-banner__body:hover .block-banner__image img {
    transform: scale(1.02);
}

/* Responsivo */
@media (max-width: 575px) {
    .block-products-carousel__column .product-card,
    .product-card {
        max-width: 100%;
        min-height: auto;
    }

    .product-card__image {
        height: 180px;
    }

    .product-card__image img {
        max-height: 140px;
    }

    .product-card__info {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .block-products-carousel__column .product-card__prices,
    .product-card__prices {
        margin: auto 18px 18px !important;
    }

    .product-card__actions {
        padding: 0 18px 20px !important;
    }

    .product-card__actions > .btn:not(.btn-primary),
    .product-card__actions > button:not(.btn-primary),
    .product-card__actions > a.btn:not(.btn-primary),
    .product-card__actions .product-card__login,
    .product-card__actions .login-required,
    .product-card__actions .btn-login {
        min-height: 46px;
        padding: 9px 12px !important;
        font-size: 12px;
    }
}

/* =========================================================
   CARD DE PRODUTO — VERSÃO COMPACTA E MODERNA
   Coloque este bloco no final do CSS para sobrescrever
   os estilos antigos sem alterar o HTML.
   ========================================================= */

:root {
    --product-card-radius: 16px;
    --product-card-border: #e5e9ef;
    --product-card-text: #10233f;
    --product-card-muted: #7a8798;
    --product-card-price: #07966f;
    --product-card-button: #20a83a;
    --product-card-button-hover: #188a2f;
}

/* Estrutura geral: menor, mais equilibrada e sem grandes vazios */
.block-products-carousel__column .product-card,
.product-card {
    max-width: 248px;
    min-height: 420px;
    border: 1px solid var(--product-card-border);
    border-radius: var(--product-card-radius);
    background: #fff;
    box-shadow: 0 4px 14px rgba(16, 35, 63, 0.06);
    overflow: hidden;
}

.block-products-carousel__column .product-card:hover,
.product-card:hover {
    border-color: #d6dde6;
    box-shadow: 0 12px 28px rgba(16, 35, 63, 0.12);
    transform: translateY(-3px);
}

/* Imagem com fundo leve para destacar o produto */
.product-card__image {
    height: 188px;
    padding: 20px;
    background: linear-gradient(180deg, #fbfcfd 0%, #f5f7fa 100%);
    border-bottom: 1px solid #edf0f3;
}

.product-card__image img {
    max-width: 88%;
    max-height: 150px;
    object-fit: contain;
}

/* Conteúdo mais compacto */
.product-card__info {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 16px 18px 0 !important;
}

/* Nome com até duas linhas e melhor leitura */
.block-products-carousel__column .product-card__name,
.product-card__name {
    order: 1;
    min-height: 40px !important;
    margin: 0 0 7px !important;
    color: var(--product-card-text);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.15px;
    text-align: left !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.block-products-carousel__column .product-card__name a,
.product-card__name a {
    color: var(--product-card-text) !important;
}

/* Código discreto, sem competir com o nome */
.product-card__sku,
.product-card__code {
    order: 2;
    margin: 0 !important;
    color: var(--product-card-muted);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
    text-align: left !important;
}

/* Esconde blocos vazios que aumentam desnecessariamente o card */
.product-card__description:empty,
.product-card__excerpt:empty,
.product-card__features-list:empty,
.product-card__availability:empty,
.product-card__brand:empty,
.product-card__meta:empty {
    display: none !important;
}

/* Preço próximo ao conteúdo, sem empurrar tudo para baixo */
.block-products-carousel__column .product-card__prices,
.product-card__prices {
    margin: 14px 18px 12px !important;
    padding: 13px 0 0;
    min-height: 35px !important;
    border-top: 1px solid #edf0f3;
    gap: 3px;
}

.product-card__old-price,
.product__old-price {
    color: #8a94a3 !important;
    font-size: 11px !important;
    font-weight: 600;
}

.product-card__price,
.product-card__new-price,
.product__price,
.product__new-price {
    color: var(--product-card-price) !important;
    font-size: 18px !important;
    font-weight: 900;
    letter-spacing: -0.2px;
}

/* Ações mais próximas e alinhadas */
.product-card__actions {
    margin-top: auto;
    padding: 0 18px 16px !important;
}

.product-card__buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Controle de quantidade */
.product-card__buttons .input-number {
    width: 100%;
    height: 38px;
    display: grid;
    grid-template-columns: 38px 1fr 38px;
    align-items: center;
    border: 1px solid #d6dde6;
    border-radius: 9px;
    background: #fff;
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(16, 35, 63, 0.03);
}

.product-card__buttons .input-number input,
.product-card__buttons input[type="number"],
.product-card__buttons input[type="text"] {
    width: 100%;
    height: 36px;
    padding: 0 4px;
    border: 0 !important;
    outline: 0;
    background: transparent;
    color: var(--product-card-text);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    box-shadow: none !important;
}

.product-card__buttons .input-number__sub,
.product-card__buttons .input-number__add,
.product-card__buttons .input-number button {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f7f9fb !important;
    color: #64748b !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    transform: none !important;
}

.product-card__buttons .input-number__sub:hover,
.product-card__buttons .input-number__add:hover,
.product-card__buttons .input-number button:hover {
    background: #eef2f6 !important;
    color: var(--product-card-text) !important;
}

/* Botão principal */
.product-card__buttons .btn-primary,
.product-card__buttons button.btn-primary {
    min-height: 42px;
    height: 42px;
    border: 0;
    border-radius: 10px;
    background: var(--product-card-button);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 5px 12px rgba(32, 168, 58, 0.22);
}

.product-card__buttons .btn-primary:hover,
.product-card__buttons button.btn-primary:hover {
    background: var(--product-card-button-hover);
    box-shadow: 0 7px 16px rgba(24, 138, 47, 0.28);
    transform: translateY(-1px);
}

.product-card__buttons .btn-primary:active,
.product-card__buttons button.btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(24, 138, 47, 0.22);
}

/* Foco acessível */
.product-card__buttons .btn-primary:focus-visible,
.product-card__buttons button.btn-primary:focus-visible,
.product-card__buttons input:focus-visible {
    outline: 3px solid rgba(0, 140, 114, 0.18);
    outline-offset: 2px;
}

/* Responsivo */
@media (max-width: 575px) {
    .block-products-carousel__column .product-card,
    .product-card {
        max-width: 100%;
        min-height: 405px;
        border-radius: 14px;
    }

    .product-card__image {
        height: 174px;
        padding: 18px;
    }

    .product-card__image img {
        max-height: 138px;
    }

    .product-card__info {
        padding: 14px 16px 0 !important;
    }

    .block-products-carousel__column .product-card__prices,
    .product-card__prices {
        margin: 13px 16px 11px !important;
    }

    .product-card__actions {
        padding: 0 16px 15px !important;
    }
}


/* =========================================================
   AJUSTE 02 — QUANTIDADE E ESPAÇO INFERIOR DO BOTÃO
   ========================================================= */

/*
   A marcação original do componente coloca o input antes dos
   controles. Por isso, sem posições explícitas, o valor acabava
   ocupando o lugar do botão de diminuir.
*/
.product-card__buttons .input-number {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 38px !important;
    grid-template-rows: 38px !important;
    align-items: stretch !important;
    position: relative !important;
}

.product-card__buttons .input-number__sub {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.product-card__buttons .input-number__input,
.product-card__buttons .input-number > input {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 38px !important;
    padding: 0 6px !important;
    text-align: center !important;
    position: static !important;
    z-index: 1;
}

.product-card__buttons .input-number__add {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

/* Neutraliza o posicionamento absoluto aplicado pelo tema original. */
.product-card__buttons .input-number__sub,
.product-card__buttons .input-number__add {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2;
}

/*
   Sobrescreve a regra antiga mais específica do carrossel,
   garantindo respiro entre o botão e a borda inferior do card.
*/
.block-products-carousel[data-layout="grid-5"] .product-card .product-card__actions,
.block-products-carousel__column .product-card .product-card__actions,
.product-card .product-card__actions {
    padding: 0 18px 20px !important;
}

/* Evita que a sombra do botão pareça cortada no fundo do card. */
.product-card__buttons .btn-primary,
.product-card__buttons button.btn-primary {
    margin-bottom: 2px !important;
}

@media (max-width: 575px) {
    .block-products-carousel[data-layout="grid-5"] .product-card .product-card__actions,
    .block-products-carousel__column .product-card .product-card__actions,
    .product-card .product-card__actions {
        padding: 0 16px 18px !important;
    }
}

/* =========================================================
   AJUSTE 03 — BOTÕES − E + FIXOS NAS LATERAIS
   ========================================================= */

/*
   Usa posicionamento absoluto para evitar que o tema ou a ordem
   dos elementos do HTML leve os dois controles para o centro.
*/
.product-card__buttons .input-number {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    overflow: hidden !important;
}

.product-card__buttons .input-number__input,
.product-card__buttons .input-number > input {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 38px !important;
    padding: 0 44px !important;
    margin: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
}

.product-card__buttons .input-number__sub,
.product-card__buttons .input-number__add {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    bottom: auto !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 38px !important;
    z-index: 3 !important;
    cursor: pointer !important;
}

.product-card__buttons .input-number__sub {
    left: 0 !important;
    right: auto !important;
    border-right: 1px solid #e4e9ef !important;
}

.product-card__buttons .input-number__add {
    right: 0 !important;
    left: auto !important;
    border-left: 1px solid #e4e9ef !important;
}

/* Desenha os símbolos para não depender do CSS original do tema. */
.product-card__buttons .input-number__sub::before,
.product-card__buttons .input-number__add::before,
.product-card__buttons .input-number__add::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: currentColor !important;
    transform: translate(-50%, -50%) !important;
}

.product-card__buttons .input-number__sub::before,
.product-card__buttons .input-number__add::before {
    width: 10px !important;
    height: 2px !important;
}

.product-card__buttons .input-number__add::after {
    width: 2px !important;
    height: 10px !important;
}

.product-card__buttons .input-number__sub::after {
    content: none !important;
    display: none !important;
}