/* ==========================================================================
   iPhone Zoom Fix — Teporti (v1.5)
   Logo não cortado, hambúrguer na posição, sem scroll lateral, menu funciona.
   ========================================================================== */

/* -------------------------------------------------------------------------
   1. TEXT-SIZE-ADJUST
   ------------------------------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

/* -------------------------------------------------------------------------
   2. OVERFLOW LATERAL
   clip não cria scroll context, então o dropdown absoluto do Elementor
   continua se posicionando livremente pelo JS.
   ------------------------------------------------------------------------- */
html,
body {
  overflow-x: clip !important;
  max-width: 100% !important;
}

/* -------------------------------------------------------------------------
   3. BARRA AZUL "ÁREA DO CLIENTE" — c8d77ce
   ------------------------------------------------------------------------- */
.elementor-element-c8d77ce {
  width: 100% !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

/* -------------------------------------------------------------------------
   4. CONTAINER BRANCO — 460806f
   Flex 1 linha: logo à esquerda, hambúrguer à direita.
   overflow:visible deixa o dropdown aparecer abaixo.
   ------------------------------------------------------------------------- */
.elementor-element-460806f {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: unset !important;
  max-height: none !important;
  overflow: visible !important;
}

/* -------------------------------------------------------------------------
   5. LOGO MOBILE — bc04211
   flex: 1 1 auto  →  logo ocupa o espaço disponível entre a borda
   esquerda e o hambúrguer, sem forçar largura fixa.
   overflow: visible  →  NÃO corta o logo.
   A imagem dentro usa max-width:100% para se limitar ao espaço do pai.
   ------------------------------------------------------------------------- */
.elementor-element-bc04211 {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.elementor-element-bc04211 .elementor-widget-container {
  min-width: 0 !important;
  overflow: visible !important;
}

/* A imagem cresce até o espaço disponível no flex, não além disso */
.elementor-element-bc04211 img {
  display: block !important;
  width: 100% !important;
  max-width: 220px !important;   /* teto razoável para zoom normal */
  height: auto !important;
  object-fit: contain !important;
}

/* -------------------------------------------------------------------------
   6. SUB-CONTAINER DO MENU — 3f77a18
   flex: 0 0 auto  →  tamanho natural do hambúrguer, não encolhe/cresce.
   ------------------------------------------------------------------------- */
.elementor-element-3f77a18 {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* -------------------------------------------------------------------------
   7. HAMBÚRGUER
   ------------------------------------------------------------------------- */
.elementor-element-7b505ce .elementor-menu-toggle,
.elementor-element-2d9f16a .elementor-menu-toggle {
  position: relative !important;
  flex-shrink: 0 !important;
}

/* -------------------------------------------------------------------------
   8. DROPDOWN — JS do Elementor controla left/width, não interferimos.
   Só garantimos que o conteúdo interno não gere scroll.
   ------------------------------------------------------------------------- */
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

.elementor-nav-menu--dropdown .menu-item a {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
}

/* -------------------------------------------------------------------------
   9. HERO — texto não vaza
   ------------------------------------------------------------------------- */
.elementor-widget-heading .elementor-heading-title {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  max-width: 100% !important;
}

@media screen and (max-width: 767px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(1.4rem, 5.5vw, 2.8rem) !important;
    line-height: 1.25 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* -------------------------------------------------------------------------
   10. HERO — background estável no iOS
   ------------------------------------------------------------------------- */
.elementor-section {
  background-attachment: scroll !important;
}

/* -------------------------------------------------------------------------
   11. BOX-SIZING GERAL
   ------------------------------------------------------------------------- */
.e-con,
.e-con-full,
.e-child,
.elementor-section,
.elementor-container,
.elementor-row,
.elementor-column,
.elementor-column-wrap,
.elementor-widget-wrap,
.elementor-widget-container {
  min-width: 0 !important;
  box-sizing: border-box !important;
}
