header {
    display: grid;
    grid-template-columns: auto 1fr auto; 
    align-items: center;
    background: #ffffff;
    padding: 10px 40px;
    height: 100px;
}

.logo {
    height: 100px;
    width: auto;
}

.header-center {
    display: flex;
    justify-content: center; /* menú centrado */
}

.header-right {
    width: 100px; /* mismo ancho visual que el logo para equilibrar */
}

@media (max-width: 900px) {
    header {
        grid-template-columns: auto auto;
        padding: 10px 20px;
        height: auto;
    }

    .header-center {
        display: none; /* Menú oculto por defecto en móviles */
        grid-column: 1 / -1;
    }

    .header-center.active {
        display: block;
        background: #ffffff;
        padding: 15px 0;
    }

    .logo {
        height: 70px;
    }
}

@media (max-width: 500px) {
    .logo {
        height: 60px;
    }
}