/* Reset opt-in para preservar conteúdo e componentes de terceiros. */
:where(.bl-scope, .bl-scope *, .bl-scope *::before, .bl-scope *::after,
  .bl-container, .bl-stack, .bl-grid) {
  box-sizing: border-box;
}

:where(.bl-scope) :where(img, video, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(.bl-scope) :where(button, input, select, textarea) {
  font: inherit;
}

:where(.bl-scope) :where(h1, h2, h3, h4, h5, h6, p) {
  margin-block: 0;
}

/* Remove Elementor gaps around Backlab components */
:where([class*="elementor-widget-backlab-"]) {
  margin-bottom: 0 !important;
}


@media (max-width: 1023px) {
  /* Fix massive gaps on mobile caused by Elementor fixed container heights (e.g. Min Height 100vh)
     Refactored in Phase 16: targets explicitly full-bleed Backlab components to avoid global regressions. */
  .elementor-section:has(
    .bl-rb-brand-hero, .bl-rb-sites-hero, .bl-rb-hub-hero, 
    .bl-hero, .bl-growth-intro, .bl-growth-journey, 
    .bl-uau-experience, .bl-social-proof, .bl-signature,
    .bl-solutions-hero, .bl-brand-hero, .bl-sites-hero
  ),
  .e-con:has(
    .bl-rb-brand-hero, .bl-rb-sites-hero, .bl-rb-hub-hero, 
    .bl-hero, .bl-growth-intro, .bl-growth-journey, 
    .bl-uau-experience, .bl-social-proof, .bl-signature,
    .bl-solutions-hero, .bl-brand-hero, .bl-sites-hero
  ),
  .elementor-widget-wrap:has(
    .bl-rb-brand-hero, .bl-rb-sites-hero, .bl-rb-hub-hero, 
    .bl-hero, .bl-growth-intro, .bl-growth-journey, 
    .bl-uau-experience, .bl-social-proof, .bl-signature,
    .bl-solutions-hero, .bl-brand-hero, .bl-sites-hero
  ) {
    min-height: 0 !important;
    height: auto !important;
  }
}

/* Fase 14.5 — faixas/sobreposições entre seções.
   Elementor envolve cada componente Backlab em `.e-con > .elementor-widget > .elementor-widget-container`.
   Como o `.e-con` é um flex container em coluna, o Chromium resolve a altura do item pela medida
   intrínseca do conteúdo, que não coincide com a altura usada da seção: o wrapper ficava 4,375px
   mais alto que `.bl-brand-hero` e 12,485px mais alto que `.bl-sites-hero`, e como o wrapper não
   pinta fundo, a superfície da página (#080C0C) aparecia como uma faixa clara entre duas seções
   escuras. No sentido oposto o mesmo desencontro sobrepunha a UAU à Prova Social em 29,9px no mobile.
   Com o container em fluxo de bloco o wrapper passa a ter exatamente a altura da seção que ele
   abriga. Escopo fechado: só containers cujo único filho é um componente Backlab full-bleed —
   containers com mais de um widget seguem em flex, sem alteração. */
.e-con:has(> .elementor-widget:only-child > .elementor-widget-container > .bl-scope) {
  display: block;
}
