html, body {
    height: 100%;
    padding-top: 0; /* Remove o padding fixo e permite que o JS defina */
}

/* Estilos para a seção hero */
.hero-section {
    position: relative;
    height: 75vh; /* Ajuste conforme necessário */
    width: 100%;
    overflow: hidden;
}

.hero-image-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Centralização absoluta do conteúdo */
.hero-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 2;
    text-align: center;
}

/* Garante que a navbar não cubra o conteúdo */
#mainNavbar {
    z-index: 1000;
}

/* Otimização para mobile */
@media (max-width: 768px) {
    .hero-section {
        height: 60vh;
    }
    
    .hero-image {
        object-position: center center;
    }
}

/* Estilos para a seção Sobre Nós */
.sobre-image-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.sobre-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.3s ease;
    opacity: 0;
}

.sobre-image.loaded {
    opacity: 1;
}

.min-h-300 {
    min-height: 300px;
}

/* Ajuste para garantir que a imagem ocupe todo o espaço */
#sobre .row {
    min-height: 100%;
}

/* Ajustes para mobile */
@media (max-width: 768px) {
    #sobre .row {
        flex-direction: column;
    }
    
    .sobre-image-container {
        height: 300px;
    }
    
    .card-body {
        padding: 1.5rem;
    }
}

/* Efeito hover para desktop */
@media (min-width: 992px) {
    .sobre-image:hover {
        transform: scale(1.03);
    }
}
/* Mantenha seus estilos existentes abaixo desta linha */