/* Otimizações de performance */

/* Regras globais para imagens */
.elementor-widget-image img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Regras específicas para desktop */
@media (min-width: 768px) {
  .elementor-widget-image img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  
  /* Correção para imagens específicas */
  img[src*="bsbRU.png"],
  img[src*="bsbnG.png"] {
    width: 100%;
    max-width: 800px;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
  }
}

/* Lazy loading de imagens */
img[loading="lazy"] {
  opacity: 0;
  transition: opacity 0.3s ease-in;
}

img[loading="lazy"].loaded,
img.litespeed-loaded {
  opacity: 1;
}

/* Otimizar carregamento de fontes */
@font-face {
  font-display: swap;
}

/* Melhorar performance de animações */
.elementor-animation-*,
.elementor-widget-container {
  will-change: transform;
  transform: translateZ(0);
}

/* Otimizar renderização */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Prevenir FOUC (Flash of Unstyled Content) */
.elementor-widget-container {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Otimizar carregamento de background images */
[style*="background-image"] {
  will-change: transform;
  transform: translateZ(0);
}

/* Melhorar performance de scroll */
html {
  scroll-behavior: smooth;
}

/* Otimizações para imagens específicas */
.elementor-widget-image {
  line-height: 0;
  text-align: center;
}

/* Otimizar carregamento de SVG */
.e-font-icon-svg {
  width: 1em;
  height: 1em;
  position: relative;
  display: block;
  transform: translateZ(0);
}

/* Melhorar performance de animações */
.elementor-animation-*,
.elementor-motion-effects-element,
.elementor-motion-effects-layer {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
}

/* Otimizar carregamento inicial */
body {
  visibility: visible !important;
}

/* Prevenir layout shifts */
.elementor-widget-container {
  min-height: 1px;
}

/* Otimizar carregamento de recursos externos */
link[rel="preload"] {
  crossorigin: anonymous;
}

/* Otimizações de performance para mobile */

/* Lazy loading de imagens */
img {
  loading: lazy;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

img[loading="lazy"] {
  opacity: 0;
}

img.loaded {
  opacity: 1;
}

/* Otimização de background-images */
@media (max-width: 767px) {
  [data-settings*="background_background"] {
    background-size: 100% auto !important;
    background-attachment: scroll !important;
    will-change: transform;
  }

  /* Prevenir scroll horizontal */
  html, body {
    max-width: 100vw;
    overflow-x: hidden;
  }

  /* Melhorar performance de animações */
  * {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  /* Otimizar renderização de texto */
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-widget-container p {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  /* Forçar hardware acceleration */
  .elementor-section,
  .elementor-container,
  .e-con,
  .e-con-inner {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
} 