body {
    font-family: Arial, sans-serif;
    margin: 0;
    background-color: #f8f9fa; /* Color de fondo ligeramente más vivo */
    position: relative;
    padding-bottom: 100px; /* Altura del footer */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
/* Estilos generales */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    background-color: #f8f9fa; /* Color de fondo ligeramente más vivo */
    position: relative;
    padding-bottom: 100px; /* Altura del footer */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

header {
    text-align: center;
    background-color: #f5f5f5; /* Color beige claro */
    color: #333; /* Color del texto */
    padding: 20px 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

main {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    flex: 1;
    background-color: #fff; /* Color blanco */
}

footer {
    background-color: #f5f5f5; /* Color beige claro */
    color: #333; /* Color del texto */
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 20%; /* Altura del footer */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative; /* Añadimos posición relativa para el menú de navegación */
}

nav ul li {
    display: inline-block; /* Cambiamos a inline-block para alinear los elementos */
    margin: 0 10px;
}

nav ul li a {
    color: #000000;
    text-decoration: none;
    padding: 10px 0; /* Ajustamos el relleno */
    border-radius: 5px;
    transition: color 0.3s ease; /* Agregamos una transición de color */
    position: relative; /* Añadimos posición relativa para el enlace */
}

nav ul li a:hover {
    color: #ff9900;
}

nav ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; /* Ajustamos el ancho para cubrir todo el texto */
    height: 2px; /* Altura de la línea */
    color: #ff9900;
    background-color: #ff9900; /* Color de la línea */
    transform: scaleX(0); /* Inicialmente ocultamos la línea */
    transition: transform 0.3s ease; /* Agregamos una transición */
}

nav ul li a:hover::after,
nav ul li a.active::after {
    color: #ff9900;
    transform: scaleX(1); /* Mostramos la línea al hacer hover o cuando esté activo */
}

/* Estilos para pantallas más pequeñas (menos de 768px de ancho) */
/* Estilos generales */

/* Agrega tus estilos generales aquí */

/* Estilos para pantallas más pequeñas (menos de 768px de ancho) */
@media screen and (max-width: 768px) {
    /* Desactiva los efectos hover en dispositivos móviles */
    .card:hover .description,
    .card:hover .explore-btn {
        opacity: 1; /* Asegúrate de que los elementos sean visibles en dispositivos móviles */
    }
    /* Ajustes para las imágenes de los proyectos */
    .project img {
        width: 100%; /* Asegura que las imágenes ocupen todo el ancho disponible */
        height: auto; /* Mantiene la proporción de aspecto de las imágenes */
    }

    /* Ajustes para las descripciones de los proyectos */
    .card .description {
        top: 50%; /* Centra la descripción verticalmente */
        transform: translate(-50%, -50%);
        width: 80%; /* Ajusta el ancho para que se adapte mejor a dispositivos móviles */
        padding: 10px; /* Ajusta el relleno de la descripción */
        font-size: 14px; /* Tamaño de fuente más pequeño para dispositivos móviles */
    }

    /* Ajustes para el menú principal en formato móvil */
    nav ul {
        flex-direction: column; /* Cambia la dirección del flujo a columna */
        align-items: center; /* Centra los elementos del menú verticalmente */
    }

    nav ul li {
        margin: 10px 0; /* Agrega espacio entre los elementos del menú */
    }

    .line {
        display: none; /* Oculta la línea que indica la sección activa en dispositivos móviles */
    }
    header {
        padding: 10px 0; /* Reducir el relleno del encabezado */
    }

    nav ul {
        display: none; /* Ocultar la lista de enlaces en pantallas pequeñas */
    }

    .line {
        display: none; /* Ocultar la línea de resaltado en pantallas pequeñas */
    }

    /* Estilos para el menú de navegación desplegable */
    .nav-toggle {
        display: block; /* Mostrar el botón de alternar menú */
    }

    .nav-open ul {
        display: block; /* Mostrar la lista de enlaces cuando el menú está abierto */
    }

    .nav-link {
        display: block; /* Mostrar los enlaces uno debajo del otro */
        padding: 10px 0; /* Ajustar el relleno de los enlaces */
    }

    /* Estilos para el contenido principal */
    main {
        padding: 20px 10px; /* Reducir el relleno en pantallas pequeñas */
    }

    /* Estilos para los botones */
    .explore-btn,
    .back-link,
    .download-btn {
        padding: 8px 16px; /* Ajustar el relleno de los botones */
        font-size: 14px; /* Reducir el tamaño de fuente de los botones */
    }

    /* Estilos para la cuadrícula de proyectos en pantallas pequeñas */
    .grid-container {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); /* Reducir el tamaño de las columnas */
        grid-gap: 10px; /* Reducir el espacio entre los proyectos */
    }
}

/* Estilos adicionales para el sitio */
/* Agrega tus estilos personalizados aquí */

header {
    text-align: center;
    background-color: #f5f5f5; /* Color beige claro */
    color: #333; /* Color del texto */
    padding: 20px 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

main {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    flex: 1;
    background-color: #fff; /* Color blanco */
}

footer {
    background-color: #f5f5f5; /* Color beige claro */
    color: #333; /* Color del texto */
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 20%; /* Altura del footer */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative; /* Añadimos posición relativa para el menú de navegación */
}

nav ul li {
    display: inline-block; /* Cambiamos a inline-block para alinear los elementos */
    margin: 0 10px;
}

nav ul li a {
    color: #000000;
    text-decoration: none;
    padding: 10px 0; /* Ajustamos el relleno */
    border-radius: 5px;
    transition: color 0.3s ease; /* Agregamos una transición de color */
    position: relative; /* Añadimos posición relativa para el enlace */
}

nav ul li a:hover {
    color: #ff9900;
}

nav ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; /* Ajustamos el ancho para cubrir todo el texto */
    height: 2px; /* Altura de la línea */
    color: #ff9900;
    background-color: #ff9900; /* Color de la línea */
    transform: scaleX(0); /* Inicialmente ocultamos la línea */
    transition: transform 0.3s ease; /* Agregamos una transición */
}

nav ul li a:hover::after,
nav ul li a.active::after {
    color: #ff9900;
    transform: scaleX(1); /* Mostramos la línea al hacer hover o cuando esté activo */
}


/* main {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    flex: 1;
} */
/* footer {
    background-color: #333; 
    color: #fff;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 20%;
}*/

/* .container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
} */

.card {
    width: 300px;
    height: 300px; /* Tamaño fijo de la tarjeta */
    margin: 20px;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.card i {
    position: absolute;
    top: 25%; /* Ajustamos la posición inicial para que esté un poco más arriba del centro */
    left: 50%;
    transform: translateX(-50%);
    transition: top 0.5s ease; /* Añadimos la transición para el desplazamiento vertical */
}

.card:hover i {
    top: 10%; /* Desplazamos el ícono hacia arriba al hacer hover */
}
.card h2 {
    margin: 0; /* Eliminamos el margen para centrar correctamente */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.5s ease; /* Agregamos transición para el desplazamiento */
}

.card .description {
    position: absolute;
    top: 40%; /* Ajustamos la posición vertical */
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px;
    color: #000000;
    opacity: 0;
    transition: opacity 0.5s ease; /* Agregamos transición para la opacidad */
    width: 80%; /* Cambiamos el ancho para que ocupe el 80% de la tarjeta */
}

.card .explore-btn {
    position: absolute;
    top: 55%; /* Ajustamos la posición vertical */
    left: 50%;
    transform: translateX(-50%);
    padding: 10px 20px;
    border-radius: 5px;
    background-color: #555;
    color: #fff;
    text-decoration: none;
    transition: opacity 0.3s ease; /* Agregamos transición para la opacidad */
    opacity: 0; /* Inicialmente oculto */
}

.card:hover h2 {
    transform: translate(-50%, 150%); /* Desplazamiento hacia abajo */
}

.card:hover .description {
    opacity: 1; /* Mostrar la descripción al hacer hover */
}

.card:hover .explore-btn {
    opacity: 1; /* Mostrar el botón de explorar al hacer hover */
}


.footer-info,
.footer-social {
    flex: 1;
}

.footer-info h3,
.footer-social h3 {
    margin-bottom: 20px;
}

.footer-info p {
    margin-bottom: 10px;
}

.footer-social ul {
    list-style: none;
    padding: 0;
}

.footer-social ul li {
    margin-bottom: 10px;
}

.footer-social ul li a {
    color: #000000;
    text-decoration: none;
}

.footer-social ul li a:hover {
    text-decoration: underline;
}

.footer-social ul li a i {
    margin-right: 5px; /* Agregamos un margen a la derecha del icono */
}

.copyright {
    background-color: #222;
    text-align: center;
    padding: 10px 0;
    color: #fff;
}
/* Estilos para la cuadrícula de proyectos */
.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 20px;
    padding: 20px;
}
.project {
    position: relative;
    perspective: 1000px; /* Ajustamos la perspectiva para el efecto 3D */
}

.project img {
    max-width: 300px;
    height: auto;
    transition: transform 0.5s ease; /* Añadimos una transición suave */
}

.project:hover img {
    transform: rotateY(10deg) rotateX(-10deg) scale(1.1); /* Rotamos y escalamos la imagen al hacer hover */
}
/* .project {
    position: relative;
}

.project img {
    max-width: 300px;
    height: auto;
} */

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Color de fondo semi-transparente */
    color: #fff;
    opacity: 0; /* Inicialmente oculto */
    transition: opacity 0.3s ease; /* Agregamos una transición de opacidad */
    padding: 20px;
    box-sizing: border-box;
}

.project:hover .overlay {
    opacity: 1; /* Mostrar la superposición al hacer hover */
}

.main-title {
    text-align: center;
    margin-top: 20px; /* Ajusta el margen superior según sea necesario */
}

.grid-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.project {
    margin: 10px;
}

footer {

    padding: 1px 0; /* Ajusta el espacio alrededor del footer según sea necesario */
}

/* Estilos para la sección "About Me" */
.about-section {
    display: flex;
    justify-content: center;
}

.about-image {
    margin-right: 20px; /* Espacio entre la imagen y el texto */
}

.about-image img {
    width: 350px; /* Ajusta el tamaño de la imagen según sea necesario */
    height: 500px; /* Ajusta el tamaño de la imagen según sea necesario */
    border-radius: 5px;
}

.about-text {
    width: 500px; /* Ajusta el ancho del cuadro de texto según sea necesario */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-text h2 {
    margin-top: 0;
    text-align: center;
}

.about-container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 50px; /* Ajusta según sea necesario */
}
.download-btn {
    background: linear-gradient(to right, #ffcc00, #ff9900); /* Aplica un degradado de colores */
    color: #fff; /* Color del texto */
    text-align: center;
    padding: 10px 20px; /* Ajusta el padding según sea necesario */
    border-radius: 5px; /* Añade bordes redondeados */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Aplica una sombra sutil */
    /* Otros estilos, como margin, font-size, etc., si es necesario */
}

.download-btn a {
    color: inherit; /* Hereda el color del texto del botón */
    text-decoration: none; /* Elimina el subrayado predeterminado del enlace */
}

.download-btn:hover {
    background: linear-gradient(to right, #ff9900, #ff6600); /* Cambia el degradado al hacer hover */
}


.mockup-images {
    text-align: center; /* Centra las imágenes horizontalmente */
}

.mockup-img {
    max-width: 300px; /* Ajusta el tamaño máximo según sea necesario */
    height: auto;
    margin: 10px; /* Añade margen entre las imágenes */
    cursor: pointer; /* Cambia el cursor al pasar sobre las imágenes */
}

.expanded {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9); /* Fondo semi-transparente */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* Asegura que la imagen expandida esté en la parte superior */
}

.expanded-img {
    max-width: 90%; /* Ajusta el tamaño máximo de la imagen expandida */
    max-height: 90vh; /* Ajusta la altura máxima de la imagen expandida */
    cursor: pointer; /* Cambia el cursor para cerrar la imagen al hacer clic */
}
.close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #fff;
    cursor: pointer;
    z-index: 10000;
}
.back-link {
    display: inline-block;
    padding: 10px 20px;
    background: linear-gradient(to right, #ffcc00, #ff9900); /* Aplica un degradado de colores */
    color: #fff; /* Color del texto */
    text-align: center;
    text-decoration: none; /* Elimina el subrayado predeterminado del enlace */
    border-radius: 5px; /* Añade bordes redondeados */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Aplica una sombra sutil */
    /* Otros estilos, como margin, font-size, etc., si es necesario */
}

.back-link:hover {
    background: linear-gradient(to right, #ff9900, #ff6600); /* Cambia el degradado al hacer hover */
}

.project-columns {
    display: flex;
    justify-content: space-between;
}

.project-development,
.project-design {
    width: calc(50% - 10px); /* El 10px es para dejar un pequeño espacio entre las columnas */
}
.custom-button {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    display: inline-block;
    padding: 10px 20px;
    background-color: #ff6600; /* Color de fondo naranja */
    color: #fff; /* Color del texto blanco */
    text-decoration: none; /* Eliminar subrayado del texto */
    border-radius: 5px; /* Bordes redondeados */
    transition: background-color 0.3s ease; /* Transición suave del color de fondo */
    text-align: center; /* Alinear texto al centro horizontalmente */
    line-height: 30px; /* Establecer altura de línea para centrar verticalmente */
}

.custom-button span {
    display: inline-block;
}

.custom-button:hover {
    background-color: #cc5500; /* Cambio de color de fondo al pasar el ratón */
}
.video-container {
    display: flex;
    justify-content: center;
}

.video-container iframe {
    width: 560px; /* Ajusta el ancho del video según sea necesario */
    height: 315px; /* Ajusta la altura del video según sea necesario */
}
.video-and-art {
    display: flex;
    justify-content: center;
    align-items: center;
}

.video-container, .mockup-container {
    margin: 0 10px; /* Agrega un espacio entre el video y el arte final */
}


.explore-btn {
    background: linear-gradient(to right, #ffcc00, #ff9900); /* Aplica un degradado de colores */
    color: #fff; /* Color del texto */
    padding: 10px 20px; /* Ajusta el padding según sea necesario */
    border-radius: 5px; /* Añade bordes redondeados */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Aplica una sombra sutil */
    /* Otros estilos, como margin, font-size, etc., si es necesario */
}

.explore-btn:hover {
    background: linear-gradient(to right, #ff9900, #ff6600); /* Cambia el degradado al hacer hover */
}
