/* Correções específicas para compatibilidade cross-browser */

/* Firefox */
@-moz-document url-prefix() {
  .carousel-track {
    scrollbar-width: none;
  }
  
  .logos-carousel {
    scrollbar-width: none;
  }
  
  .btn, 
  .cta-button,
  .cta-button-header {
    /* Corrige problemas de renderização de botões no Firefox */
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* Safari */
@media not all and (min-resolution:.001dpcm) { 
  @supports (-webkit-appearance:none) {
    .hero-image img {
      /* Corrige problemas de animação no Safari */
      -webkit-transform-style: preserve-3d;
    }
    
    .carousel-track {
      /* Melhora a suavidade do carrossel no Safari */
      -webkit-overflow-scrolling: touch;
    }
    
    .fade-in {
      /* Melhora animações no Safari */
      -webkit-backface-visibility: hidden;
    }
  }
}

/* Edge e IE */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .logos-carousel {
    /* Corrige animação em navegadores mais antigos */
    position: relative;
    left: 0;
    animation: none;
  }
  
  .hero-image img {
    /* Desativa animação em navegadores que não suportam bem */
    animation: none;
  }
  
  .fade-in {
    /* Garante visibilidade em navegadores sem suporte a animações */
    opacity: 1;
    transform: translateY(0);
  }
}

/* Correções para dispositivos Apple */
@supports (-webkit-touch-callout: none) {
  /* iOS e Safari no macOS */
  .hero-form input {
    /* Corrige problemas de input em dispositivos Apple */
    -webkit-appearance: none;
    border-radius: var(--radius-md);
  }
  
  .consulta-form button {
    /* Corrige problemas de botões em dispositivos Apple */
    -webkit-appearance: none;
  }
}

/* Correções para dispositivos Android */
@supports not (-webkit-touch-callout: none) {
  @media (max-width: 767px) {
    /* Ajustes específicos para Android */
    input, button, select, textarea {
      /* Melhora a aparência de campos em dispositivos Android */
      font-size: 16px; /* Evita zoom automático */
    }
  }
}

/* Correções para telas de alta densidade de pixels */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  img {
    /* Melhora a nitidez de imagens em telas retina */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* Correções para dispositivos com notch */
@supports (padding-top: env(safe-area-inset-top)) {
  header {
    /* Ajusta o header para dispositivos com notch */
    padding-top: max(var(--spacing-sm), env(safe-area-inset-top));
    padding-left: max(var(--spacing-sm), env(safe-area-inset-left));
    padding-right: max(var(--spacing-sm), env(safe-area-inset-right));
  }
  
  .menu-mobile {
    /* Ajusta o menu mobile para dispositivos com notch */
    padding-top: max(var(--spacing-lg), env(safe-area-inset-top));
    padding-right: max(var(--spacing-md), env(safe-area-inset-right));
  }
}

/* Correções para impressão */
@media print {
  .hero-modern {
    background-color: #f5f5f5 !important;
    color: #333333 !important;
  }
  
  .section-dark {
    background-color: #f5f5f5 !important;
    color: #333333 !important;
  }
  
  .section-dark h2, 
  .section-dark h3 {
    color: #333333 !important;
  }
  
  .cta-button, 
  .cta-button-header,
  .btn {
    border: 1px solid #333333 !important;
    color: #333333 !important;
    background: none !important;
  }
  
  header, footer, .carousel-arrow, .menu-mobile-button {
    display: none !important;
  }
}
