body {
    font-family: 'Open Sans', Arial, sans-serif;
    margin: 0;
    padding: 0;
}

header {
    position: fixed;
    top: 0;
    width: 100%;
    display: flex;
    justify-content: center; /* Centra el contenido horizontalmente */
    align-items: center;
    background: rgba(255, 255, 255, 0.8); /* Fondo estilo vidrio */
    backdrop-filter: blur(10px); /* Efecto de desenfoque */
    -webkit-backdrop-filter: blur(10px);
    padding: 10px 20px;
    color: #333;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Sombra para dar efecto de elevación */
    z-index: 1000; /* Asegura que el header esté por encima de otros elementos */
}

header .logo-nav-container {
    display: flex;
    justify-content: space-between; /* Espaciado entre logo y menú */
    align-items: center;
    width: 100%; /* Asegura que ocupe todo el ancho */
    max-width: 1200px; /* Limita el ancho máximo del contenido */
    padding: 0 20px;
}

header .logo {
    display: flex;
    align-items: center;
}

header .logo img {
    height: 40px;
    margin-right: 10px;
}

header h3 {
    margin: 0;
    font-size: 1.2em;
    color: #007bff; /* Color del texto */
}

header nav {
    display: flex;
    justify-content: center;
    align-items: center;
}

header nav a {
    color: #333;
    text-decoration: none;
    margin: 0 10px;
    padding: 5px 10px;
    border-radius: 5px;
    transition: background 0.3s ease;
}

header nav a:hover {
    background: rgba(0, 0, 0, 0.1);
    color: #007bff;
}

@media (max-width: 768px) {
    header {
        justify-content: center;
        padding: 10px 15px;
    }

    header .logo-nav-container {
        flex-direction: row; /* Cambiado a row para alinear horizontalmente */
        justify-content: space-between; /* Distribuye el espacio entre el logo y el hamburger */
        align-items: center; /* Centra verticalmente */
        width: 90%;
    }

    header nav {
        flex-direction: column;
        align-items: center;
        margin-top: 10px; /* Espacio entre el logo y el menú en pantallas pequeñas */
    }

    header nav a {
        margin: 5px 0;
        width: 100%; /* Asegura que los enlaces ocupen todo el ancho */
        text-align: center;
        padding: 10px;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    header .logo h3 {
        font-size: 1em; /* Ajusta el tamaño del texto en tablets */
    }

    header nav a {
        margin: 0 8px; /* Espaciado reducido para tablets */
    }
}

/* Estilos previos... */

header .hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
}

header .hamburger div {
    width: 25px;
    height: 3px;
    background-color: #333;
    margin: 3px 0;
    transition: 0.4s;
}

header nav {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease;
}

@media (max-width: 768px) {
    header {
        justify-content: space-between;
    }

    header nav {
        position: absolute;
        top: 60px; /* Ajusta según la altura de tu header */
        right: 0;
        background: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        flex-direction: column;
        align-items: center;
        width: 200px;
        padding: 10px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        display: none; /* Oculto por defecto */
    }

    header nav a {
        margin: 10px 0;
    }

    header .hamburger {
        display: flex;
    }

    header.active nav {
        display: flex; /* Muestra el menú cuando se activa */
    }
}

@media (max-width: 768px) {
    /* Estilos existentes para el header... */

    header .logo {
        /* Mantener el contenedor del logo visible */
        display: flex;
        align-items: center;
    }

    header .logo img {
        display: none; /* Oculta solo la imagen */
    }

    header .logo h3 {
        margin: 0;
        font-size: 1em; /* Ajusta el tamaño del texto para móviles */
        white-space: nowrap; /* Evita que el texto se rompa en múltiples líneas */
    }

    /* Si necesitas ajustar el espaciado */
    header .logo-nav-container {
        justify-content: space-between;
        padding: 0 10px;
    }
}

/* Para pantallas aún más pequeñas, podrías ajustar el tamaño del texto */
@media (max-width: 480px) {
    header .logo h3 {
        font-size: 0.9em; /* Ajusta según sea necesario */
    }
}