.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
  white-space: nowrap;
}

.focusable:focus {
  position: static !important;
  width: auto;
  height: auto;
  clip: auto;
  white-space: normal;
}

.home__intro {
  margin: 1rem 0;
  font-family: 'Poppins', sans-serif;
  color: #333;
}

.home__intro summary {
  cursor: pointer;
  font-weight: 600;
  color: #00796b;
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}
.home__intro summary::before {
  content: '►';
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: center;
  transition: transform .2s ease;
}
.home__intro[open] summary::before {
  transform: rotate(90deg);
}

.home__intro p {
  margin-top: .5rem;
  line-height: 1.4;
}

/* Container do slider de texto */
.home__text-slider {
  position: relative;
  overflow: hidden;
  height: 2.5rem;               /* fixa a altura igual a um texto */
  margin-bottom: 1.5rem;
  padding: 0;
  background: #f5f5f5;
  border-radius: 0.5rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  font-family: 'Poppins', sans-serif;
  color: #00796b;
  scroll-behavior: smooth;
}

/* Cada texto */
.home__text-slider .text-slide {
  display: flex;
  align-items: center;
  width: 100%;
  height: 2.5rem;
  padding: 0 1rem;
  box-sizing: border-box;
  
  font-weight: 500;
  
}

/* ==================================
   Estilos para o modo FADE
   ================================== */
.home__text-slider[data-effect="fade"] .text-slide {
  position: absolute;
  top:      0;
  left:     0;
  opacity:  0;
  transition: opacity 0.6s ease;
}

.home__text-slider[data-effect="fade"] .text-slide.active {
  opacity: 1;
}

/* ==================================
   Estilos para o modo SLIDE
   ================================== */
/* todos ficam em fluxo normal */
.home__text-slider[data-effect="slide"] .text-slide {
  position: relative;
  opacity: 1;
  transition: none;
}

/* opcional: se quiser um pequeno espaçamento, mas geralmente não precisa */
.home__text-slider[data-effect="slide"] .text-slide + .text-slide {
  margin-top: 0; /* deixar zero para empilhar sem gap */
}




    /* Estilos para o botão de fechar o modal */
.video-modal-close2 {
    position: absolute;
    top: -50px;
    right: 40px;
    color: white;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
    z-index: 1100; /* Garante que o botão de fechar fique sobre o vídeo */
    transition: color 0.3s ease;
}

.video-modal-close2:hover {
    color: #f3f3f3; /* Muda a cor do botão de fechar ao passar o mouse */
}
    
    
    
    /* Ajuste o estilo do contêiner que envolve o vídeo */
.deals__content {
    position: relative; /* Adicionando o contexto para o vídeo absoluto */
}

/* Definir o contêiner do vídeo */
.deals__video-container {
    position: absolute; /* Posição absoluta em relação ao seu contêiner pai */
    top: 1150px; /* Distância de 10px do topo */
    right: 50px; /* Distância de 10px da borda direita */
    width: 70px; /* Tamanho do vídeo */
    height: 120px; /* Tamanho do vídeo */
    border-radius: 50%; /* Faz o vídeo se encaixar dentro de uma bolinha */
    overflow: hidden; /* Garante que o vídeo não ultrapasse a bolinha */
}

/* Ajustar o vídeo para cobrir a bolinha */
.deals__video-container video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Faz o vídeo se ajustar ao tamanho da bolinha */
}
    
    
    
    
/* Container para os ícones de redes sociais dentro do modal */
.social-icons-container {
    
    
    margin-top: 20px; /* Distância do vídeo */
    position: absolute;
    bottom: 160px; /* Coloca os botões perto da parte inferior do modal */
    left: 80%;
    transform: translateX(-50%); /* Centraliza os botões horizontalmente */
}



/* Botão de Instagram dentro do modal */
.instagram-link2 {
    width: 45px;
    height: 45px;
    background-color: #ede5e6; /* Cor típica do Instagram */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    z-index: 1001;
}

.instagram-link2 img {
    width: 30px;
    height: 30px;
}



    
    
    /* Linha no meio da tela */
    
    @keyframes moveHeart {
        0% {
            transform: scale(1);
            opacity: 1;
        }
        50% {
            transform: translate(0, -70px) scale(1.5); /* Move upwards and grow */
            opacity: 0.7;
        }
        100% {
            transform: translate(0, -70px) scale(1.5); /* End position */
            opacity: 0;
        }
    }

    .heart-animation {
        position: absolute;
        font-size: 30px;
        color: #ff3860; /* Heart color */
        animation: moveHeart 3s forwards;
        z-index: 1000;
    }
    
    @keyframes moveShuffle {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: translate(0, -70px) scale(1.5); /* Move upwards and grow */
        opacity: 0.7;
    }
    100% {
        transform: translate(0, -70px) scale(1.5); /* End position */
        opacity: 0;
    }
}

.shuffle-animation {
    position: absolute;
    font-size: 30px;
    color: #00008B; /* Shuffle color */
    animation: moveShuffle 3s forwards;
    z-index: 1000;
}
  







/* Estilos para a bolinha de vídeo (botão com ícone de play) */
.video-btn {
    position: fixed;  /* Fixar a bolinha na tela */
    background-color: #00796b;
    color: white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    z-index: 10;
    overflow: hidden; /* Esconde o que ultrapassar a bolinha */
    bottom: 40px;  /* Ajuste a distância da parte inferior */
  
    transform: translateX(-50%);  /* Ajusta para que a bolinha fique centralizada */
    width: 70px;  /* Largura da bolinha */
    height: 120px; /* Altura da bolinha */
    
    /* Animação de entrada pela esquerda e saída pela direita */
    animation: slideInLeft 3s ease-out forwards, slideOutRight 3s ease-in 20s forwards;
}

/* Animação de entrada pela esquerda */
@keyframes slideInLeft {
    0% {
        opacity: 0;
        transform: translateX(-100%); /* Começa fora da tela à esquerda */
    }
    100% {
        opacity: 1;
        transform: translateX(7%); /* Posição final da bolinha */
    }
}

/* Animação de saída pela direita */
@keyframes slideOutRight {
    0% {
        opacity: 1;
        transform: translateX(1%); /* Inicia na posição de entrada */
    }
    100% {
        opacity: 0;
        transform: translateX(250%); /* A bolinha sai completamente para a direita */
    }
}




/* O vídeo estará dentro da bolinha */
.video-btn video {
    width: 100%; /* O vídeo ocupa toda a área da bolinha */
    height: 100%; /* O vídeo ocupa toda a área da bolinha */
    object-fit: cover; /* Ajusta o vídeo dentro da bolinha, cortando se necessário */
    border-radius: 50%; /* Torna a bolinha redonda */
}

/* Estilo para o ícone de Play */
.video-btn i {
    font-size: 30px;
    color: white;
}

/* Estilos para o modal de vídeo */
.video-modal {
    display: none; /* Inicialmente escondido */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); /* Escurece um pouco mais o fundo */
    justify-content: center;
    align-items: center;
    z-index: 1000;
    padding: 20px; /* Adiciona um pequeno espaçamento em volta do modal */
    box-sizing: border-box; /* Garante que o padding não afete o tamanho */
    transition: opacity 0.3s ease-in-out; /* Transição suave na opacidade */
}

/* Estilos do vídeo dentro do modal */
.video-modal video {
    width: 100%;
   
    max-width: 80%;
    max-height: 80%;
    border-radius: 17px; /* Bordas arredondadas no vídeo */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5); /* Sombra suave para destacar o vídeo */
    object-fit: contain; /* Mantém a proporção do vídeo */
}

/* Botão de fechar o modal */
.video-modal .close {
    position: absolute;
    top: 10px;
    right: 10px;
    color: white;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
    z-index: 1100; /* Garante que o botão de fechar fique sobre o vídeo */
    transition: color 0.3s ease;
}

.video-modal .close:hover {
    color: #f3f3f3; /* Muda a cor do botão de fechar ao passar o mouse */
}

/* Transições para a entrada e saída suave do modal */
.video-modal.show {
    display: flex;
    opacity: 1;
}

.video-modal.hide {
    opacity: 0;
    display: none;
}

/* Adicionando um fundo sutil de destaque para o conteúdo dentro do modal */
.video-modal .modal-content {
    position: relative;
    z-index: 1000;
}

/* Layout do modal para pequenos dispositivos (ajustando a tela em dispositivos móveis) */
@media (max-width: 768px) {
    .video-modal video {
        max-width: 90%;
        max-height: 90%;
    }
}

/* Estilos para o botão de fechar */
.video-modal .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: white;
    font-size: 30px;
    cursor: pointer;
}






@keyframes digitalizacao-entrada {
  0% {
    transform: translateX(100%); /* Começa fora da tela à direita */
    opacity: 0; /* Invisível no início */
  }
  50% {
    opacity: 1; /* Fica visível enquanto se move */
  }
  100% {
    transform: translateX(0); /* Chega à posição final */
    opacity: 1; /* Totalmente visível */
  }
}

@keyframes digitalizacao-saida {
  0% {
    transform: translateX(0); /* Começa na posição final */
    opacity: 1; /* Totalmente visível */
  }
  100% {
    transform: translateX(100%); /* Sai para a direita */
    opacity: 0; /* Torna-se invisível ao sair */
  }
}

/* Container para a bolinha de vídeo e caixa de texto */
.video-btn-container {
    position: fixed;  /* Fixar na tela */
    bottom: 20px;     /* Posição a partir do fundo */
    left: 18%;        /* Centraliza horizontalmente */
    transform: translateX(-50%);  /* Ajuste para garantir o centro */
    display: flex;
    align-items: center;  /* Alinha o conteúdo verticalmente */
    justify-content: center; /* Alinha horizontalmente */
    z-index: 10;
}


/* Caixa de texto ao lado da bolinha */
.video-text-box {
   
    color: #410404; /* Cor do texto (tom de vermelho) */
    padding: 12px 25px; /* Espaçamento interno da caixa */
    border-radius: 12px; /* Bordas arredondadas */
    font-size: 14px; /* Tamanho maior do texto */
    font-family: 'Roboto', sans-serif; /* Fonte elegante */
    line-height: 1.4; /* Espaçamento entre linhas */
    z-index: 10; /* Garantir que fique acima de outros elementos */
   
    white-space: nowrap; /* Impede que o texto quebre a linha */
  
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3); /* Sombra no texto */
    letter-spacing: 1px; /* Espaçamento entre letras */
    animation: digitalizacao-entrada 3s ease-out forwards, digitalizacao-saida 3s ease-in 8s forwards; /* Animações para entrada e saída */
    display: inline-block; /* Exibição em linha */
    position: absolute; /* Permite mover a caixa livremente */
    bottom: 80px; /* Distância da parte inferior */
    right: -273px; /* Distância da parte direita */
}



/* Alterar a cor do texto quando passar o mouse */
.video-text-box:hover {
    color: #32cd32; /* Cor verde vibrante */
    text-shadow: 2px 2px 10px rgba(255, 255, 255, 0.7); /* Mais brilho */
}

/* Texto animado */
@keyframes digitalizacao-entrada {
  0% {
    transform: translateX(80%);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes digitalizacao-saida {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}





/* Quando passar o mouse sobre o texto */
.video-text-box:hover {
    color: #222 !important; /* Cor do texto quando o mouse passa */
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.8), 0 0 25px rgba(0, 0, 0, 0.2) !important; /* Brilho ao passar o mouse */
}


.video-text-box:hover {
    color: #fff !important; /* Muda a cor do texto ao passar o mouse */
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.8), 0 0 25px rgba(0, 0, 0, 0.2) !important; /* Brilho ao passar o mouse */
}



/* Caso queira aplicar efeitos de hover, a cor do texto muda */
.video-text-box:hover {
    color: #fff !important; /* Muda a cor do texto ao passar o mouse */
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.8), 0 0 25px rgba(0, 0, 0, 0.2) !important; /* Brilho ao passar o mouse */
}






/* Exemplo de como mover para o topo e à esquerda */

/* Efeito de transição e hover */
.video-text-box:hover {
    color: #fff !important; /* Muda a cor do texto ao passar o mouse */
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.8), 0 0 25px rgba(0, 0, 0, 0.2) !important; /* Brilho ao passar o mouse */
}






/* Estilos para o modal de vídeo */
.video-modal {
    display: none; /* Inicialmente escondido */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.video-modal video {
    max-width: 80%;
    max-height: 80%;
}

/* Estilos para o botão de fechar */
.video-modal .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: white;
    font-size: 30px;
    cursor: pointer;
}




/* Linha invisível, mas ainda visível para a detecção do efeito */
.fixed-line1 {
    width: 100%;
    height: 2px;  /* Espessura da linha */
    background-color: transparent;  /* Torna a linha invisível */
    border: none;  /* Remove a borda padrão da tag <hr> */
    position: fixed;  /* Fixa a linha na tela */
    top: 350px;  /* Posiciona a linha no topo da página, ajuste conforme necessário */
    left: 0;  /* Alinha a linha à esquerda da página */
    z-index: 9999;  /* Garante que a linha fique sobre outros elementos */
    pointer-events: none;  /* Impede que a linha interaja com os eventos do mouse */
}

/* Efeito de zoom nas imagens */
.zoom {
    transform: scale(1.1);  /* Aumenta a imagem em 10% */
    transition: transform 5s ease;  /* Transição suave para o zoom */
}

/* Estilos do carrossel */
.home__carousel {
    width: 100%;
    height: 358px;
    overflow: hidden;
    position: relative;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.carousel-track {
    display: flex;
    transition: transform 0.5s ease; /* Para efeito slide */
    width: 100%;
    position: relative;
}

.carousel-item {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    position: relative;
    transform: scale(1);
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
}

/* Efeito Fade */
.carousel-item.fade-in {
    opacity: 1;
    z-index: 2;
}

/* Efeito Flip */

/* Efeito Bounce */
.carousel-item.bounce {
    animation: bounce 1s ease infinite;
}

/* Efeito de Zoom */
.zoom {
    transform: scale(1.1);
    transition: transform 5s ease;
}

/* Botões de navegação */
.carousel-button {
    position: absolute;
    top: 50%;
    color: #fff;
    border: none;
    padding: 15px;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    transform: translateY(-50%);
}

/* Animações */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-30px);
    }
    60% {
        transform: translateY(-15px);
    }
}
.carousel-button {
    position: absolute;
    top: 50%; /* Centraliza verticalmente no carrossel */
    transform: translateY(-50%); /* Ajuste para centralização */
  
    color: #fff;
    border: none;
    padding: 10px;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%; /* Botões arredondados */
   
}



.carousel-button.prev {
    left: 10px; /* Botão "Anterior" alinhado à esquerda */
}

.carousel-button.next {
    right: 10px; /* Botão "Próximo" alinhado à direita */
}
/* Estilo para os corações preenchidos */
.fi.fi-rs-heart.filled {
    color: #ff0000; /* Vermelho vibrante */
    font-size: 0.75rem; /* Tamanho do coração */
    margin: 0 3px; /* Espaçamento entre os corações */
    text-shadow: 0 0 8px rgba(255, 0, 0, 0.8), 0 0 15px rgba(255, 0, 0, 0.5); /* Brilho vermelho */
    transition: transform 0.3s, text-shadow 0.3s;
}

/* Estilo para os corações vazios */
.fi.fi-rs-heart.empty {
    color: #d3d3d3; /* Cinza para os corações vazios */
    font-size: 0.75rem;
    margin: 0 3px;
    text-shadow: 0 0 5px rgba(211, 211, 211, 0.5);
    transition: transform 0.3s, color 0.3s;
}

/* Efeito ao passar o mouse */
.fi.fi-rs-heart:hover {
    transform: scale(1.2); /* Ampliação ao passar o mouse */
    text-shadow: 0 0 10px rgba(255, 0, 0, 1), 0 0 20px rgba(255, 0, 0, 0.8);
}


/* Estilos gerais para o cabeçalho */
/*.header {*/
    /*font-family: Arial, sans-serif; /* Fonte padrão */
    /*color: #333; /* Cor do texto */
/*}

/* Estilos gerais para o cabeçalho com prefixo lbm */

/* Estilização da navegação com prefixo lbm */

/*.lbm-nav__item {
    margin: 0 20px; /* Espaçamento entre itens do menu */
/*}

/*.lbm-nav__link {
  /*  text-decoration: none; /* Remove sublinhado dos links */
  /*  color: #333; /* Cor do texto dos links */
   /* font-weight: bold; /* Negrito para o texto dos links */
   /* position: relative; /* Posicionamento relativo para estilização do submenu */
/*}

/* Estilos para o submenu com prefixo lbm */
/*.lbm-nav__item--has-children {
   /* position: relative; /* Posicionamento relativo para acomodar o submenu */
/*}

/*.lbm-nav__submenu {
   /* display: block; /* Altera para 'block' para permitir transição */
   /* opacity: 0; /* Começa invisível */
   /* visibility: hidden; /* Mantém o submenu oculto inicialmente */
   /* position: absolute; /* Posicionamento absoluto em relação ao item pai */
    /*background-color: #f9f9f9; /* Cor de fundo do submenu */
    /*box-shadow: 0 8px 16px rgba(0,0,0,0.2); /* Sombra para o submenu */
   /* z-index: 1000; /* Garante que o submenu fique sobre outros elementos */
   /* width: 200px; /* Largura do submenu */
   /* padding: 10px 0; /* Padding vertical para o submenu */
    /*transition: opacity 0.5s ease, visibility 0.5s; /* Suaviza a transição de opacidade e visibilidade */
/*}

.lbm-nav__submenu li {
    padding: 8px 20px; /* Padding para cada item do submenu */
/*}

.lbm-nav__submenu li a {
    color: #666; /* Cor do texto dos links do submenu */
    /*display: block; /* Faz com que o link ocupe toda a área do item */
/*}

/* Efeito de hover para mostrar o submenu com prefixo lbm */
/*.lbm-nav__item--has-children:hover .lbm-nav__submenu {
    /*opacity: 1; /* Torna o submenu visível ao passar o mouse */
    /*visibility: visible; /* Torna o submenu visível */
/*}

/* Efeitos adicionais com prefixo lbm */
/*.lbm-nav__link:hover, .lbm-nav__submenu li a:hover {
   /* color: #000; /* Escurece o texto ao passar o mouse */
/*}

/* Estilos responsivos para dispositivos móveis com prefixo lbm */
/*@media (max-width: 768px) {

    .lbm-nav__item {
        margin: 10px 0; /* Espaçamento vertical em telas menores */
    /*}
/*}
/* Geral */
.newsletter {
  padding: 0.5rem;
  text-align: center;
}

.newsletter__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
  word-wrap: break-word;
  overflow: visible;
}

.newsletter__title {
  font-size: 1.6rem;
  line-height: 1.6;
  /*margin-bottom: 1rem;*/
  text-align: center;
}

.newsletter__description {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  text-align: center;
  padding: 0 1rem; /* Adiciona espaço interno para telas menores */
}

/* Formulário */
.newsletter__form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.newsletter__input {
  padding: 0.8rem;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 5px;
  width: 100%;
  max-width: 300px;
}

.newsletter__btn {
  padding: 0.8rem 1.5rem;
  font-size: 0.7rem;
  background-color: hsl(176, 88%, 27%);
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.newsletter__btn:hover {
  background-color: #e5533c;
}

/* Responsividade para dispositivos móveis */
@media (max-width: 768px) {
  .newsletter__title {
    font-size: 0.90rem; /* Título menor */
  }

  .newsletter__description {
    font-size: 1rem;
    line-height: 1.4;
    padding: 0 1rem; /* Espaço interno nas laterais */
  }

  .newsletter__input,
  .newsletter__btn {
    /*width: 100%; /* Campo e botão ocupam toda a largura */
    max-width: none; /* Remove limite de largura */
  }
}

 .video-text-box span {
        font-weight: bold; /* Torna o texto em negrito */
        color: #e24aa1; /* Cor azul */
        font-size: 14px; /* Tamanho do texto */
        text-shadow: 1px 1px 2px #000; 
    }

    /* Seção principal */
    .newsletter__success-message,
    .newsletter__error-message {
      display: none; /* começam ocultas */
    }

    /* Seção do cupom */
    #couponContainer {
      margin-top: 10px;
      display: none; /* será exibido via JS quando houver cupom */
      text-align: center;
    }
    #couponCode {
      display: inline-block;
      background-color: #f0f0f0;
      border: 2px dashed #4caf50;
      color: #4caf50;
      font-size: 20px;
      font-weight: bold;
      padding: 10px;
      margin: 10px auto;
      border-radius: 5px;
    }

    /* Botão “Copiar Cupom” */
    #copyButton {
      background-color: #4caf50;
      color: #ffffff;
      padding: 10px 20px;
      border-radius: 5px;
      border: none;
      font-weight: bold;
      cursor: pointer;
      transition: background-color 0.3s ease, box-shadow 0.3s ease;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
      margin-top: 10px;
    }
    #copyButton:hover {
      background-color: #43a047;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    }

@media (max-width: 768px) {
    .desktop-carousel {
        display: none;
    }
}
@media (min-width: 769px) {
    .mobile-carousel {
        display: none;
    }
}

 /* ===== só dentro da aba #promocoes ===== */
  #promocoes .promo-card{
    border:1px solid #fde68a; border-radius:18px; overflow:hidden;
    box-shadow:0 10px 22px rgba(0,0,0,.06); transition:.25s ease;
    background:#fff;
  }
  #promocoes .promo-card:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(0,0,0,.10); }

  #promocoes .product__banner{ position:relative; }
  #promocoes .product__images .product__img{ transition: transform .35s ease; }
  #promocoes .promo-card:hover .product__images .product__img.default{ transform: scale(1.03); }

  #promocoes .product__badge.light-pink{
    background: linear-gradient(135deg,#ff6aa2,#ef5da8);
    color:#fff; padding:.28rem .65rem; border-radius:999px;
    position:absolute; top:10px; left:10px; font-size:.8rem; font-weight:700;
  }
  #promocoes .discount-badge{
    position:absolute; top:10px; right:10px; padding:.28rem .65rem;
    border-radius:999px; font-size:.8rem; font-weight:800; color:#fff;
    background:linear-gradient(135deg,#16a34a,#10b981);
  }

  #promocoes .price-row{ display:flex; align-items:baseline; gap:.5rem; margin-top:.35rem; }
  #promocoes .price-row .old__price{ text-decoration:line-through; color:#94a3b8; }
  #promocoes .price-row .new__price{ color:#16a34a; font-weight:900; font-size:1.2rem; }

  #promocoes .save-chip{
    display:inline-block; margin-top:.25rem; font-size:.78rem; font-weight:700;
    color:#0f766e; background:#d1fae5; padding:.25rem .5rem; border-radius:8px;
  }
  #promocoes .promo-note{ font-size:.78rem; color:#64748b; margin-top:.25rem; }

  #promocoes .tag-row{ display:flex; gap:.35rem; margin-top:.35rem; }
  #promocoes .tag{ font-size:.72rem; background:#f1f5f9; color:#0f172a; padding:.22rem .45rem; border-radius:6px; }

  #promocoes .btn-promo{
    display:inline-block; margin-top:.5rem; padding:.55rem .9rem; border-radius:10px;
    background:linear-gradient(135deg,#f59e0b,#f97316); color:#fff; font-weight:800; text-decoration:none;
    box-shadow:0 6px 12px rgba(249,115,22,.25); transition:.25s ease;
  }
  #promocoes .btn-promo:hover{ filter:brightness(1.05); transform: translateY(-1px); }
  #promocoes .countdown{ font-size:.78rem; color:#475569; margin-top:.25rem; }
  
  
  /* Só na aba de promoções */
  #promocoes .pulse-badge{
    animation: promoPulse 1.6s ease-in-out infinite;
    box-shadow: 0 0 0 0 rgba(239,93,168,.55);
    will-change: transform, box-shadow;
  }
  @keyframes promoPulse{
    0%   { transform: scale(1);   box-shadow:0 0 0 0   rgba(239,93,168,.55); }
    70%  { transform: scale(1.06);box-shadow:0 0 0 12px rgba(239,93,168,0); }
    100% { transform: scale(1);   box-shadow:0 0 0 0   rgba(239,93,168,0); }
  }
  /* acessibilidade: reduz animação se o usuário pediu menos movimento */
  @media (prefers-reduced-motion: reduce){
    #promocoes .pulse-badge{ animation:none; }
  } 
  
  
  
  /* =========================
   PROMO CARD — visual pro
   ========================= */

/* card */
.product__item.promo-card{
  border:1px solid #e8eef5;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(2,6,23,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product__item.promo-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(2,6,23,.10);
  border-color:#dbe7ff;
}

/* imagem */
.promo-card .product__banner{
  position:relative;
  overflow:hidden;
  border-radius:16px;
}
.promo-card .product__img{
  transition:transform .35s ease;
}
.promo-card:hover .product__img.hover{
  transform:scale(1.03);
}

/* ===================== PROMOÇÃO — VISUAL PRO (compacto) ===================== */

/* Paleta */
:root{
  --promo-pink-1:#1a73e8;
  --promo-pink-2:#ff4d6d;
  --promo-green-1:#22c55e;
  --promo-green-2:#16a34a;
  --promo-blue-1:#0ea5e9;
  --promo-blue-2:#3b82f6;
  --promo-blue-3:#2563eb;
}

/* Necessário para posicionar os selos dentro do card */
.product__banner{ position:relative; }

/* Selo “Promoção” (compacto) */
.product__banner .product__badge.pulse-badge{
  position:absolute; top:12px; left:12px; z-index:2;
  display:inline-flex; align-items:center; gap:.35rem; line-height:1;
  padding:6px 10px 6px 9px;                 /* menor */
  border-radius:14px;                       /* pílula compacta */
  background: radial-gradient(120% 140% at 0% 0%, #ff98c8 0%, var(--promo-pink-1) 35%, var(--promo-pink-2) 100%);
  color:#fff; font-weight:800; letter-spacing:.2px; font-size:.78rem; /* menor */
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 12px 26px rgba(255,77,109,.28), inset 0 1px 0 rgba(255,255,255,.35);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  animation:promoPulse 2.6s ease-in-out infinite;
}
.product__banner .product__badge.pulse-badge::before{
  content:""; width:14px; height:14px; flex:0 0 14px; /* menor */
  background:center/contain no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M13 2l-2 6h4l-4 8 1-5H8l5-9z'/%3E%3C/svg%3E");
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.15));
}
/* aro/brilho suave */
.product__banner .product__badge.pulse-badge::after{
  content:""; position:absolute; inset:-2px; border-radius:inherit; pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,.6), rgba(255,255,255,0) 40%, rgba(255,255,255,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; opacity:.35;
}
@keyframes promoPulse{
  0%,100%{ box-shadow:0 12px 26px rgba(255,77,109,.28), 0 0 0 0 rgba(255,77,109,0); }
  50%{     box-shadow:0 12px 26px rgba(255,77,109,.28), 0 0 0 10px rgba(255,77,109,.14); }
}
@media (prefers-reduced-motion: reduce){
  .product__banner .product__badge.pulse-badge{ animation:none; }
}

/* Bolha do %-OFF (compacta) */
.product__banner .discount-badge{
  position:absolute; top:12px; right:12px; z-index:2;
  display:inline-flex; align-items:center; gap:.35rem;
  padding:5px 9px; border-radius:14px;                 /* menor */
  background:linear-gradient(135deg,var(--promo-green-1),var(--promo-green-2));
  color:#fff; font-weight:900; font-size:.75rem;       /* menor */
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 10px 22px rgba(22,163,74,.25), inset 0 1px 0 rgba(255,255,255,.25);
  font-variant-numeric: tabular-nums;
}
.product__banner .discount-badge::before{
  content:""; width:12px; height:12px;                 /* menor */
  background:center/contain no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 3l4 4h-3v7h-2V7H8l4-4z'/%3E%3C/svg%3E");
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.12));
}

/* Linha de preços — mantém cards alinhados em altura */
.promo-card .price-row,
.product__price.price--promo{
  display:flex; align-items:center; gap:10px;
  margin:6px 0 2px; min-height:48px;       /* padroniza altura dos cards */
  font-variant-numeric: tabular-nums;
}
.promo-card .old__price,
.price--promo .de-line{
  color:#94a3b8; text-decoration:line-through; font-weight:600;
}
.promo-card .new__price,
.price--promo .por-line{
  color:#16a34a; font-weight:900; font-size:1.05rem;
}

/* Versão empilhada “de … por …” (se usar .price--stack) */
.product__price.price--stack{ display:flex; flex-direction:column; gap:.2rem; align-items:flex-start; }

/* Chip “Economize” */
.promo-card .save-chip{
  display:inline-block; margin-top:4px; padding:4px 10px; border-radius:999px;
  background:#ecfdf5; color:#047857; font-weight:700; font-size:.86rem;
  border:1px solid #a7f3d0;
}

/* Botão “Aproveitar” */
.promo-card .btn-promo{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  margin-top:10px; height:42px; border-radius:12px; font-weight:800;
  color:#fff; text-decoration:none; letter-spacing:.2px;
  background:linear-gradient(90deg,var(--promo-blue-1),var(--promo-blue-2),var(--promo-blue-3));
  background-size:200% 100%;
  box-shadow:0 12px 26px rgba(37,99,235,.25), inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .15s ease, box-shadow .15s ease, background-position .4s ease;
}
.promo-card .btn-promo:hover{
  background-position:100% 0; transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(37,99,235,.30), inset 0 1px 0 rgba(255,255,255,.25);
}
.promo-card .btn-promo:active{ transform:translateY(0); }
.promo-card .btn-promo:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(37,99,235,.35), 0 12px 26px rgba(37,99,235,.25);
}

.countdown {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 10px;
  /*background: #fff1f2;*/
  color: #be123c;
  font-weight: 700;
  font-size: .82rem;
  /*border: 1px solid #fecdd3;*/
  min-height: 36px;
  line-height: 1;
}

.countdown::before {
  content: "🕒";
  font-size: .95rem;
  line-height: 1;
}

.countdown.is-ended {
  background: #f3f4f6;
  color: #6b7280;
  border-color: #e5e7eb;
}

.countdown.is-ended::before {
  content: "⏰";
}
/* Dark mode opcional */
@media (prefers-color-scheme: dark){
  .promo-card .save-chip{ background:#042f2e; color:#a7f3d0; border-color:#065f46; }
  .countdown{ background:#3f1d20; color:#fecdd3; border-color:#7f1d1d; }
}


.showcase__item{ position:relative; }

/* container dos badges (fora da foto, canto direito do card) */
.showcase__item .promo-badges{
  position:absolute; top:8px; right:8px; z-index:5;
  display:flex; flex-direction:column; gap:6px;
  align-items:flex-end;
}

/* selo rosa — compacto */
.showcase__item .promo-badges .product__badge.pulse-badge{
  position:static;
  display:inline-flex; align-items:center; gap:.45rem; line-height:1;
  padding:6px 10px 6px 9px;                /* ↓ menor */
  border-radius:14px;                       /* ↓ menos oval */
  background:radial-gradient(120% 140% at 0% 0%,
              #ff98c8 0%, var(--promo-pink-1,#ff7ab6) 35%, var(--promo-pink-2,#ff4d6d) 100%);
  color:#fff; font-weight:800; letter-spacing:.2px; font-size:.78rem;  /* ↓ menor */
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 8px 18px rgba(255,77,109,.22), inset 0 1px 0 rgba(255,255,255,.25);
  white-space:nowrap;                       /* evita quebrar linha */
}
.showcase__item .promo-badges .product__badge.pulse-badge::before{
  content:"";
  width:14px; height:14px; flex:0 0 14px;  /* ↓ menor */
  margin-right:2px;
  background:center/contain no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M13 2l-2 6h4l-4 8 1-5H8l5-9z'/%3E%3C/svg%3E");
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.15));
}

/* bolha verde do % — compacta */
.showcase__item .promo-badges .discount-badge{
  position:static;
  padding:6px 10px;                         /* ↓ menor */
  border-radius:14px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff; font-weight:900; font-size:.72rem;   /* ↓ menor */
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 18px rgba(22,163,74,.20), inset 0 1px 0 rgba(255,255,255,.2);
  font-variant-numeric:tabular-nums;
  text-align:center;
  line-height:1;
  white-space:nowrap;                        /* evita quebrar linha */
}

/* ainda menores em telas pequenas */
@media (max-width:520px){
  .showcase__item .promo-badges{ top:6px; right:6px; gap:4px; }
  .showcase__item .promo-badges .product__badge.pulse-badge{
    font-size:.72rem; padding:5px 8px 5px 7px; border-radius:12px;
  }
  .showcase__item .promo-badges .product__badge.pulse-badge::before{
    width:12px; height:12px; flex-basis:12px;
  }
  .showcase__item .promo-badges .discount-badge{
    font-size:.68rem; padding:5px 8px; border-radius:12px;
  }
}

.home-main-shell {
  position: relative;
  display: inline-block;
  padding: 0;
  border-radius: 999px;
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: visible;
  z-index: 0; /* base pro confete */
}

.home-main-text {
  position: relative;
  z-index: 1;
}

.home-main-title,
.home-main-subtitle,
.home-main-badge {
  display: none !important;
}

.home-main-badge-dot {
  display: none !important;
}

.home-main-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.9rem 1.8rem;
  font-weight: 600;
  border-width: 1px;
  border-style: solid;
  text-decoration: none;
  transition:
    transform .15s ease-out,
    box-shadow .15s ease-out,
    filter .15s ease-out;
  z-index: 1; /* fica acima do confete */
}

.home-main-btn-icon,
.home-main-btn-arrow {
  font-size: 1.1rem;
}

.home-main-btn-label {
  display: inline-block;
}

.home-main-btn:hover {
  transform: translateY(-1px) scale(1.01);
  box-shadow: 0 18px 40px rgba(248,250,252,0.25);
  filter: brightness(1.05);
}

.home-main-btn:hover .home-main-btn-arrow {
  transform: translateX(3px);
}

/* Confete de fundo */
.home-confetti-on::before {
  content: '';
  position: absolute;
  inset: -40%;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(248,250,252,.65) 0 2px, transparent 3px),
    radial-gradient(circle at 80% 10%, rgba(251,191,36,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 20% 80%, rgba(56,189,248,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 70%, rgba(244,114,182,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 40% 30%, rgba(34,197,94,.9) 0 2px, transparent 3px);
  opacity: .7;
  animation: home-confetti-drift 10s linear infinite;
  mix-blend-mode: screen;
  z-index: 0;
}

@keyframes home-confetti-drift {
  0%   { transform: translate3d(0,-8px,0) rotate(0deg); }
  50%  { transform: translate3d(-12px,8px,0) rotate(180deg); }
  100% { transform: translate3d(10px,-6px,0) rotate(360deg); }
}

/* Glow */
.home-glow-on .home-main-btn {
  box-shadow: 0 0 28px rgba(251,191,36,.6);
}




.card-buy-btn {
  display: block;
  /*width: 100%;*/
  margin-top: 10px;
  padding: 10px 16px;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  transition: 0.25s ease;
  box-shadow: 0 6px 14px rgba(15,23,42,0.12);
}

.card-buy-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 12px 20px rgba(15,23,42,0.18);
}

.card-btn-glow {
  box-shadow: 0 0 22px rgba(250,204,21,.45);
}

.card-btn-confetti {
  position: relative;
  overflow: visible;
}

.card-btn-confetti::before {
  content:'';
  position:absolute;
  inset:-60%;
  pointer-events:none;
  background-image:
    radial-gradient(circle, #fff 0 2px, transparent 3px),
    radial-gradient(circle, #ffcc00 0 2px, transparent 3px),
    radial-gradient(circle, #f97316 0 2px, transparent 3px),
    radial-gradient(circle, #ec4899 0 2px, transparent 3px);
  opacity:.8;
  animation: cardConfettiMove 10s linear infinite;
}

@keyframes cardConfettiMove {
  0% { transform: translate3d(0,-10px,0) rotate(0deg); }
  50% { transform: translate3d(-10px,10px,0) rotate(180deg); }
  100% { transform: translate3d(10px,-10px,0) rotate(360deg); }
}





.card-buy-btn {
  text-decoration: none;
  text-align: center;
  transition: 0.25s ease;
  box-shadow: 0 6px 14px rgba(15,23,42,0.12);
  border: 1px solid transparent;
}

.card-buy-btn-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.card-buy-btn-icon {
  font-size: 1.1em;
}

.card-buy-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 12px 20px rgba(15,23,42,0.18);
}

/* Glow */
.card-btn-glow {
  box-shadow: 0 0 22px rgba(250,204,21,.45);
}

/* Confete */
.card-btn-confetti {
  position: relative;
  overflow: visible;
}

.card-btn-confetti::before {
  content:'';
  position:absolute;
  inset:-60%;
  pointer-events:none;
  background-image:
    radial-gradient(circle, #fff 0 2px, transparent 3px),
    radial-gradient(circle, #ffcc00 0 2px, transparent 3px),
    radial-gradient(circle, #f97316 0 2px, transparent 3px),
    radial-gradient(circle, #ec4899 0 2px, transparent 3px);
  opacity:.8;
  animation: cardConfettiMove 10s linear infinite;
}

@keyframes cardConfettiMove {
  0% { transform: translate3d(0,-10px,0) rotate(0deg); }
  50% { transform: translate3d(-10px,10px,0) rotate(180deg); }
  100% { transform: translate3d(10px,-10px,0) rotate(360deg); }
}

/* Animações de atenção */
.card-btn-anim-pulse {
  animation: cardBtnPulse 1.6s infinite;
}

@keyframes cardBtnPulse {
  0%   { transform: scale(1);   box-shadow: 0 0 0 rgba(248, 250, 252, 0.0); }
  50%  { transform: scale(1.03); box-shadow: 0 0 20px rgba(248, 250, 252, 0.5); }
  100% { transform: scale(1);   box-shadow: 0 0 0 rgba(248, 250, 252, 0.0); }
}

.card-btn-anim-bounce {
  animation: cardBtnBounce 1.4s infinite;
}

@keyframes cardBtnBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

.card-btn-anim-wiggle {
  animation: cardBtnWiggle 0.6s ease-in-out infinite;
}

@keyframes cardBtnWiggle {
  0%   { transform: rotate(0deg); }
  25%  { transform: rotate(-2deg); }
  50%  { transform: rotate(2deg); }
  75%  { transform: rotate(-1deg); }
  100% { transform: rotate(0deg); }
}



/* Pill básica do texto do vídeo */
.video-text-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.45rem .9rem;
  border-radius:999px;
  font-weight:600;
  line-height:1.1;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(15,23,42,.18);
}

/* Glow opcional */
.video-text-glow{
  box-shadow:
    0 0 18px rgba(251,191,36,.5),
    0 10px 24px rgba(15,23,42,.25);
}

/* Confete opcional ao redor da pill */
.video-text-confetti{
  position:relative;
  overflow:visible;
}

.video-text-confetti::before{
  content:'';
  position:absolute;
  inset:-80%;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(248,250,252,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 80% 10%, rgba(251,191,36,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 15% 85%, rgba(56,189,248,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 75% 75%, rgba(244,114,182,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 40% 30%, rgba(34,197,94,.95) 0 2px, transparent 3px);
  opacity:.7;
  animation: videoTextConfettiMove 12s linear infinite;
  mix-blend-mode:screen;
}

@keyframes videoTextConfettiMove{
  0%   { transform:translate3d(0,-12px,0) rotate(0deg); }
  50%  { transform:translate3d(-14px,10px,0) rotate(190deg); }
  100% { transform:translate3d(12px,-10px,0) rotate(360deg); }
}

/* ==================================================
   HEADER NOVO - LOOK BY MAISA
   COLAR NO FINAL DO styles_index.css
   ================================================== */



.lbm-header {
  position: sticky;
  top: 0;
  z-index: 140;
  background: #ffffff;
  transform: translateY(0);
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    background-color 0.28s ease;
  will-change: transform;
}

/* faixa superior */
.lbm-topline {
  background: #c8bbb2;
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
}

.lbm-topline__inner {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}

.lbm-topline__divider {
  opacity: 0.75;
}

/* linha utilitária */
.lbm-utility {
  background: #ffffff;
  border-bottom: 1px solid #f0e9e4;
}

.lbm-utility__inner {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.lbm-utility__left,
.lbm-utility__right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lbm-utility__left a,
.lbm-utility__left span,
.lbm-utility__right a {
  color: #8d8179;
  font-size: 0.82rem;
  transition: all 0.25s ease;
}

.lbm-utility__left a:hover,
.lbm-utility__right a:hover {
  color: #5d4f48;
}

/* navegação principal */
.nav.lbm-nav {
  min-height: auto;
  height: auto;
  background: #ffffff;
  display: block;
}

.lbm-nav__main {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto minmax(250px, 1fr);
  align-items: center;
  gap: 24px;
  padding: 22px 0 18px;
}

/* marca central */
.nav__logo.lbm-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-self: center;
  text-align: center;
  color: #9d8f87;
  line-height: 1;
}

.lbm-brand__by {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  letter-spacing: 0.28em;
  text-transform: lowercase;
  margin-bottom: 3px;
}

.lbm-brand__name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3vw, 3.25rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #9b8d85;
  text-transform: uppercase;
}

/* busca */
.lbm-search {
  width: 100%;
  max-width: 320px;
  margin: 0;
  position: relative;
}

.lbm-search form {
  position: relative;
}

.lbm-search__input.form__input {
  width: 100%;
  height: 56px;
  border: 1px solid #d9cfc8;
  border-radius: 10px;
  background: #fff;
  color: #6d6059;
  font-size: 1rem;
  padding: 0 56px 0 20px;
  box-shadow: none;
}

.lbm-search__input.form__input::placeholder {
  color: #a99d96;
}

.lbm-search__btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  min-width: 40px;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ações direita */
.header__user-actions.lbm-actions {
  justify-content: flex-end;
  column-gap: 16px;
}

.lbm-action-btn {
  width: 46px;
  height: 46px;
  border: 1px solid #e5dbd4;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  transition: all 0.25s ease;
}

.lbm-action-btn:hover {
  transform: translateY(-1px);
  border-color: #cfc1b8;
  box-shadow: 0 8px 18px rgba(120, 97, 84, 0.08);
}

.lbm-action-btn img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.lbm-action-btn .count {
  position: absolute;
  top: -4px;
  right: -4px;
  background-color: #a19087;
  color: #fff;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 50%;
  text-align: center;
  font-size: 0.7rem;
}

/* menu desktop embaixo */
.lbm-menu-bar {
  border-top: 1px solid #f2ebe6;
  background: #cabeb6;
}

.lbm-menu-bar__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  min-height: 64px;
  margin: 0;
  padding: 0;
}

.lbm-menu-bar__list .nav__link {
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: all 0.25s ease;
}

.lbm-menu-bar__list .nav__link:hover,
.lbm-menu-bar__list .active-link {
  color: #ffffff;
  opacity: 0.82;
}

/* botão mobile */
.lbm-mobile-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid #e5dbd4;
  border-radius: 10px;
  background: #fff;
  justify-content: center;
  align-items: center;
}

.lbm-mobile-toggle img {
  width: 22px;
  height: 22px;
}

/* painel do menu mobile */
.lbm-menu-panel {
  display: none;
}

.lbm-menu-top {
  display: none;
}

.lbm-menu-search {
  display: none;
}

/* ============ TABLET / MOBILE ============ */
@media screen and (max-width: 1200px) {
  .lbm-topline__inner {
    font-size: 0.74rem;
    padding: 0 10px;
  }

  .lbm-utility {
    display: none;
  }

  .lbm-menu-bar {
    display: none;
  }

  .nav.lbm-nav {
    padding: 0;
  }

 .lbm-nav__main {
  grid-template-columns: 48px 1fr auto;
  gap: 12px;
  padding: 16px 0 12px;
}

.header__user-actions.lbm-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 8px;
}

  .lbm-mobile-toggle {
    display: inline-flex;
    justify-self: start;
  }

  .nav__logo.lbm-brand {
    grid-column: 2;
    grid-row: 1;
  }

  .lbm-brand__by {
    font-size: 0.8rem;
    letter-spacing: 0.2em;
  }

  .lbm-brand__name {
    font-size: clamp(1.7rem, 7vw, 2.5rem);
    letter-spacing: 0.06em;
  }

  .header__user-actions.lbm-actions {
    grid-column: 3;
    grid-row: 1;
    justify-content: end;
    gap: 0;
  }

  .lbm-actions a:not(.lbm-cart-btn) {
    display: none;
  }

  .lbm-search {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: 100%;
    margin-top: 4px;
  }

  .lbm-search__input.form__input {
    height: 54px;
    border-radius: 8px;
  }

  .nav__menu.lbm-menu-panel {
    display: block;
    position: fixed;
    right: -100%;
    top: 0;
    max-width: 360px;
    width: 100%;
    height: 100%;
    padding: 22px 18px 26px;
    background-color: #ffffff;
    z-index: 100;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 2rem;
    box-shadow: -10px 0 30px rgba(57, 41, 32, 0.12);
    transition: all 0.35s ease;
    margin-left: 0;
  }

  .show-menu {
    right: 0;
  }

  .nav__menu-top.lbm-menu-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0.25rem;
    padding-bottom: 18px;
    border-bottom: 1px solid #eee5de;
  }

  .lbm-brand--menu {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .lbm-brand--menu .lbm-brand__name {
    font-size: 2rem;
  }

  .nav__close.lbm-menu-close {
    width: 42px;
    height: 42px;
    border: 1px solid #e8ddd6;
    border-radius: 10px;
    color: #8d8078;
    font-size: 1.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .nav__list.lbm-menu-list {
    order: 1;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 0;
    width: 100%;
  }

  .lbm-menu-list .nav__item {
    width: 100%;
    border-bottom: 1px solid #f1e9e3;
  }

  .lbm-menu-list .nav__link {
    display: block;
    width: 100%;
    padding: 14px 2px;
    font-size: 0.98rem;
    color: #6f625b;
    font-weight: 500;
  }

  .lbm-menu-list .nav__link:hover,
  .lbm-menu-list .active-link {
    color: #4f433d;
  }

  .lbm-menu-search {
    display: block;
    margin-top: 18px;
    width: 100%;
  }

  .lbm-menu-search .form__input {
    width: 100%;
  }
}

@media screen and (max-width: 576px) {
  .lbm-topline__inner {
    min-height: 42px;
    font-size: 0.7rem;
    line-height: 1.2;
    gap: 6px;
  }

  .lbm-topline__divider {
    display: none;
  }

  .lbm-brand__name {
    font-size: 1.9rem;
  }

  .lbm-search__input.form__input {
    font-size: 0.94rem;
  }
}


/* =========================================
   TEXT SLIDER NO HEADER - AJUSTE DESKTOP
   ========================================= */

.lbm-topline {
  background: #c8bbb2;
  color: #ffffff;
  overflow: hidden;
}

.lbm-topline__inner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 20px;
}

.lbm-topline__fixed {
  flex: 0 0 auto;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.home__text-slider.lbm-topline-slider {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  max-width: 1200px;
  height: 42px;
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
  scroll-behavior: smooth;
  overflow: hidden;
}

.home__text-slider.lbm-topline-slider .text-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 42px;
  padding: 0 12px;
  font-size: 0.80rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* fade */
.home__text-slider.lbm-topline-slider[data-effect="fade"] .text-slide {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.home__text-slider.lbm-topline-slider[data-effect="fade"] .text-slide.active {
  opacity: 1;
}

/* slide */
.home__text-slider.lbm-topline-slider[data-effect="slide"] .text-slide {
  position: relative;
  opacity: 1;
  transition: none;
}

/* DESKTOP */
@media screen and (min-width: 769px) {
  .lbm-topline__inner {
    justify-content: center;
  }

  .home__text-slider.lbm-topline-slider {
    max-width: 100%;
  }

  .home__text-slider.lbm-topline-slider .text-slide {
    font-size: 0.82rem;
    letter-spacing: 0.01em;
  }
}

/* MOBILE */
@media screen and (max-width: 768px) {
  .lbm-topline__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 6px 8px;
  }

  .lbm-topline__fixed {
    font-size: 0.72rem;
  }

  .home__text-slider.lbm-topline-slider {
    height: 32px;
  }

  .home__text-slider.lbm-topline-slider .text-slide {
    height: 32px;
    font-size: 0.72rem;
    white-space: normal;
    text-overflow: initial;
    overflow: visible;
  }
}


/* ===== Linha utilitária do header ===== */
.lbm-utility {
  background: #fff;
  border-bottom: 1px solid #ece4de;
}

.lbm-utility__inner {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.lbm-utility__left,
.lbm-utility__right {
  display: flex;
  align-items: center;
}

.lbm-utility__left {
  gap: 22px;
  flex-wrap: wrap;
}

.lbm-utility__right {
  gap: 22px;
}

.lbm-utility__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #8f8179;
  font-size: 0.82rem;
  line-height: 1;
  transition: all 0.25s ease;
}

.lbm-utility__item:hover {
  color: #5f5149;
}

.lbm-utility__icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  opacity: 0.8;
}

.lbm-utility__socials {
  display: flex;
  align-items: center;
  gap: 14px;
}

.lbm-utility__socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
}

.lbm-utility__socials a:hover {
  transform: translateY(-1px);
  opacity: 0.85;
}

.lbm-utility__social-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  opacity: 0.8;
}

.lbm-utility__login {
  color: #8f8179;
  font-size: 0.82rem;
  transition: all 0.25s ease;
}

.lbm-utility__login:hover {
  color: #5f5149;
}

@media screen and (max-width: 1200px) {
  .lbm-utility {
    display: none;
  }
}

/* =========================================
   MENU LATERAL MOBILE - ESTILO REFERÊNCIA
   ========================================= */

@media screen and (max-width: 1200px) {
  .nav__menu.lbm-menu-panel {
    display: block;
    position: fixed;
    top: 0;
    left: -100%;
    right: auto;
    width: min(440px, 92vw);
    height: 100vh;
    background: #f3ece8;
    z-index: 9999;
    box-shadow: 18px 0 40px rgba(0, 0, 0, 0.18);
    transition: left 0.35s ease;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    border-right: 1px solid #e1d7d0;
  }

  .nav__menu.lbm-menu-panel.show-menu {
    left: 0;
  }

  .lbm-menu-top {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    padding: 0 22px;
    background: #a99a90;
    border-bottom: 1px solid rgba(255,255,255,0.12);
    margin: 0;
  }

  .lbm-mobile-login {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
  }

  .lbm-mobile-login i {
    font-size: 1.1rem;
  }

  .nav__close.lbm-menu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #ffffff;
    font-size: 1.5rem;
    background: transparent;
    border: none;
  }

  .lbm-mobile-menu-body {
    padding: 1px 0 26px;
  }

  .nav__list.lbm-menu-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0 0 8px;
  }

  .lbm-menu-list .nav__item {
    width: 100%;
    margin: 0;
    border: 0;
  }

  .lbm-menu-list .nav__link,
  .lbm-mobile-group summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 8px 28px;
    color: #31343b;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.35;
    cursor: pointer;
  }

  .lbm-menu-list .nav__item:first-child .nav__link {
    font-weight: 500;
    letter-spacing: 0.01em;
  }

  .lbm-mobile-group {
    width: 100%;
  }

  .lbm-mobile-group summary {
    list-style: none;
  }

  .lbm-mobile-group summary::-webkit-details-marker {
    display: none;
  }

  .lbm-mobile-group summary::after {
    content: "⌄";
    font-size: 1rem;
    color: #4a4d52;
    transition: transform 0.2s ease;
  }

  .lbm-mobile-group[open] summary::after {
    transform: rotate(180deg);
  }

  .lbm-mobile-submenu {
    display: flex;
    flex-direction: column;
    padding: 0 28px 12px;
    gap: 10px;
  }

  .lbm-mobile-submenu a {
    color: #676b72;
    font-size: 0.92rem;
    padding-left: 6px;
  }

  .lbm-mobile-divider {
    height: 1px;
    background: #ddd2cb;
    margin: 10px 0;
  }

  .lbm-mobile-institutional {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 8px 0;
  }

  .lbm-mobile-institutional a {
    padding: 8px 28px;
    color: #31343b;
    font-size: 0.98rem;
    line-height: 1.35;
  }

  .lbm-mobile-socials {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 10px 28px 6px;
  }

  .lbm-mobile-social-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    opacity: 0.9;
  }

  .lbm-menu-search {
    width: calc(100% - 56px);
    margin: 20px 28px 0;
  }
}

.after-banner-info-section {
  padding: 1px 0 1px;
  background: #fff;
}

.after-banner-info-section .container {
  position: relative;
}

.after-banner-info-swiper {
  overflow: hidden;
  border-radius: 0;
}

.after-banner-info-card {
  min-height: 118px;
  padding: 18px 48px;
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  box-sizing: border-box;
  width: 100%;
  background: #fff;
}

.after-banner-info-card__icon {
  width: 46px;
  min-width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cfc5be;
  flex-shrink: 0;
}

.after-banner-info-card__icon img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  display: block;
  opacity: 1;
}

.after-banner-info-card__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.2;
}

.after-banner-info-card__title {
  margin: 0 0 4px 0;
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #978d87;
}

.after-banner-info-card__subtitle {
  margin: 0;
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #434343;
}

.after-banner-info-prev,
.after-banner-info-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b7aaa2;
  cursor: pointer;
  background: transparent;
}

.after-banner-info-prev {
  left: 6px;
}

.after-banner-info-next {
  right: 6px;
}

.after-banner-info-prev::after,
.after-banner-info-next::after {
  display: none;
}

.after-banner-info-pagination {
  position: relative;
  margin-top: 10px;
  text-align: center;
}

.after-banner-info-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #d9d0ca;
  opacity: 1;
}

.after-banner-info-pagination .swiper-pagination-bullet-active {
  width: 22px;
  border-radius: 999px;
  background: #bcaea6;
}

@media (max-width: 767px) {
  .after-banner-info-card {
    min-height: 108px;
    padding: 16px 42px;
    gap: 14px;
  }

  .after-banner-info-card__icon {
    width: 42px;
    min-width: 42px;
    height: 42px;
  }

  .after-banner-info-card__icon img {
    width: 32px;
    height: 32px;
  }

  .after-banner-info-card__title {
    font-size: 15px;
  }

  .after-banner-info-card__subtitle {
    font-size: 13px;
  }
}


/* =========================
   CARDS - MESMO VISUAL DE NOVIDADES
========================= */
:is(#featured, #popular, #promocoes) .product-card-novidade {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  width: 100%;
  overflow: visible;
  padding-bottom: 10px;
}

:is(#featured, #popular, #promocoes) .product-card-novidade:hover {
  box-shadow: none;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .product__banner {
  padding: 0;
  margin-bottom: 12px;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .product__images {
  display: block;
  overflow: hidden;
  border-radius: 6px;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .product__img {
  padding: 10px;
  border-radius: 20px;
  object-fit: cover;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .product__content {
  /* padding: 0 6px 0; */
  text-align: center;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .product__category,
:is(#featured, #popular, #promocoes) .product-card-novidade .product__rating,
:is(#featured, #popular, #promocoes) .product-card-novidade .product__actions {
  display: none !important;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .product__badge.light-pink {
  left: 10px;
  top: 10px;
  background: #c8aa95;
  color: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .product__badge.light-orange {
  left: 10px;
  top: 10px;
  background: #c8aa95;
  color: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .novidade-colors-badge {
  left: 50%;
  top: auto;
  bottom: -14px;
  transform: translateX(-50%);
  background: #fff;
  color: #555;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .product__title-link {
  text-decoration: none;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .item-name {
  color: #434343;
  font-family: Outfit, sans-serif;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
  text-align: center;
  min-height: 33px;
  margin: 8px 0 12px;
  display: block;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .price-block {
  text-align: center;
  margin-bottom: 12px;
  border-top: 1px solid #e5e5e5;
  padding-top: 10px;
  margin-top: 10px;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .item-price {
  display: block;
  color: #434343;
  font-family: Outfit, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 4px;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .payment-discount-price-product-container {
  color: #434343;
  font-family: Outfit, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 6px;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .installments-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #2d2d2d;
  font-family: Outfit, sans-serif;
  font-size: 11px;
  line-height: 1.2;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .installments-line i {
  font-size: 10px;
  line-height: 1;
}

/* não mexe no botão configurado */
:is(#featured, #popular, #promocoes) .product-card-novidade .cart__btn,
:is(#featured, #popular, #promocoes) .product-card-novidade .btn,
:is(#featured, #popular, #promocoes) .product-card-novidade .card-buy-button,
:is(#featured, #popular, #promocoes) .product-card-novidade .buy-button-wrap {
  margin-top: 10px;
}

:is(#featured, #popular, #promocoes) .product-card-novidade .buy-row {
  margin-top: 14px;
}

@media (max-width: 768px) {
  :is(#featured, #popular, #promocoes) .product-card-novidade .item-name {
    font-size: 13px;
  }

  :is(#featured, #popular, #promocoes) .product-card-novidade .item-price {
    font-size: 12px;
  }

  :is(#featured, #popular, #promocoes) .product-card-novidade .payment-discount-price-product-container {
    font-size: 12px;
  }

  :is(#featured, #popular, #promocoes) .product-card-novidade .installments-line {
    font-size: 10px;
  }
}

.categories-pagination {
  position: static !important;
  margin-top: 14px;
  text-align: center;
}

.categories-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #cfc3bb;
  opacity: 1;
  margin: 0 4px !important;
  border-radius: 999px;
  transition: all 0.2s ease;
}

.categories-pagination .swiper-pagination-bullet-active {
  width: 22px;
  background: #b7a99d;
}
/* =========================================
   SMART HEADER — VERSÃO FLUIDA
   ========================================= */

.lbm-header {
  position: sticky;
  top: 0;
  z-index: 140;
  background: #fff;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    background-color 0.28s ease;
}

.lbm-header.is-floating {
  box-shadow: 0 10px 24px rgba(91, 74, 63, 0.10);
}

.lbm-header.is-hidden {
  transform: translate3d(0, calc(-100% - 10px), 0);
}

/* transições mais controladas */
.lbm-topline,
.lbm-utility,
.lbm-nav__main,
.lbm-brand__name,
.lbm-brand__by,
.lbm-search,
.lbm-search__input.form__input,
.lbm-action-btn,
.lbm-menu-bar,
.lbm-menu-bar__list,
.lbm-menu-bar__list .nav__link {
  transition:
    opacity 0.28s ease,
    transform 0.28s ease,
    max-height 0.28s ease,
    padding 0.28s ease,
    gap 0.28s ease,
    font-size 0.28s ease,
    min-height 0.28s ease,
    height 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

/* evita tremida de layout */
.lbm-topline,
.lbm-utility {
  overflow: hidden;
}

.lbm-topline {
  max-height: 50px;
  opacity: 1;
}

.lbm-utility {
  max-height: 70px;
  opacity: 1;
}

/* estado compacto desktop */
.lbm-header.is-compact .lbm-topline {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.lbm-header.is-compact .lbm-utility {
  max-height: 0;
  opacity: 0;
  border-bottom-width: 0;
}

.lbm-header.is-compact .lbm-nav__main {
  padding: 12px 0 10px;
  gap: 16px;
}

.lbm-header.is-compact .lbm-brand__name {
  font-size: clamp(1.1rem, 2vw, 2.05rem);
  letter-spacing: 0.05em;
}

.lbm-header.is-compact .lbm-brand__by {
  font-size: 0.72rem;
  margin-bottom: 1px;
}

.lbm-header.is-compact .lbm-search {
  max-width: 260px;
}

.lbm-header.is-compact .lbm-search__input.form__input {
  height: 46px;
  padding: 0 50px 0 16px;
  font-size: 0.94rem;
}

.lbm-header.is-compact .lbm-action-btn {
  width: 42px;
  height: 42px;
}

.lbm-header.is-compact .lbm-menu-bar__list {
  min-height: 50px;
  gap: 24px;
}

.lbm-header.is-compact .lbm-menu-bar__list .nav__link {
  font-size: 0.84rem;
}

/* menu mobile acima do header */
.nav__menu.lbm-menu-panel {
  z-index: 200;
}

/* =========================================
   MOBILE / TABLET
   ========================================= */
@media screen and (max-width: 1200px) {
  .lbm-header {
    z-index: 140;
  }

  /* no mobile o header nunca some inteiro */
  .lbm-header.is-hidden {
    transform: translate3d(0, 0, 0);
  }

  .lbm-utility {
    display: none;
  }

  .lbm-menu-bar {
    display: none;
  }

  .nav.lbm-nav {
    padding: 0;
  }

  .lbm-nav__main {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 10px;
    padding: 10px 0 12px;
  }

  .lbm-mobile-toggle {
    display: inline-flex;
    justify-self: start;
    align-self: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    grid-column: 1;
    grid-row: 1;
  }

  .nav__logo.lbm-brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    text-align: center;
    min-width: 0;
  }

  .lbm-brand__name {
    font-size: clamp(1.15rem, 5.8vw, 1.95rem);
    letter-spacing: 0.08em;
    line-height: 1;
    white-space: nowrap;
  }

  .header__user-actions.lbm-actions {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 0;
  }

  .lbm-actions a:not(.lbm-cart-btn) {
    display: none;
  }

  .lbm-action-btn,
  .lbm-cart-btn {
    width: 44px;
    height: 44px;
  }

  .lbm-action-btn img {
    width: 21px;
    height: 21px;
  }

  .lbm-action-btn .count {
    top: -3px;
    right: -3px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 0.68rem;
  }

  .lbm-search {
    display: block !important;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    max-width: 100%;
    margin-top: 2px;
    padding: 0 10px;
    box-sizing: border-box;
  }

  .lbm-search form {
    width: 100%;
  }

  .lbm-search__input.form__input {
    width: 100%;
    height: 52px;
    border-radius: 10px;
    box-sizing: border-box;
  }

  /* compacto no mobile: some só a busca e a topline */
  .lbm-header.is-compact .lbm-topline {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

  .lbm-header.is-compact .lbm-nav__main {
    grid-template-columns: 44px 1fr 44px;
    grid-template-rows: auto;
    gap: 10px;
    padding: 10px 0;
  }

  .lbm-header.is-compact .lbm-search {
    display: none !important;
  }

  .lbm-header.is-compact .lbm-mobile-toggle,
  .lbm-header.is-compact .lbm-action-btn,
  .lbm-header.is-compact .lbm-cart-btn {
    width: 44px;
    height: 44px;
  }

  .lbm-menu-search {
    display: block;
    margin-top: 18px;
    width: 100%;
  }

  .lbm-menu-search .form__input {
    width: 80%;
    height: 52px;
    border-radius: 10px;
  }
}

/* =========================================
   CELULAR PEQUENO
   ========================================= */
@media screen and (max-width: 576px) {
  .lbm-topline__inner {
    min-height: 32px;
    font-size: 0.68rem;
    line-height: 1.2;
    gap: 6px;
  }

  .lbm-brand__name {
    font-size: clamp(1rem, 6vw, 1.55rem);
    letter-spacing: 0.07em;
  }

  .lbm-nav__main {
    grid-template-columns: 42px 1fr 42px;
    gap: 8px;
    padding: 8px 0 10px;
  }

  .lbm-header.is-compact .lbm-nav__main {
    grid-template-columns: 42px 1fr 42px;
    gap: 8px;
    padding: 8px 0;
  }

  .lbm-mobile-toggle,
  .lbm-action-btn,
  .lbm-cart-btn {
    width: 42px;
    height: 42px;
  }

  .lbm-search {
    padding: 0 3px;
  }

  .lbm-search__input.form__input {
    height: 50px;
  }
}
/* =========================================
   COUNTDOWN FINAL - SOMENTE TEXTO
   ========================================= */
#promocoes .countdown,
.countdown {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-top: 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: auto !important;
  width: auto !important;
  color: #5b6577 !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
}

#promocoes .countdown::before,
.countdown::before {
  content: "🕒" !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

#promocoes .countdown.is-ended,
.countdown.is-ended {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #7a7a7a !important;
}

#promocoes .countdown.is-ended::before,
.countdown.is-ended::before {
  content: "⏰" !important;
}



/* =========================
   NEW ARRIVALS - NOVO LAYOUT
========================= */
#new-arrivals-layout {
  position: relative;
}

#new-arrivals-layout .section__title {
  margin-bottom: 1.8rem;
}

#new-arrivals-layout .new__container {
  position: relative;
  overflow: hidden;
  padding: 0.1rem 0.05rem 0.25rem;
}

#new-arrivals-layout .swiper-wrapper {
  align-items: stretch;
}

#new-arrivals-layout .swiper-slide {
  height: auto;
}

#new-arrivals-layout .product-card-novidade {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  width: 100%;
  overflow: visible;
  padding-bottom: 2px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

#new-arrivals-layout .product-card-novidade:hover {
  box-shadow: none;
}

#new-arrivals-layout .product-card-novidade .product__banner {
  padding: 0;
  margin-bottom: 6px;
  position: relative;
}

#new-arrivals-layout .product-card-novidade .product__images {
  display: block;
  overflow: hidden;
  border-radius: 6px;
  aspect-ratio: 3 / 3.2;
}

#new-arrivals-layout .product-card-novidade .product__img {
  width: 100%;
  height: 100%;
  display: block;
  padding: 4px;
  border-radius: 14px;
  object-fit: cover;
  transition: transform 0.35s ease;
}

#new-arrivals-layout .product-card-novidade:hover .product__img.hover,
#new-arrivals-layout .product-card-novidade:hover .product__img.default {
  transform: scale(1.02);
}

#new-arrivals-layout .product-card-novidade .product__content {
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1;
}

#new-arrivals-layout .product-card-novidade .product__category,
#new-arrivals-layout .product-card-novidade .product__rating,
#new-arrivals-layout .product-card-novidade .product__actions {
  display: none !important;
}

#new-arrivals-layout .product-card-novidade .product__badge.light-pink {
  left: 8px;
  top: 8px;
  background: #c8aa95;
  color: #fff;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 10px;
  font-weight: 700;
  position: absolute;
  z-index: 2;
}

#new-arrivals-layout .product-card-novidade .product__badge.light-orange {
  right: 8px;
  left: auto;
  top: 8px;
  background: #c8aa95;
  color: #fff;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 10px;
  font-weight: 700;
  position: absolute;
  z-index: 2;
}

#new-arrivals-layout .product-card-novidade .product__title-link {
  text-decoration: none;
}

#new-arrivals-layout .product-card-novidade .item-name {
  color: #434343;
  font-family: Outfit, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
  text-align: center;
  min-height: 24px;
  margin: 0;
  display: block;
}

#new-arrivals-layout .product-card-novidade .price-block {
  text-align: center;
  margin-bottom: 6px;
  border-top: 1px solid #e5e5e5;
  padding-top: 6px;
  margin-top: 6px;
}

#new-arrivals-layout .product-card-novidade .item-price {
  display: block;
  color: #434343;
  font-family: Outfit, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 2px;
}

#new-arrivals-layout .product-card-novidade .payment-discount-price-product-container {
  color: #434343;
  font-family: Outfit, sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 3px;
}

#new-arrivals-layout .product-card-novidade .installments-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  color: #2d2d2d;
  font-family: Outfit, sans-serif;
  font-size: 9px;
  line-height: 1.15;
}

#new-arrivals-layout .product-card-novidade .installments-line i {
  font-size: 8px;
  line-height: 1;
}

#new-arrivals-layout .product-card-novidade .cart__btn,
#new-arrivals-layout .product-card-novidade .btn,
#new-arrivals-layout .product-card-novidade .card-buy-button,
#new-arrivals-layout .product-card-novidade .buy-button-wrap,
#new-arrivals-layout .product-card-novidade .card-buy-btn {
  margin-top: auto;
}

#new-arrivals-layout .swiper-button-next,
#new-arrivals-layout .swiper-button-prev {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
  color: #7a6d65;
  transition: all 0.25s ease;
}

#new-arrivals-layout .swiper-button-next:hover,
#new-arrivals-layout .swiper-button-prev:hover {
  background: #ffffff;
  color: #5f5149;
  transform: translateY(-1px);
}

#new-arrivals-layout .swiper-button-next::after,
#new-arrivals-layout .swiper-button-prev::after {
  display: none;
}

#new-arrivals-layout .swiper-button-next i,
#new-arrivals-layout .swiper-button-prev i {
  font-size: 15px;
  line-height: 1;
}

@media (max-width: 768px) {
  #new-arrivals-layout .section__title {
    margin-bottom: 1.2rem;
  }

  #new-arrivals-layout .product-card-novidade .product__images {
    aspect-ratio: 3 / 3.75;
  }

  #new-arrivals-layout .product-card-novidade .product__img {
    padding: 4px;
    border-radius: 13px;
  }

  #new-arrivals-layout .product-card-novidade .item-name {
    font-size: 13px;
    min-height: 22px;
  }

  #new-arrivals-layout .product-card-novidade .item-price {
    font-size: 12px;
  }

  #new-arrivals-layout .product-card-novidade .payment-discount-price-product-container {
    font-size: 12px;
  }

  #new-arrivals-layout .product-card-novidade .installments-line {
    font-size: 10px;
  }

  #new-arrivals-layout .product-card-novidade .product__badge.light-pink,
  #new-arrivals-layout .product-card-novidade .product__badge.light-orange {
    top: 6px;
    padding: 3px 8px;
    font-size: 12px;
  }

  #new-arrivals-layout .swiper-button-next,
  #new-arrivals-layout .swiper-button-prev {
    width: 36px;
    height: 36px;
  }

  #new-arrivals-layout .swiper-button-next i,
  #new-arrivals-layout .swiper-button-prev i {
    font-size: 13px;
  }
}

#new-arrivals-layout .arrivals-title {
  position: relative;
  text-align: center;
  margin-bottom: 2rem;
  color: #434343;
  font-family: 'Outfit', sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0;
}

#new-arrivals-layout .arrivals-title::before {
  display: none !important;
  content: none !important;
}

#new-arrivals-layout .arrivals-title::after {
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  background: #c9bfb8;
  margin: 14px auto 0;
  border-radius: 999px;
}

@media (max-width: 768px) {
  #new-arrivals-layout .arrivals-title {
    font-size: 24px;
    margin-bottom: 1.4rem;
  }

  #new-arrivals-layout .arrivals-title::after {
    width: 34px;
    margin-top: 10px;
  }
}




/* =========================================
   PROMOÇÕES - CSS ESPECÍFICO CORRETO
   colar no FINAL do styles_index.css
========================================= */

/* card vazio ocupa a linha toda */
#promocoes > .product__item,
#promocoes .products__container > .product__item[style*="grid-column"] {
  width: 100% !important;
  max-width: none !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade {
  width: 100% !important;
  max-width: 100% !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .product__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding-inline: 4px;
  text-align: center;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .product__title-link {
  display: block;
  min-width: 0;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .item-name {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  line-height: 1.12 !important;
  min-height: 2.25em !important;
  margin: 4px 0 8px !important;
  font-size: 12px !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .price-block {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
  padding-top: 6px !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .item-price {
  font-size: 11px !important;
  line-height: 1.15 !important;
  margin-bottom: 3px !important;
  white-space: normal !important;
  word-break: break-word !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .payment-discount-price-product-container {
  font-size: 10px !important;
  line-height: 1.15 !important;
  margin-bottom: 4px !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .installments-line {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 0;
  font-size: 9px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .installments-line i {
  flex: 0 0 auto;
  margin-top: 1px;
  font-size: 10px !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .installments-line span {
  display: block !important;
  min-width: 0;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .product__meta-row {
  min-width: 0;
  margin-top: 4px;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .product__meta-row small {
  display: block !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .countdown {
  display: block !important;
  margin-top: 5px !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .card-buy-button,
#promocoes .products__container.grid > .product__item.product-card-novidade .buy-button-wrap,
#promocoes .products__container.grid > .product__item.product-card-novidade .card-buy-btn,
#promocoes .products__container.grid > .product__item.product-card-novidade .cart__btn,
#promocoes .products__container.grid > .product__item.product-card-novidade .btn {
  margin-top: auto !important;
}

#promocoes .products__container.grid > .product__item.product-card-novidade .product__badge.light-pink,
#promocoes .products__container.grid > .product__item.product-card-novidade .product__badge.light-orange,
#promocoes .products__container.grid > .product__item.product-card-novidade .product__badge.light-green {
  font-size: 10px !important;
  padding: 4px 8px !important;
}

@media (max-width: 768px) {
  #promocoes .products__container.grid > .product__item.product-card-novidade .item-name {
    font-size: 13px !important;
    min-height: 2.15em !important;
  }

  #promocoes .products__container.grid > .product__item.product-card-novidade .item-price {
    font-size: 12px !important;
  }

  #promocoes .products__container.grid > .product__item.product-card-novidade .payment-discount-price-product-container {
    font-size: 12px !important;
  }

  #promocoes .products__container.grid > .product__item.product-card-novidade .installments-line {
    font-size: 10px !important;
  }

  #promocoes .products__container.grid > .product__item.product-card-novidade .product__meta-row small,
  #promocoes .products__container.grid > .product__item.product-card-novidade .countdown {
    font-size: 13px !important;
  }
}


#promocoes .products__container > .product__item[style*="grid-column"] .product__content,
#promocoes .products__container > .product__item[style*="grid-column"] .product__title {
  text-align: center !important;
  justify-content: center;
  align-items: center;
}

#promocoes .products__container > .product__item[style*="grid-column"] .product__title {
  width: 100%;
  /*margin: 0 auto;*/
}

#promocoes .products__container > .product__item[style*="grid-column"] .product__content {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center !important;
}

/* =========================================
   GALERIA PDP - foto principal e miniaturas
   estilo igual ao print
   cole no FINAL do styles_details_novo.css
   ========================================= */

#pdp-hero{
  width: 100%;
  max-width: 100%;
  margin: 0 0 1px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: block !important;
}

#pdp-hero #pdp-anchor{
  display: none !important;
}

#mainImage.details__img,
.details__img#mainImage{
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  aspect-ratio: 0.72 / 1 !important; /* retrato elegante */
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 0 !important;
  background: #f6f3f1 !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}

/* faixa das miniaturas */
.details__small-images{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
}

/* miniaturas */
.details__small-img{
  width: 80% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  aspect-ratio: 0.72 / 1 !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border-radius: 0 !important;
  border: 1px solid #e7ddd6 !important;
  background: #fff !important;
  padding: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, opacity .18s ease;
}

.details__small-img:hover{
  transform: translateY(-1px);
  border-color: #c9b8ac !important;
}

.details__small-img.thumbnail-active{
  border: 2px solid #bca89a !important;
  opacity: 1 !important;
}

/* se tiver poucas thumbs, mantém alinhado bonito */
.details__small-images:has(.details__small-img:nth-child(1):last-child),
.details__small-images:has(.details__small-img:nth-child(2):last-child),
.details__small-images:has(.details__small-img:nth-child(3):last-child){
  grid-template-columns: repeat(auto-fit, minmax(78px, 92px)) !important;
  justify-content: start !important;
}

/* mobile fino */
@media screen and (max-width: 576px){
  #mainImage.details__img,
  .details__img#mainImage{
    aspect-ratio: 0.72 / 1 !important;
  }

  .details__small-images{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 10px !important;
  }

  .details__small-img{
    aspect-ratio: 0.72 / 1 !important;
  }
}





/* ===== GALERIA LIMPA, SEM AUTO-SCROLL ===== */

#mainImage.details__img,
.details__img#mainImage{
  animation: none;
  transition: opacity .28s ease, transform .28s ease;
  will-change: opacity, transform;
}

#mainImage.lbm-slide-enter{
  animation: lbmMainFade .28s ease;
}

@keyframes lbmMainFade{
  from{
    opacity: .35;
    transform: translateX(10px);
  }
  to{
    opacity: 1;
    transform: translateX(0);
  }
}

.details__small-images{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  scroll-behavior: auto !important;
}

.details__small-img{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 0.72 / 1 !important;
  object-fit: cover !important;
  object-position: center top !important;
  border: 1px solid #e7ddd6 !important;
  background: #fff !important;
  transition: transform .18s ease, border-color .18s ease, opacity .18s ease;
}

.details__small-img:hover{
  transform: translateY(-1px);
  border-color: #c9b8ac !important;
}

.details__small-img.thumbnail-active{
  border: 2px solid #bca89a !important;
  opacity: 1 !important;
}

@media screen and (max-width: 576px){
  .details__small-images{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

/* ===== GALERIA PRINCIPAL ===== */
#pdp-hero {
  overflow: hidden;
}

#mainImage.details__img,
.details__img#mainImage {
  width: 100%;
  display: block;
  opacity: 1;
  transform: translate3d(0,0,0);
  transition: transform .38s ease, opacity .38s ease;
  will-change: transform, opacity;
}

#mainImage.is-entering-left {
  opacity: 0;
  transform: translate3d(24px, 0, 0);
}

#mainImage.is-entering-right {
  opacity: 0;
  transform: translate3d(-24px, 0, 0);
}

/* ===== MINIATURAS EM UMA LINHA / CARROSSEL ===== */
.details__small-images {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  padding-bottom: 4px;
}

.details__small-images::-webkit-scrollbar {
  display: none;
}

.details__small-images {
  scrollbar-width: none;
}

.details__small-img {
  flex: 0 0 auto;
  width: 72px;
  height: 96px;
  object-fit: cover;
  border-radius: 10px;
  cursor: pointer;
  scroll-snap-align: start;
  transition: transform .28s ease, opacity .28s ease, border-color .28s ease, box-shadow .28s ease;
  opacity: .82;
  border: 2px solid transparent;
}

.details__small-img:hover {
  transform: translateY(-2px);
  opacity: 1;
}

.details__small-img.thumbnail-active {
  opacity: 1;
  transform: scale(1.03);
  border-color: #b79f92;
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
}

/* animação leve das miniaturas ao renderizar */
.details__small-img.thumb-in {
  opacity: 0;
  transform: translate3d(14px, 0, 0);
}

@media (max-width: 576px) {
  .details__small-img {
    width: 64px;
    height: 86px;
    border-radius: 8px;
  }

  .details__small-images {
    gap: 8px;
  }
}



/* =========================================
   BREADCRUMB estilo igual ao print
   ========================================= */

.breadcrumb{
  background: transparent !important;
  padding: 10px 0 6px !important;
  margin: 0 !important;
}

.breadcrumb__list{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.breadcrumb__list.container{
  padding-inline: 0 !important;
}

.breadcrumb__list li{
  display: flex;
  align-items: center;
}

/* estilo base dos links */
.breadcrumb__link{
  color: #4a4a4a !important;
  text-decoration: none;
  font-size: 13px !important;
  line-height: 1.1;
  font-weight: 500;
}

/* primeiro item: "Início" com fundo azul claro */
.breadcrumb__list li:first-child .breadcrumb__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 0 6px;
  
  color: #5f6f7a !important;
  border-radius: 3px;
  font-size: 12px !important;
  font-weight: 500;
}

/* separador */
.breadcrumb__separator{
  color: #7d7d7d !important;
  font-size: 13px !important;
  line-height: 1;
  margin: 0 2px;
}

/* categoria */
.breadcrumb__list li:nth-child(3) .breadcrumb__link{
  font-size: 13px !important;
  font-weight: 500;
  color: #2f2f2f !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* produto atual */
.breadcrumb__link.current{
  color: #8a8a8a !important;
  font-size: 12px !important;
  font-weight: 400;
}

/* =========================================
   MOBILE - igualzinho ao print
   ========================================= */
@media screen and (max-width: 576px){
  .breadcrumb{
    padding: 8px 0 4px !important;
  }

  .breadcrumb__list{
    gap: 5px;
  }

  .breadcrumb__link{
    font-size: 12px !important;
  }

  .breadcrumb__list li:first-child .breadcrumb__link{
    min-height: 20px;
    padding: 0 5px;
    font-size: 13px !important;
    border-radius: 2px;
  }

  .breadcrumb__separator{
    font-size: 12px !important;
    margin: 0 1px;
  }

  .breadcrumb__list li:nth-child(3) .breadcrumb__link{
    font-size: 13px !important;
    letter-spacing: 0.015em;
  }

  /* para ficar mais parecido com o print, esconde o nome do produto no mobile */
  .breadcrumb__link.current,
  .breadcrumb__list li:last-child,
  .breadcrumb__list li:nth-last-child(2){
    display: none !important;
  }
}

/* BREADCRUMB — mesma fonte do print */
.breadcrumb__link,
.breadcrumb__separator,
.breadcrumb__list li,
.breadcrumb__list li span,
.breadcrumb__list li a {
  font-family: 'Outfit', sans-serif !important;
}

.breadcrumb__link {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #434343 !important;
  line-height: 1.2 !important;
}

.breadcrumb__separator {
  font-size: 13px !important;
  color: #7a7a7a !important;
}

.breadcrumb__link.current {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #434343 !important;
}

/* PREÇO igual ao print */
.details__price{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  margin: 8px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
}

.details__price .old__price{
  font-family: 'Outfit', sans-serif !important;
  font-size: 28.8px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  color: #434343 !important;
  text-decoration: none !important;
  margin: 0 !important;
}

.details__price .new__price{
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #434343 !important;
  margin: 0 !important;
}

.details__price .save__price{
  display: none !important;
}


.details__group{
  word-break: break-word;
}

.details__title{
  max-width: 100%;
}

.details__title{
  font-family: 'Outfit', sans-serif !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  color: #434343 !important;
  margin: 8px 0 !important;
  padding: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  max-width: 100% !important;
}

/*/* =========================================
   MINIATURAS MENORES E MAIS JUNTAS
   ========================================= */
.details__color .color__list{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px 6px !important;
  align-items: start !important;
  justify-items: start !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
  list-style: none !important;
}

.details__color .color__list > li{
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.details__color .color-box--thumb{
  width: 100% !important;
  max-width: 60px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  cursor: pointer !important;
}

.details__color .color__link--thumb{
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  height: 60px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  padding: 0 !important;
  background-color: #f5f5f5 !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 10% !important;
  border: 1px solid #d7d2cd !important;
  box-shadow: none !important;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  position: relative !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

.details__color .color__thumb-img{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 10% !important;
}

.details__color .color-box--thumb:hover .color__link--thumb{
  transform: translateY(-1px) !important;
  border-color: #000 !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06) !important;
}

.details__color .color-box-active .color__link--thumb{
  border: 2px solid #000 !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.10) !important;
}

.details__color .color-box-active:hover .color__link--thumb,
.details__color .color-box-active .color__link--thumb:hover{
  border: 2px solid #000 !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.10) !important;
}

.details__color .color-box--thumb .color-name{
  display: none !important;
}

/* texto Cor: OFF WHITE */
.details__color-title,
label.form-label.details__color-title,
.form-label.details__color-title{
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 0 10px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #2f3a4a !important;
}

.details__color-title .js-insta-variation-label,
label.form-label.details__color-title .js-insta-variation-label,
.form-label.details__color-title .js-insta-variation-label{
  color: #000 !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}

/* =========================================
   TAMANHOS
   ========================================= */
.details__size.flex{
  margin-top: 18px !important;
}

.details__size .size__list{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 10px 0 0 !important;
  list-style: none !important;
}

.details__size .size__list > li{
  margin: 0 !important;
  padding: 0 !important;
}

.details__size .size-box{
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border: 1px solid #d7d2cd !important;
  background: #fff !important;
  color: #2f3a4a !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: all .16s ease !important;
}

.details__size .size-box:hover{
  border-color: #a7a19b !important;
}

.details__size .size-box.size-active{
  background: #4a4a4a !important;
  border-color: #4a4a4a !important;
  color: #fff !important;
}

.details__size .size-box[style*="pointer-events: none"]{
  opacity: .45 !important;
  background: #fff !important;
  color: #2f3a4a !important;
  border-color: #d7d2cd !important;
}

.details__size .size-box[style*="pointer-events: none"] > div{
  display: none !important;
}

.details__size .size-box[style*="pointer-events: none"]::after{
  content: "×" !important;
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #e07b7b !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  text-align: center !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.10) !important;
  z-index: 3 !important;
}

@media (max-width: 576px){
  .details__color .color__list{
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px 6px !important;
  }

  .details__color .color-box--thumb{
    max-width: 56px !important;
  }

  .details__color .color__link--thumb{
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    border-radius: 10px !important;
  }

  .details__color .color__thumb-img{
    object-position: center 12% !important;
  }

  .details__size .size-box{
    min-width: 35px !important;
    height: 35px !important;
    padding: 0 1px !important;
    font-size: 13px !important;
  }
}

.lbm-sticky-buybar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
  background: rgba(255,255,255,.98);
  border-top: 1px solid #e9e4df;
  box-shadow: 0 -10px 24px rgba(0,0,0,.10);
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
  transition: transform .26s ease, opacity .26s ease;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
}

.lbm-sticky-buybar.is-visible{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.lbm-sticky-buybar__inner{
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.lbm-sticky-buybar__left{
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.lbm-sticky-buybar__img{
  width: 52px;
  height: 52px;
  border-radius: 8px;
  object-fit: cover;
  flex: 0 0 52px;
}

.lbm-sticky-buybar__info{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lbm-sticky-buybar__title{
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  color: #434343;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lbm-sticky-buybar__price{
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 500;
  color: #6b6764;
}

.lbm-sticky-buybar__btn{
  flex: 0 0 auto;
  min-width: 156px;
  height: 46px;
  border: 0;
  border-radius: 6px;
  background: #b5a79c;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.lbm-sticky-buybar__btn:hover{
  filter: brightness(.97);
}

@media (max-width: 768px){
  .lbm-sticky-buybar{
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
  }

  .lbm-sticky-buybar__title{
    font-size: 12px;
  }

  .lbm-sticky-buybar__price{
    font-size: 12px;
  }

  .lbm-sticky-buybar__btn{
    min-width: 140px;
    height: 44px;
    font-size: 14px;
  }
}


.lbm-sticky-footer{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
  background: rgba(255,255,255,.98);
  border-top: 1px solid #e9e4df;
  box-shadow: 0 -10px 24px rgba(0,0,0,.10);
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
  transition: transform .26s ease, opacity .26s ease;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
}

.lbm-sticky-footer.is-visible{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.lbm-sticky-footer__inner{
  max-width: 1100px;
  margin: 0 auto;
}

.lbm-sticky-footer__message,
.lbm-sticky-footer__buy{
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.lbm-sticky-footer.is-message .lbm-sticky-footer__message{
  display: flex;
}

.lbm-sticky-footer.is-buy .lbm-sticky-footer__buy{
  display: flex;
}

.lbm-sticky-footer__message-text{
  flex: 1;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  line-height: 1.35;
  color: #434343;
}

.lbm-sticky-footer__message-text strong{
  font-weight: 700;
}

.lbm-sticky-footer__accept{
  flex: 0 0 auto;
  min-width: 170px;
  height: 54px;
  border: 0;
  border-radius: 6px;
  background: #4d4b4b;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.lbm-sticky-footer__buy-left{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lbm-sticky-footer__title{
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 500;
  color: #434343;
  text-transform: uppercase;
}

.lbm-sticky-footer__price{
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 700;
  color: #434343;
}

.lbm-sticky-footer__installments{
  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  line-height: 1.2;
  color: #6a6764;
}

.lbm-sticky-footer__buy-btn{
  flex: 0 0 auto;
  min-width: 155px;
  height: 54px;
  border: 0;
  border-radius: 6px;
  background: #a19182;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 768px){
  .lbm-sticky-footer{
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
  }

  .lbm-sticky-footer__message{
    gap: 10px;
  }

  .lbm-sticky-footer__message-text{
    font-size: 12px;
  }

  .lbm-sticky-footer__accept{
    min-width: 142px;
    height: 50px;
    font-size: 13px;
  }

  .lbm-sticky-footer__buy-btn{
    min-width: 140px;
    height: 50px;
    font-size: 14px;
  }
}