/* Configurações base */
body { 
    background-color: #ffffff; 
    color: #1E293B; 
    overflow-x: hidden;
}

/* Sombras suaves no estilo shadcn/ui */
.card-shadow { 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.04), 0 4px 6px -2px rgba(0, 0, 0, 0.02); 
}

/* Ocultar barra de rolagem nativa na área dos badges de confiança */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* =========================================
   Animações de Scroll (Fade-in e Slide-up)
   ========================================= */

.scroll-animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}

/* Classe adicionada pelo JavaScript quando o elemento entra na tela */
.scroll-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Atrasos em cascata para os grids (faz um card aparecer depois do outro) */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* =========================================
   Ajustes da Imagem Principal (Hero)
   ========================================= */
.img-destaque {
    mix-blend-mode: multiply;
    scale: 1.45; 
    filter: brightness(1.06) contrast(1.06) !important; 
}

/* =========================================
   Ajustes para o Carrossel (Responsivo e Carregamento Rápido)
   ========================================= */

/* Estilo BASE (Mobile) */
.relative.group {
    position: relative !important;
    width: 100% !important;
    /* Proporção para mobile: quase quadrado para preencher bem a tela */
    aspect-ratio: 1 / 1.1 !important; 
    background-color: #F8FAFC;
    border-radius: 1.5rem;
    overflow: hidden;
}

/* Estilo para DESKTOP (Telas maiores) */
@media (min-width: 768px) {
    .relative.group {
        /* No desktop, usamos uma altura fixa para evitar o zoom exagerado */
        aspect-ratio: auto !important;
        height: 380px !important; 
    }
}

.slide-img {
    /* Tempo de transição reduzido para ser ágil, sem travar o JS */
    transition: opacity 0.5s ease-in-out;
    will-change: opacity;
    content-visibility: auto; /* Acelera a renderização da imagem pelo navegador */
    width: 100% !important;
    height: 100% !important;
    /* object-fit: cover garante que a foto preencha o card sem bordas cinzas */
    object-fit: cover !important; 
    position: absolute !important;
    top: 0;
    left: 0;
}

/* Centralização inteligente das fotos no Desktop */
@media (min-width: 1024px) {
    .slide-img {
        object-position: center center;
    }
}