/* Correção do espaçamento entre o header e o banner */

/* Ajustes para todas as telas */
header {
    height: 150px !important;
    max-height: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
}

body {
    margin: 0 !important;
    padding: 0 !important;
}

main {
    margin: 0 !important;
    padding: 0 !important;
}

.hero-banner {
    margin-top: 70px !important;
    padding: 0 !important;
    border: 0 !important;
    display: block !important;
}

.imagem-principal {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    display: block !important;
}

.imagem-principal img {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ajustes específicos para dispositivos móveis */
@media (max-width: 768px) {
    header {
        position: absolute !important;
        height: 70px !important;
        max-height: 70px !important;
    }

    header nav.topo,
    header nav.topo .container {
        height: 70px !important;
    }

    header nav.topo .container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .hero-banner {
        margin-top: 0 !important;
        padding: 0 !important;
    }
    
    .imagem-principal {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .imagem-principal img.imagem-mobile {
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
}
