body {
    font-family: Cambria, Arial, sans-serif; 
    /* Color del fondo dividido a la mitad */
    background: linear-gradient(
        to right,
        #E9E0D9 0%,   /* color arriba */
        #E9E0D9 40%,  /* mitad */
        white 40%,    /* comienza el color abajo */
        white 100%
    );
    margin: 0; /* Elimina márgenes predeterminados del navegador */
    box-sizing: border-box; /* Incluye el padding dentro del ancho total */
    background-repeat: no-repeat;
    background-attachment: fixed;
    overflow-x: hidden; /* elimina el scroll horizontal sin tocar nada más. */
}


.header {
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    padding: 20px 70px; /* Arriba - Abajo / Izquierda - Derecha */
    background: white;
}
.header h1 {
    font-size: 30px;
    font-weight: bold;
    color: #333;
}
.nav ul {
    list-style: none; /* quita puntos */
    display: flex; /* pone los enlaces en fila */
    gap: 38px; /* espacio entre enlaces */
}
.nav a {
    text-decoration: none; /* quita el subrayado de los enlaces */
    color: #333; /* cambia el color del texto del enlace */
    font-size: 17px; /* tamaño del texto del menú */
    transition: 0.3s ease; /* hace suave el cambio de color al pasar el mouse */
}
.nav a:hover {
    color: #007bff; /* color azul cuando el cursor pasa encima */
}
.nav a.active { /* mantiene el color del hover al estar en esta */
    color: #007bff; /* mismo color que el hover */
}


.footer {
    position: fixed; 
    bottom: 0; 
    left: 0;
    width: 100%; 
    padding: 35px 60px; 
    background-color: white; 
    color: #333;
    box-sizing: border-box; /* Asegura que el padding no añada ancho extra */
}
.footer-contenido {
    display: flex;
    justify-content: space-between; 
    align-items: center;
    width: 100%; /* Asegura que ocupe todo el ancho del footer */
}
.footer a {
    text-decoration: none; /* quita el subrayado de los enlaces */
    color: #333; /* cambia el color del texto del enlace */
    transition: 0.3s ease; /* hace suave el cambio de color al pasar el mouse */
}
.footer a:hover {
    color: #007bff; /* color azul cuando el cursor pasa encima */
}
/* Espacio entre el icono de correo y la dirección */
.footer-right a i {
    margin-right: 5px; 
    font-size: 16px;   
    vertical-align: middle; /* Alinea el icono al centro vertical del texto */
}


.sobre-mi-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;          /* Separación entre foto y texto */
    padding: 40px;
    margin-top: 120px;
    transform: translateX(150px);
}
.sobre-mi-contenedor {
    background-color: #F5EEE8;
    padding: 40px 40px 0 40px; /* Arriba 40, Laterales 40, ABAJO 0 */
    border-radius: 10px;
    width: 220px;
    height: 320px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    align-items: center; 
}
.sobre-mi-foto img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 100px;
}
.sobre-mi-foto h2 {
    font-size: 22px;
    margin-top: 10px;
    text-align: center;
}
.linea-azul {
    width: 20%;
    height: 1px;
    background-color: #007bff;
    margin: 5px 0 20px 0;  /* arriba / laterales / abajo */
    border-radius: 2px;
    flex-shrink: 0;   /* evita que desaparezca */
}
.rol {
    margin: 5px auto;
}
.parte-blanca {
    background-color: white; /* Fondo blanco */
    width: 136%; /* Ocupa todo el ancho del contenedor padre */
    padding: 15px 0; /* Espaciado vertical para el alto de la barra */
    text-align: center;
    /* Redondea solo las esquinas inferiores para que coincidan con la tarjeta principal */
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    margin-top: 15px; 
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    display: flex; /* Pone los iconos en línea */
    justify-content: center; /* Centra el grupo de iconos en la barra */
    gap: 20px; 
    
}
.parte-blanca i {
    transition: none;
    color: #333; /* color fijo */ 
    transition: 0.3s ease;
    
}
.parte-blanca i:hover {
    color: #007bff; /* color al pasar el mouse */
}
.sobre-mi-texto {
    max-width: 570px;
}

.sobre-mi-texto h2 {
    font-size: 32px;
    margin-bottom: 15px;
}
.sobre-mi-texto h1 {
    font-size: 50px;
    margin-bottom: 15px;
}

.sobre-mi-texto p {
    font-size: 18px;
    line-height: 1.6;
    color: #555;
    text-align: justify;
}


@media (max-width: 768px) {
    body {
        background: linear-gradient(
            to bottom, /* Cambiamos a de arriba a abajo */
            #E9E0D9 0%, 
            #E9E0D9 35%, /* Usamos menos espacio para el color de arriba */
            white 35%, 
            white 100%
        );
    }
    .header {
        padding: 40px 20px; 
        flex-direction: column; 
        gap: 15px;
    }

    .nav ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap; 
        gap: 10px; 
        padding: 0; 
        margin: 0;
    }
    .nav a {
        font-size: 15px;
    }
    .sobre-mi-wrapper {
        flex-direction: column; 
        transform: translateX(0); 
        justify-content: center;
        align-items: center;

        margin-top: 50px; 
        gap: 40px;
    }
    .sobre-mi-texto {
        max-width: 90%; 
        padding: 0 15px; 
        text-align: left;  
    }
    .sobre-mi-texto p {
    font-size: 16px;
    text-align: left; 
    }
    .sobre-mi-texto h1 {
        font-size: 36px;
        text-align: center; 
        padding-bottom: 10px; 
    }
    .sobre-mi-texto h2 {
        font-size: 24px;
        text-align: center; 
        padding-bottom: 10px
    }
    .sobre-mi-contenedor {
        width: 80%; 
        height: auto; 
        padding: 40px 20px 0 20px; 
    }
    .parte-blanca {
        width: calc(100% + 40px); /* 100% del contenido + 20px de padding izquierdo + 20px de padding derecho */
        transform: translateX(0); 
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
    }
    .footer {
        padding: 50px 30px;
        position: static; /* Ya no está fijo al final de la ventana, sino al final de la página */
        width: 100%;
        box-sizing: border-box;
    }
    .footer-contenido {
        flex-direction: column; 
        justify-content: center;
        gap: 20px; /* Espacio entre los elementos */
        text-align: center;
        align-items: center; /* Centra horizontalmente */
    }
    .footer-left {
        order: 2;
        font-size: 14px;
    }
    .footer-right {
        order: 1; 
        font-size: 16px;
    }
}