.elementor-473 .elementor-element.elementor-element-f359c10{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--padding-top:10px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;--z-index:999999;}.elementor-473 .elementor-element.elementor-element-4e9f5b5{--display:flex;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-473 .elementor-element.elementor-element-baf8f5f .elementor-icon-wrapper{text-align:center;}.elementor-473 .elementor-element.elementor-element-baf8f5f.elementor-view-stacked .elementor-icon{background-color:#DBDBDB;}.elementor-473 .elementor-element.elementor-element-baf8f5f.elementor-view-framed .elementor-icon, .elementor-473 .elementor-element.elementor-element-baf8f5f.elementor-view-default .elementor-icon{color:#DBDBDB;border-color:#DBDBDB;}.elementor-473 .elementor-element.elementor-element-baf8f5f.elementor-view-framed .elementor-icon, .elementor-473 .elementor-element.elementor-element-baf8f5f.elementor-view-default .elementor-icon svg{fill:#DBDBDB;}.elementor-473 .elementor-element.elementor-element-2842b9f{--display:flex;}.elementor-473 .elementor-element.elementor-element-fc3e0e1 .elementor-icon-wrapper{text-align:center;}.elementor-473 .elementor-element.elementor-element-fc3e0e1.elementor-view-stacked .elementor-icon{background-color:#DBDBDB;}.elementor-473 .elementor-element.elementor-element-fc3e0e1.elementor-view-framed .elementor-icon, .elementor-473 .elementor-element.elementor-element-fc3e0e1.elementor-view-default .elementor-icon{color:#DBDBDB;border-color:#DBDBDB;}.elementor-473 .elementor-element.elementor-element-fc3e0e1.elementor-view-framed .elementor-icon, .elementor-473 .elementor-element.elementor-element-fc3e0e1.elementor-view-default .elementor-icon svg{fill:#DBDBDB;}.elementor-473 .elementor-element.elementor-element-70b181a{--display:flex;}.elementor-473 .elementor-element.elementor-element-968324f .elementor-icon-wrapper{text-align:center;}.elementor-473 .elementor-element.elementor-element-968324f.elementor-view-stacked .elementor-icon{background-color:#DBDBDB;}.elementor-473 .elementor-element.elementor-element-968324f.elementor-view-framed .elementor-icon, .elementor-473 .elementor-element.elementor-element-968324f.elementor-view-default .elementor-icon{color:#DBDBDB;border-color:#DBDBDB;}.elementor-473 .elementor-element.elementor-element-968324f.elementor-view-framed .elementor-icon, .elementor-473 .elementor-element.elementor-element-968324f.elementor-view-default .elementor-icon svg{fill:#DBDBDB;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-473 .elementor-element.elementor-element-f359c10{--justify-content:space-around;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-473 .elementor-element.elementor-element-f359c10.e-con{--align-self:center;}.elementor-473 .elementor-element.elementor-element-4e9f5b5{--width:30%;}.elementor-473 .elementor-element.elementor-element-baf8f5f .elementor-icon{font-size:1.7rem;}.elementor-473 .elementor-element.elementor-element-baf8f5f .elementor-icon svg{height:1.7rem;}.elementor-473 .elementor-element.elementor-element-2842b9f{--width:30%;}.elementor-473 .elementor-element.elementor-element-fc3e0e1 .elementor-icon{font-size:1.7rem;}.elementor-473 .elementor-element.elementor-element-fc3e0e1 .elementor-icon svg{height:1.7rem;}.elementor-473 .elementor-element.elementor-element-70b181a{--width:30%;}.elementor-473 .elementor-element.elementor-element-968324f .elementor-icon{font-size:1.7rem;}.elementor-473 .elementor-element.elementor-element-968324f .elementor-icon svg{height:1.7rem;}}/* Start custom CSS for container, class: .elementor-element-f359c10 *//* === FOOTER FIXO ESTILO INSTAGRAM (v5 MOBILE-FIX FINAL COM CORREÇÃO DO MENU CART) === */

/* Esconde rodapé padrão */
footer.site-footer {
  display: none !important;
}

/* Contêiner principal do footer Elementor */
.elementor-location-footer,
footer.elementor-location-footer {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100vw !important; /* Garante que nunca ultrapasse a largura da viewport */
  max-width: 100vw !important; /* Previne overflow horizontal */
  background: rgba(25, 0, 40, 0.96) !important;
  backdrop-filter: blur(2px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.4) !important;
  z-index: 9999 !important;
  padding: 8px 0 !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  overflow-x: hidden !important; /* Bloqueia qualquer transbordamento lateral */
}

/* Força layout em linha para todos os widgets dentro do footer */
.elementor-location-footer > .elementor-container,
.elementor-location-footer > .elementor-container > .elementor-row,
.elementor-location-footer .elementor-column,
.elementor-location-footer .elementor-widget-wrap {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-evenly !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  gap: 24px !important;
  flex: 1 !important;
  max-width: 100% !important; /* Impede expansão interna além da tela */
  overflow-x: hidden !important;
}

/* Corrige comportamento específico do mobile (sobrescreve regras do Elementor) */
@media (max-width: 768px) {
  .elementor-location-footer,
  .elementor-location-footer > .elementor-container,
  .elementor-location-footer .elementor-row,
  .elementor-location-footer .elementor-column,
  .elementor-location-footer .elementor-widget-wrap {
    flex-direction: row !important;
    justify-content: space-evenly !important;
    align-items: center !important;
    width: 100vw !important; /* Garante largura da viewport em mobile */
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .elementor-location-footer {
    padding: 6px 8px !important;
  }

  .elementor-location-footer > .elementor-container,
  .elementor-location-footer .elementor-column,
  .elementor-location-footer .elementor-widget-wrap {
    gap: 18px !important;
  }
}

/* Ícones gerais */
.elementor-location-footer i,
.elementor-location-footer svg,
.elementor-location-footer a {
  color: #ffffff !important;
  font-size: 1.8rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 !important;
}

/* Hover e ativo */
.elementor-location-footer a:hover i,
.elementor-location-footer a:hover svg {
  color: #c224e3 !important;
  transform: scale(1.1);
}

.elementor-location-footer a.elementor-item-active i,
.elementor-location-footer a.elementor-item-active svg {
  color: #c224e3 !important;
}

/* Badge do carrinho */
.elementor-menu-cart__toggle .elementor-button-icon[data-counter]:after {
  content: attr(data-counter);
  position: absolute;
  top: -6px;
  right: -10px;
  background: #c224e3;
  color: #fff;
  font-size: 0.7rem;
  font-weight: bold;
  border-radius: 50%;
  padding: 3px 6px;
}

/* Animação ao toque */
.elementor-location-footer a:active i,
.elementor-location-footer a:active svg {
  transform: scale(0.9);
  opacity: 0.8;
}

/* Espaço inferior para não sobrepor o conteúdo */
body {
  padding-bottom: 70px !important;
  overflow-x: hidden !important; /* Impede scroll lateral global */
  max-width: 100vw !important; /* Evita expansão além da viewport */
}

/* === CORREÇÃO CRÍTICA: MENU CART ATIVO FIXO NO TOPO === */

.elementor-menu-cart--shown .elementor-menu-cart__container {
  position: fixed !important;
  top: 1rem !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: calc(100% - 2rem) !important;
  max-width: 480px !important;
  z-index: 10000 !important; /* acima do footer */
  margin: 0 auto !important;
}

/* Garante que o conteúdo do carrinho apareça visível */
.elementor-menu-cart--shown .elementor-menu-cart__main {
  background: rgba(25, 0, 40, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 16px !important;
  backdrop-filter: blur(10px) !important;
  overflow-y: auto !important;
  max-height: 80vh !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
  padding: 1rem !important;
}

/* Animação de entrada do carrinho (vindo do topo) */
.elementor-menu-cart--shown .elementor-menu-cart__container {
  animation: cartSlideFromTop 0.3s ease-out forwards;
}

@keyframes cartSlideFromTop {
  from {
    transform: translate(-50%, -10%);
    opacity: 0;
  }
  to {
    transform: translate(-50%, 0);
    opacity: 1;
  }
}

/* Remove qualquer tentativa do Elementor de fixar o carrinho no bottom */
.elementor-menu-cart__container[style*="bottom"] {
  bottom: auto !important;
  top: 1rem !important;
}/* End custom CSS */