/** Agregamos la fuente que vamos a utilizar en la pagina  */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;400;600&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Montserrat';    
}

html{
    scroll-behavior: smooth;
}

/** #inicio {
    background: linear-gradient(rgba(0,0,0,.7), rgba(0,0,0,.7)), url('https://new.express.adobe.com/id/urn:aaid:sc:US:23094ad3-64b5-5666-a3d8-c59cda6fb093?invite=true&promoid=Z2G1FQKR&mv=other');
    background-size: cover;
    background-position: center center;
    height: 100vh;
} */

#inicio-v{
    height: 100vh;
    background-size: cover;
    background-position: center center;
}

.video-fondo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1; /* Coloca el video detrás del contenido */
}

.video-fondo video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Asegura que el video cubra todo el contenedor */
}

.video-pequena {
    display: none; /* Oculta el video pequeño por defecto */
}

@media screen and (max-width: 600px) {
    .video-grande {
        display: none; /* Oculta el video grande en pantallas pequeñas */
    }

    .video-pequena {
        display: block; /* Muestra el video pequeño en pantallas pequeñas */
        width: 90%; /* Asegúrate de que se ajuste al contenedor */
        height: auto; /* Mantiene la proporción del video */
    }
}

@media screen and (min-width: 601px) {
    .video-grande {
        display: block; /* Muestra el video grande en pantallas grandes */
        width: 100%; /* Asegúrate de que se ajuste al contenedor */
        height: auto; /* Mantiene la proporción del video */
    }

    .video-pequena {
        display: none; /* Oculta el video pequeño en pantallas grandes */
    }
}

/* Resto del CSS */

#inicio .contenido header{
    background-color: rgba(0, 0, 0, .8);
    position: fixed;
    width: 100%;
    z-index: 100;
    top: 0;
}

#inicio .contenido header .contenido-header{
    max-width: 1100px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    color: #0b048f;
}

#inicio .contenido header .contenido-header h1{
    text-align: center;
    color: #2E49F5;
}

#inicio .contenido header .contenido-header nav ul{
    list-style: none;
    display: flex;
    align-items: center;
}

#inicio .contenido header .contenido-header nav ul li a{
    text-decoration: none;
    color: #fff;
    margin: 0 12px;
    font-weight: 400;
    transition: .5s;
}

#inicio .contenido header .contenido-header nav ul a:hover{
    color: #2E49F5;
}

#inicio .contenido header .contenido-header .redes a{
    text-decoration: none;
    color: #fff;
    display: inline-block;
    margin-left: 10px;
    transition: .5s;
}

#inicio .contenido header .contenido-header .redes a:hover{
    color: #2E49F5;
}

#inicio .contenido .presentacion{
    max-width: 1100px;
    height: 100vh;
    margin: auto;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#inicio .contenido .presentacion .bienvenida{
    font-size: 26px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 5px;
}

#inicio .contenido .presentacion h2{
    font-size: 55px;
    margin-bottom: 25px;
    text-align: center;
}

#inicio .contenido .presentacion h2 span{
    font-size: 55px;
    color: #2E49F5;    
}

#inicio .contenido .presentacion .descripcion{
    max-width: 800px;
    margin: 25px auto;
    font-size: 18px;
    text-align: center;
}

#inicio .contenido .presentacion a{
    text-decoration: none;
    display: inline-block;
    margin: 25px;
    padding: 20px 25px;
    border: 2px solid #fff;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    transition: .5s;
}

#inicio .contenido .presentacion a:hover{
    background-color: #0d03cf;
    color: #0a00be;
}

#icon-nav{
    color: #052ee6;
    display: none;
}

#linkedin{
    color: #0b048f;
    display: none;
}

/** seccion  sobre mi estilos */ 

#sobremi{
    max-width: 1100px;
    margin: auto;
    padding: 100px 15px;
    color: #111135;
    display: flex;
}

#sobremi .contenedor-foto{
    max-width: 500px;
    margin-right: 300px;
    margin-top: 10%;
}

#sobremi .contenedor-foto img{
    padding: 20%;
    width: 250%;
    border-radius: 25px;
    background-color: #fff;
}

#sobremi .sobremi{
    margin: 0 4px;
}

#sobremi .sobremi .titulo-seccion{
    font-size: 22px;
    text-transform: uppercase;
    color: #111135;
    text-decoration: underline;
    text-decoration-color: #2E49F5;
    text-decoration-thickness: 5px;
}

#sobremi .sobremi h2{
    font-size: 35px;
    font-weight: bold;
    margin: 20px 0;
    letter-spacing: 2px;
}

#sobremi .sobremi h2 span{
    color: #2E49F5;
}

#sobremi .sobremi h3{
    font-size: 25px;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

#sobremi .sobremi p{
    font-size: 14px;
    line-height: 25px;
    color: #565656;
    margin-bottom: 12px;
}

#sobremi .sobremi a{
    display: inline-block;
    text-decoration: none;
    color: #000;
    border-radius: 30px;
    padding: 10px 20px;
    border: 1px solid #000;
    margin-top: 30px;
    transition: .5s;
}

#sobremi .sobremi a:hover{
    background-color: #2E49F5;
    color: #fff;
}

/* =========================================
   SECCION SERVICIOS - ESTILO CUÁNTICO/RGB
   ========================================= */

#servicios {
    background: linear-gradient(#4e64f8, rgba(9,8,1,.3)), url("https://plus.unsplash.com/premium_photo-1661715955019-89f39802cd4d?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D");
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 100px 0;
    text-align: center;
}

#servicios .titulo-seccion {
    font-size: 22px;
    text-transform: uppercase;
    color: #fff; /* Texto blanco para destacar sobre fondo oscuro */
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.8); /* Brillo neón cyan */
    text-decoration: underline;
    text-decoration-color: #00ffff;
    text-decoration-thickness: 5px;
    margin-bottom: 40px;
}

#servicios .fila {
    display: grid;
    /* Grid responsive automático */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto 40px auto;
    padding: 0 20px;
}

#servicios .fila .servicio {
    background-color: #050505; /* Fondo ultra oscuro */
    padding: 40px 30px;
    border-radius: 15px;
    transition: all 0.4s ease;
    border: 2px solid rgba(46, 73, 245, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
    color: #c4c4c4;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Efecto hover general de la tarjeta */
#servicios .fila .servicio:hover {
    transform: translateY(-10px);
    border-color: #00ffff;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(46, 73, 245, 0.4);
    z-index: 2;
}

#servicios .fila .servicio h4 {
    font-size: 22px;
    margin-bottom: 15px;
    color: #fff;
}

/* Estilos del icono */
#servicios .fila .servicio .icono {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #111;
    color: #00ffff;
    font-size: 30px;
    margin-bottom: 25px;
    border: 2px solid #2E49F5;
    box-shadow: 0 0 10px rgba(46, 73, 245, 0.5);
    transition: all 0.4s ease;
}

/* Efecto hover en el icono */
#servicios .fila .servicio:hover .icono {
    background-color: #00ffff;
    color: #050505;
    box-shadow: 0 0 20px #00ffff;
    border-color: #00ffff;
}

/* Línea separadora animada */
#servicios .fila .servicio hr {
    width: 30%;
    margin: auto;
    border: none;
    height: 2px;
    background-color: #2E49F5;
    margin-bottom: 25px;
    transition: width 0.4s ease;
}

#servicios .fila .servicio:hover hr {
    width: 60%;
    background-color: #00ffff;
    box-shadow: 0 0 10px #00ffff;
}

/* Etiquetas de habilidades tipo terminal */
#servicios .fila .servicio ul {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    width: 100%;
    padding: 0;
}

#servicios .fila .servicio ul li {
    background: rgba(46, 73, 245, 0.1);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 13px;
    color: #00ffff;
    border: 1px solid rgba(46, 73, 245, 0.5);
}

#servicios .fila .servicio p {
    font-size: 14px;
    line-height: 22px;
    text-align: center;
}

/** seccion skill habilidades blandas*/

.contenedor-skills{
    background: linear-gradient(#6764a4, rgba(33,16,16,.8)), url("https://images.pexels.com/photos/614117/pexels-photo-614117.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1");
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 100px 0;
    text-align: center;
}

/* =========================================
   SECCION PORTAFOLIO - ESTILO CUÁNTICO/RGB
   ========================================= */
#portafolio{
    background: linear-gradient(#4e64f8, rgba(9,8,1,.3)), url("https://images.unsplash.com/photo-1607706189992-eae578626c86?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D");
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 100px 0;
    text-align: center;
}

#portafolio .titulo-seccion{
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
    color: #111135;
    text-decoration: underline;
    text-decoration-color: #111135;
    text-decoration-thickness: 5px;
}

#portafolio .fila {
    display: grid;
    /* Esto hace la magia responsive: crea columnas de mínimo 300px y máximo 1 fracción del espacio */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px; /* Excelente espaciado entre tarjetas */
    max-width: 1200px;
    margin: 50px auto; /* Centrado con margen superior e inferior */
    padding: 0 20px; /* Padding para que no toque los bordes en celulares */
}

#portafolio .fila .proyecto {
    position: relative;
    overflow: hidden;
    border-radius: 15px; /* Bordes redondeados modernos */
    background-color: #050505; /* Fondo ultra oscuro para resaltar el neón */
    transition: all 0.4s ease;
    border: 2px solid rgba(46, 73, 245, 0.2); /* Borde sutil inicial */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}

/* EFECTO HOVER: RGB y Elevación */
#portafolio .fila .proyecto:hover {
    transform: translateY(-10px); /* Efecto de levitación */
    border-color: #2E49F5; /* Color base de tu marca */
    /* Sombra múltiple para efecto RGB/Neón brillante */
    box-shadow: 0 0 15px rgba(46, 73, 245, 0.6),
                0 0 30px rgba(255, 0, 255, 0.4), /* Tono magenta */
                0 0 45px rgba(0, 255, 255, 0.4); /* Tono cyan */
    z-index: 2;
}

#portafolio .fila .proyecto img {
    width: 100%;
    height: 250px; /* Altura fija para que todas las tarjetas sean idénticas */
    object-fit: cover; /* Evita que las imágenes se deformen */
    filter: grayscale(100%) contrast(120%); /* Un toque más dramático en escala de grises */
    transition: .5s ease;
}

#portafolio .fila .proyecto:hover img {
    filter: grayscale(0) contrast(100%);
    transform: scale(1.05); /* Pequeño zoom a la imagen */
}

/* EFECTO DE LA INFORMACIÓN (TEXTO) */
#portafolio .fila .proyecto .info {
    position: absolute;
    left: 0;
    /* Degradado oscuro hacia arriba en lugar de un color sólido */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 40%, transparent);
    color: #fff;
    width: 100%;
    padding: 30px 20px 20px 20px;
    opacity: 0;
    bottom: -50px;
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); /* Transición con rebote moderno */
}

#portafolio .fila .proyecto:hover .info {
    opacity: 1;
    bottom: 0;
}

#portafolio .fila .proyecto .info h4 {
    color: #00ffff; /* Color cyan estilo "hacker/cuántico" */
    text-shadow: 0 0 8px rgba(0, 255, 255, 0.6); /* Brillo en el texto */
    font-size: 18px;
    margin-bottom: 5px;
}

#portafolio .fila .proyecto .info p {
    color: #c4c4c4;
    font-size: 14px;
}
/* termina portafolio */

/* seccion estilos contactos */

#contacto {
    padding: 100px 15px;
}

#contacto .titulo-seccion {
    margin-bottom: 20px;
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
    color: #111135;
    text-decoration: underline;
    text-decoration-color: #171090;
    text-decoration-thickness: 5px;
}

#contacto .contenedor-form {
    max-width: 1100px;
    margin: auto;
}

#contacto .contenedor-form .fila {
    margin-bottom: 15px;
}

#contacto .contenedor-form .mitad{
    display: flex;
    justify-content: space-between;
}

#contacto .contenedor-form input,
#contacto .contenedor-form textarea {
    padding: 20px;
    border-radius: 20px;
    border: none;
    border: 1px solid #0b048f;
}
#contacto .contenedor-form .mitad input{
    width: 48%;
}

#contacto .contenedor-form .input-full {
    width: 100%;
}

#contacto .btn-enviar {
    display: block;
    margin: auto;
    cursor: pointer;
    transition: .5s;
    padding: 10px 15px;
    font-size: 18px;
    font-weight: bold;
}

#contacto .btn-enviar:hover{
    background-color: #3d34e5;
    color: #fff;
}

/* seccio footer */

footer{
    background-color: #000;
    color: #0d04bb;
    text-align: center;
    padding: 30px 0;
}

footer a{
    text-decoration: none;
    color: #3228ef;
    display: inline-block;
    margin: 5px;
    font-size: 26px;
}

/* seccion responsive */

@media screen and (max-width:800px){
    .redes{
        display: none;
    }
    nav {
        display: none;
    }
    nav.responsive{
        display: block;
        background-color: #0a00be; 
        width: 100%;
        position: absolute;
        top: 48px;
        left: 0;
        padding: 10px 0;
    }
    nav.responsive ul{
        display: block !important;
        text-align: center;
    }
    nav.responsive ul li{
        margin: 5px 0;
    }
    #icon-nav{
        display:flex;
    }
    .blanco{
        color: #0d01f8;
    }
    .linkedin{
        color: #0a00be;
        display: block;
    }
    
    #sobremi{
        padding: 50px;
        display: block;
    }
    #sobremi .contenedor-foto{
        max-width: 130px;
        margin: 5px;
    }
    #sobremi .contenedor-foto img{
        padding: 8px;
    }
    #sobremi .sobremi .titulo-seccion {
        text-align: center;
    }
    #sobremi .sobremi h2 {
        font-size: 25px;
        text-align: center;
    }
    #sobremi .sobremi h3 {
        margin-left: 25px;
        text-align: center;
    }
    #sobremi .sobremi p {
        margin-left: 25px;
        text-align: center;
    }
    #sobremi .sobremi a{
        margin-left: 30%;
        text-align: center;
    }

    #servicios {
        padding: 50px 0;
    }
    
    .contenedor-skills{
        padding: 50px 20px;
    }
    
    #contacto{
        padding: 50px 15px;
    }
    #contacto .contenedor-form .mitad{
        margin-bottom: 15px;
        display: block;
    }
    #contacto .contenedor-form .mitad input{
        width: 100%;
        margin-bottom: 15px;
    }
}
