.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;
}

/* Importar uma fonte elegante do Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap');


@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 {
    background: #9b9999; /* Cor de fundo da caixa (cinza claro) */
    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 */
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2); /* Sombra suave ao redor da caixa */
    white-space: nowrap; /* Impede que o texto quebre a linha */
    overflow: hidden; /* Impede que o texto ultrapasse a caixa */
    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: 380px;
    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: 1rem;
  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: 1.1rem; /* 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;
    }
}






