/* ============================================================================
   iOS HERO PAINT FIX  —  Fazenda Renascença
   Data: 2025-09-28
   Contexto do bug (WebKit iOS real, não reproduz em Chrome DevTools):
     - A primeira seção hero (UAGB) carregava com o background "congelado" /
       recortado (um tile / snapshot parcial) até que o menu off‑canvas abrisse.
     - Abrir o menu forçava um repaint / nova composição e a imagem correta
       aparecia atrás do painel. Ao fechar, voltava a textura incorreta.
   Causa provável:
     - Interação entre background grande + (possível) background-attachment: fixed
       + ausência de layer de composição explícita no elemento que contém a
       imagem. O WebKit reutiliza um snapshot inicial antes do layout final.
   Estratégia da correção (mínima, reversível e escopada):
     1. Forçar background-attachment: scroll (neutraliza parallax / fixed no iOS).
     2. Criar layer própria somente no container da imagem via translateZ(0)
        (evita aplicar em ancestrais para não abrir várias camadas).
     3. Remover/backdrop-filter apenas nesse bloco para eliminar caminho de
        renderização mais caro que tende a gerar snapshots errados.
     4. Manter overlay, sizing e position intactos (sem mudança perceptível).
   Ativação:
     - JS (`ios-hero-paint-fix.js`) detecta iOS Safari real e adiciona
       `.fr-ios-hero-fix` ao elemento com background-image.
   Debug:
     - `window.__frIOSHeroFixDebug(true)` adiciona borda tracejada.
   Reversão futura:
     - Remover o enqueue de css/js e apagar este arquivo quando WebKit corrigir.
   ========================================================================== */

.fr-ios-hero-fix {
  /* Garante que iOS não tente reutilizar snapshot com attachment fixed */
  background-attachment: scroll !important;
  /* Força composição individual sem cascata exagerada */
  -webkit-transform: translateZ(0); /* cria layer isolada */
  transform: translateZ(0);
  will-change: transform;
  backface-visibility: hidden;
  /* Segurança: evita filtros herdados causarem tile inválido */
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Se o fundo estiver em um wrapper interno específico (varia por versão UAGB), herdamos */
.fr-ios-hero-fix .uagb-section__wrap,
.fr-ios-hero-fix .uagb-section__background-image,
.fr-ios-hero-fix > .uagb-section__overlay {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Diagnóstico auxiliar: quando classe de debug é aplicada (via console), mostra moldura */
.fr-ios-hero-fix.fr-ios-hero-debug {
  outline: 2px dashed rgba(0,128,0,0.6);
  outline-offset: -2px;
}
