@media (min-width: 992px) {
  /* Quando o sticky ativa, a barra de navegação precisa ficar acima do logo */
  html.sticky-header-active #header .header-nav-bar {
    position: relative;
    z-index: 1000; /* maior que qualquer z-index do logo/header-body */
  }

  /* Empurra o menu para a direita usando a largura real do logo (setada via JS) */
  html.sticky-header-active #header .header-nav {
    margin-left: var(--logo-offset, 240px) !important; /* fallback */
    position: relative;
  }

  /* Evita o menu ocupar 100% e "passar por baixo" do logo */
  html.sticky-header-active #header .header-nav-main,
  html.sticky-header-active #header .header-nav-main nav,
  html.sticky-header-active #header .header-nav-main .nav {
    width: auto !important;
  }

  /* O logo continua clicável, mas não cobre o menu */
  html.sticky-header-active #header .header-logo {
    position: relative;
    z-index: 10; /* ainda abaixo da nav-bar (1000) */
  }
}

/* Animação de Piscar */
@keyframes piscar {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

/* Classe para o botão "Pagar" (Animação Rápida) */
.pagar-piscando {
  animation: piscar 1s infinite; /* Rápido */
}

/* Classe para o botão "Mais Detalhes" (Animação Rápida) */
.piscando-detalhes {
  animation: piscar 1.5s infinite; /* Mais lento */
}

/* Classe para o botão "Finalizar Pedido" (Animação Lenta) */
.finalizar-pedido {
  animation: piscar 1s infinite; /* Mais lento */
}

/* ----- OPÇÃO B (ajustada) — sobe cerca de 40px e centraliza perfeitamente ----- */
.header-nav-features-dropdown .totals,
.header-nav-features-dropdown .actions {
    position: relative;
    top: -40px; /* desloca todo o bloco 40px acima */
}

.header-nav-features-dropdown .totals {
    margin: 0 10px;
    text-align: center;
}

.header-nav-features-dropdown .totals .label {
    font-weight: 600;
    margin-right: 6px;
    color: #333;
}

.header-nav-features-dropdown .totals .price-total {
    font-size: 15px;
    font-weight: bold;
    color: #111;
}

.header-nav-features-dropdown .actions {
    text-align: center;
    margin: 4px 10px 6px;
}

/* Botão centralizado e proporcional */
.header-nav-features-dropdown .actions .btn-primary {
    display: inline-block;
    margin: 0 auto;
    padding: 10px 18px;
    min-width: 200px;
    max-width: 320px;
    width: auto;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 8px;
    box-sizing: border-box;
}

.actions {
    display: flex;
    justify-content: center; /* centraliza horizontalmente */
    align-items: center;     /* alinha verticalmente (opcional) */
    margin-top: 8px;
    margin-bottom: 8px;
}

.actions .btn-primary {
    display: inline-block;
    text-align: center;
    padding: 10px 15px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 8px;
    width: auto;     /* se quiser tamanho natural */
    min-width: 160px;
    max-width: 300px;
}

/* Ajusta espaçamento das li do carrinho */
.header-nav-features-dropdown .mini-products-list .item {
    margin-bottom: 0 !important;       /* remove margem da li */
    padding-bottom: 0 !important;      /* remove padding da li */
    border-bottom: 1px solid #eee;     /* separação sutil */
}

/* Ajusta paddings internos dos detalhes do produto */
.header-nav-features-dropdown .mini-products-list .item .product-details {
    margin-bottom: 0 !important;
    padding-bottom: 4px !important;    /* dá um leve respiro interno */
}

/* Ajusta p dentro dos detalhes (nome, qtd-price) */
.header-nav-features-dropdown .mini-products-list .item .product-details p {
    margin-bottom: 2px !important;     /* reduz espaçamento vertical entre linhas */
}

/* Remove borda e espaçamento da última li */
.header-nav-features-dropdown .mini-products-list .item:last-child {
    border-bottom: none;
    margin-bottom: 0 !important;
}

/* Efeito de hover nos th da tabela do carrinho */
.ajax-cart-table th {
    transition: background-color 0.3s ease, color 0.3s ease;
    cursor: default;
}

.ajax-cart-table th:hover {
    background-color: #f8f9fa; /* fundo leve ao passar o mouse */
    color: #0d6efd;            /* cor do texto destacada */
}

/* Pequeno efeito de sombra nos ícones ao passar o mouse */
.ajax-cart-table th i {
    transition: transform 0.3s ease, color 0.3s ease;
}

.ajax-cart-table th:hover i {
    transform: scale(1.2);     /* ícone cresce levemente */
    color: #0d6efd;            /* ícone muda para cor destaque */
}

/* Corrige o comportamento visual do botão com a classe quick-view */
a.quick-view.btn {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}

/* Impede o desaparecimento ou animação ao passar o mouse no container */
.product:hover a.quick-view.btn {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
/* Neutraliza os estilos indesejados da classe quick-view, mantendo apenas a função AJAX */
a.quick-view {
  all: unset !important;
  display: inline-block !important;
  width: 100% !important;
  text-align: center !important;
  cursor: pointer !important;
}

/* Reaplica o estilo original do botão Bootstrap */
a.quick-view.btn {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
  border: 1px solid #212529 !important;
  color: #212529 !important;
  background-color: transparent !important;
  border-radius: 0.25rem !important;
  padding: 0.5rem 1rem !important;
  text-transform: uppercase !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
}

/* Hover padrão do btn-outline-dark */
a.quick-view.btn:hover {
  background-color: #212529 !important;
  color: #fff !important;
}

/* Impede desaparecimento em animações de hover no card */
.product:hover a.quick-view.btn {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
/* Neutraliza completamente qualquer estilo da classe quick-view */
.quick-view.btn {
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  z-index: auto !important;
}

/* Mantém o estilo original do botão */
.quick-view.btn.btn-outline-dark {
  color: #212529 !important;
  border-color: #212529 !important;
  background-color: transparent !important;
}

.quick-view.btn.btn-outline-dark:hover {
  background-color: #212529 !important;
  color: #fff !important;
}

/* Garante que o botão quick-view respeite o container */
.quick-view.btn {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important; /* faz o width incluir padding e border */
  margin: 0 !important;
  padding: 0.5rem 1rem !important;   /* mantém padding do btn-outline-dark */
  z-index: 2 !important;
}

/* Mantém cores e hover */
.quick-view.btn.btn-outline-dark {
  color: #212529 !important;
  border-color: #212529 !important;
  background-color: transparent !important;
}

.quick-view.btn.btn-outline-dark:hover {
  background-color: #212529 !important;
  color: #fff !important;
}

/* Remove qualquer transformação que possa vir do tema ou plugin Masonry */
.product * {
  transform: none !important;
  transition: none !important;
}

/* ==================== MOBILE: telas <= 576px ==================== */
@media (max-width: 576px) {

  /* Card principal */
  .product {
    padding: 10px !important;
    display: flex;
    flex-direction: column !important;
    align-items: center !important;
  }

  /* Div com form Qtd + botão */
  .product > form.d-flex {
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    gap: 8px;
  }

  /* Input quantidade */
  .product > form.d-flex input[type="number"] {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    font-size: 1rem !important;
  }

  /* Botão Adicionar */
  .product > form.d-flex button.addtocart-btn {
    width: 100% !important;
    font-size: 1rem !important;
    padding: 0.6rem 0 !important;
    text-align: center !important;
  }

  /* Categoria e nome do produto */
  .product h3.text-3-5,
  .product a.text-uppercase.text-decoration-none {
    text-align: center !important;
    width: 100% !important;
    font-size: 1rem !important;
  }

  /* Preço */
  .product .price {
    text-align: center !important;
    font-size: 1.1rem !important;
    width: 100% !important;
  }

  /* Botão Mais Detalhes */
  .product a.quick-view.btn {
    width: 100% !important;
    font-size: 1rem !important;
    padding: 0.6rem 0 !important;
    display: block !important;
    text-align: center !important;
  }

  /* Imagem do produto */
  .product-thumb-info-image img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin: 0 auto !important;
  }

  /* Centraliza divs internas de actions */
  .addtocart-btn-wrapper {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 8px !important;
  }

}
@media (max-width: 576px) {
    .product {
        display: flex;
        flex-direction: column !important;
        align-items: center !important;
    }

    .product form {
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        gap: 8px !important;
    }

    .product form input[type="number"],
    .product form button {
        width: 100% !important;
    }

    .product h3, 
    .product a.d-block {
        text-align: center !important;
        width: 100% !important;
    }

    .product .price {
        text-align: center !important;
        width: 100% !important;
        font-size: 1.1rem !important;
    }

    .product a.quick-view.btn {
        width: 100% !important;
        font-size: 1rem !important;
        padding: 0.6rem 0 !important;
        display: block !important;
        text-align: center !important;
    }
}
/* ======= Cards Produtos - Layout e Animação ======= */
.product {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
}

.product button.btn,
.product a.quick-view.btn {
    transition: all 0.3s ease;
}

.product button.btn:hover,
.product a.quick-view.btn:hover {
    transform: scale(1.05);
    background-color: #212529 !important;
    color: #fff !important;
}

.product a.quick-view.btn {
    margin-top: auto;
}

.product form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 8px;
}

.product form input[type="number"],
.product form button {
    width: 100% !important;
}

@media (max-width: 576px) {
    .product form {
        flex-direction: column !important;
        align-items: center !important;
    }

    .product form input[type="number"],
    .product form button {
        width: 100% !important;
    }
}

.product h3,
.product a.d-block,
.product .price {
    text-align: center;
    width: 100%;
}

/* =================== CARDS PRODUTOS =================== */
.product {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    padding: 0.5rem;
    background-color: #fff;
}

/* Preço uniforme */
.price-mobile {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 60px; /* ajustável conforme design */
    width: 100%;
    text-align: center;
}

.price-mobile .sale,
.price-mobile .amount {
    width: 100%;
    display: block;
}

/* Formulário Qtd + Botão */
form.d-flex.flex-column.flex-sm-row.align-items-center {
    width: 100%;
    gap: 0.5rem;
}

form.d-flex.flex-column.flex-sm-row.align-items-center .form-control {
    flex-grow: 1;
}

/* Botão Adicionar */
form.d-flex.flex-column.flex-sm-row.align-items-center .btn {
    flex-grow: 1;
    width: 100%;
}

/* Botão Mais Detalhes */
a.quick-view.btn {
    width: 100% !important;
    margin-top: auto;
    text-align: center;
}

/* Neutraliza efeitos da classe quick-view */
a.quick-view.btn {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    display: block !important;
    border: 1px solid #212529 !important;
    color: #212529 !important;
    background-color: transparent !important;
    border-radius: 0.25rem !important;
    padding: 0.5rem 1rem !important;
    text-transform: uppercase !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
}

a.quick-view.btn:hover {
    background-color: #212529 !important;
    color: #fff !important;
}

/* =================== RESPONSIVE MOBILE =================== */
@media (max-width: 576px) {
    /* Preço uniforme em mobile */
    .price-mobile {
        min-height: 60px;
    }

    /* Formulario Qtd + Botão: empilha vertical e ocupa 100% */
    form.d-flex.flex-column.flex-sm-row.align-items-center {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.5rem !important;
    }

    form.d-flex.flex-column.flex-sm-row.align-items-center .form-control {
        width: 100% !important;
        max-width: 100% !important;
    }

    form.d-flex.flex-column.flex-sm-row.align-items-center .btn {
        width: 100% !important;
    }

    /* Botão Mais Detalhes: ocupa largura completa */
    a.quick-view.btn {
        width: 100% !important;
    }
}


/* =======================
   CARDS PRODUTOS - MOBILE + DESKTOP
======================= */

/* Container do card */
.product {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100%;
  padding: 0.5rem;
  background-color: #fff;
  border-radius: 0.25rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* Imagem centralizada */
.product-thumb-info-image {
  text-align: center;
  margin-bottom: 0.5rem;
}

.product-thumb-info-image img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

/* Nome e categoria centralizados */
.product .text-center.flex-grow-1 {
  flex-grow: 1;
  margin-bottom: 0.5rem;
}

.product .text-center.flex-grow-1 a {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
}

.product .text-center.flex-grow-1 h3 {
  font-size: 1rem;
  margin: 0;
}

/* Preço */
.price-mobile {
  text-align: center;
  margin-bottom: 0.5rem;
}

.price-mobile .sale {
  display: block;
  font-weight: 600;
  font-size: 1.1rem;
  color: #212529;
}

.price-mobile .amount {
  display: block;
  font-size: 0.95rem;
  color: #6c757d;
}

/* Formulário Qtd + Botão Adicionar */
.product form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  width: 100%;
}

.product form .d-flex.align-items-center {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 0.5rem;
}

.product form .form-control {
  text-align: center;
  max-width: 80px;
  font-size: 0.95rem;
}

/* Botão Adicionar */
.product form button.addtocart-btn {
  width: 100%;
  font-size: 0.95rem;
  padding: 0.5rem;
  text-transform: uppercase;
}

/* Botão Mais Detalhes */
.quick-view.btn {
  display: block;
  width: 100%;
  margin-top: auto;
  text-align: center;
  font-size: 0.95rem;
  padding: 0.5rem;
  text-transform: uppercase;
  border: 1px solid #212529;
  color: #212529;
  background-color: transparent;
  border-radius: 0.25rem;
  transition: all 0.3s ease;
}

.quick-view.btn:hover {
  background-color: #212529;
  color: #fff;
}

/* =======================
   RESPONSIVE - MOBILE
======================= */
@media (max-width: 767.98px) {
  .product .text-center.flex-grow-1 a,
  .product .text-center.flex-grow-1 h3 {
    font-size: 1rem;
  }

  .price-mobile .sale {
    font-size: 1.2rem;
  }

  .price-mobile .amount {
    font-size: 1rem;
  }

  .product form .form-control {
    font-size: 1rem;
  }

  .product form button.addtocart-btn,
  .quick-view.btn {
    font-size: 1rem;
    padding: 0.6rem;
  }

  /* Centraliza tudo verticalmente e horizontalmente */
  .product form {
    flex-direction: column;
    gap: 0.5rem;
  }

  .product form .d-flex.align-items-center {
    justify-content: center;
  }
}

/* =======================
   RESPONSIVE - TABLET / SMALL
======================= */
@media (min-width: 768px) and (max-width: 991.98px) {
  .product form {
    flex-direction: row;
    gap: 0.5rem;
  }

  .product form .d-flex.align-items-center {
    justify-content: center;
  }

  .price-mobile .sale {
    font-size: 1.15rem;
  }

  .price-mobile .amount {
    font-size: 1rem;
  }
}

/* =======================
   UNIFORMIZA ALTURA DE TODOS OS CARDS
======================= */
.products .col-sm-6.col-lg-4 {
  display: flex;
}

.products .col-sm-6.col-lg-4 > .product {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Garantindo que preço, Qtd e botões fiquem uniformes */
.products .col-sm-6.col-lg-4 .price-mobile,
.products .col-sm-6.col-lg-4 form,
.products .col-sm-6.col-lg-4 .quick-view.btn {
  width: 100%;
  text-align: center;
  margin-bottom: 0.5rem;
}

.my-quantity {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  max-width: 180px;
  margin: 0 auto;
}

.my-qty {
  text-align: center;
  width: 60px;
  height: 36px;
  font-size: 1rem;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

.my-minus,
.my-plus {
  width: 36px;
  height: 36px;
  font-size: 1rem;
  font-weight: bold;
  border: 1px solid #ced4da;
  background-color: #fff;
  color: #212529;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.my-minus:hover,
.my-plus:hover {
  background-color: #212529;
  color: #fff;
  border-color: #212529;
}

/* Responsivo Mobile */
@media (max-width: 767.98px) {
  .my-qty { width: 50px; height: 40px; font-size: 1.05rem; }
  .my-minus, .my-plus { width: 40px; height: 40px; font-size: 1.05rem; }
}



