:root {   /*Esto sería crear variables a nivel de carpetas*/
    --light-primary-color:greenyellow;
    --dark-primary-color:#1e1e2e;
}

body.light-theme{   /*Estilos de la clase light-theme*/
    --background-color: #3ba0ad;     /*Creamos una variable*/
    --a-link: #fff;
    --a-link-hover: var(--dark-primary-color);
    --color-h2: #1e1e2e;
}


body.dark-theme{   /*Estilos de la clase light-theme*/
    --background-color: #1e1e2e;    /*Creamos una variable*/
    --a-link: #fff;
    --a-link-hover: var(--light-primary-color);
    --color-h2: greenyellow;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--background-color);       /*Le ponemos una variable*/
    color: #fff;
}

a{
    text-decoration: none;
    color: var(--a-link);
    cursor: pointer;
    transition: all .4s ease;  /*hace la transición de color entre ratón encima (hover) y no, más lenta, de 4 segundos*/
}

a:hover{
    color: var(--a-link-hover);
}

header{
    position: sticky;
    top: 0;    /*Para que funcione sticky, tenemos que darle una medida de arriba*/
    backdrop-filter: blur(10px);  /*filtro que se queda por encima del resto de la web que al tirar hacia arriba, se sobreponen*/
    z-index: 100;
}

nav{
    display: flex;
    gap: 200px;
    justify-content: center;
    align-items: center;
    padding: 30px;
}

.links-navbar{
    display: flex;
    gap: 50px;
}

.btn-cambiar-tema{
    background-color: transparent;
    border: none;
}

.section{
    display:flex;
    flex-direction: column;
    gap: 30px;
    min-height: 100vh;
    max-width: 70%;   /*Aconseja darle un ancho máximo a la caja porque facilita la lectura para el cliente*/
    margin: 0 auto;   /*Y así centra la caja*/
}

section::before{   
    content: "";
    display: block;
    height: 100px;
    margin-top: 0;
    visibility:hidden;
}

.titulo{
    color: var(--color-h2);
    text-align: center;
    font-size: 32px;
}


/********************PRESENTACION*******************************/

.presentacion-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    text-align: justify;
}

.img-circular{
    width: 300px;
    height: auto;
    border-radius: 100%;
    object-fit: cover;  /*Para asegurarnos de que la imagen no se nos está yendo, que queremos qeu cubra el espacio del contenedor*/
    object-position: center; /*Que coja el punto central de mi imagen*/
}

.presentacion-container p{
    max-width: 600px;
}

.iconos{
    display: flex;
    gap: 30px;
    justify-content: center;
}

.icono{
    width: 40px;
    height: auto;
    transition: all .3s ease;
}

.icono:hover{
    transform: translateY(-5px) scale(1.05);  /*Esto es para que al pasar el ratón suba un poco el icono y se haga un poco más grande*/
}

/********************PROYECTOS*******************************/

.grid-2{
    display: grid;
    grid-template-columns: repeat(2, 1fr); /*Queremos 2 columnas que ocupan 1 fraccion*/
    width: 100%;
    margin: 0 auto;
    gap: 40px;
}

@media (max-width:1024px){   /*Cuando sea menor de 1024, el grid, en vez de tener dos columnas, tendrá una. El tamaño de las tablets coge hasta 1024*/
    .grid-2{
        grid-template-columns: 1fr;
        width: 100%;
    }
}

.proyectos-container{
    display: flex;
    align-items: flex-end;  /*Para que coloque el texto en la parte de abajo*/
    width: 100%;
    height: 400px;
    border-radius: 10px;
    box-shadow: 1px 7px 10px 2px #000;  /*Para que saque una sombrita negra*/
    /*background-image: url(../assets/proyectos/ejemplo1.png);*/
    background-size: cover;  /*se redimensiona y adapta al tamaño*/
    background-repeat: no-repeat;
    /*background-position: center;*/
    cursor: pointer;
    transition: all .3s ease;  /*Transición a todo lo que hagamos de .3 segundos*/
}

.proyectos-container:hover{
    transform: scale(1.05);
    box-shadow: 1px 7px 10px 2px purple;
}

.descripcion{
    display: flex;
    flex-direction: column;
    justify-content: end;  /*Bajo el texto abajo*/
    gap: 10px;
    padding: 30px;
    border-radius: 10px;
    background: linear-gradient(to top, #000, transparent);
    width: 100%;
    height: 70%;
}

.descripcion h3{
    font-weight: 500;
}

.descripcion p{
    font-weight: 300;
}

.descripcion small{
    font-style: italic;
    color: greenyellow;
}

/********************CONTACTO*******************************/

.formulario-container{      /*Con el flex lo colocamos en columna. Le decimos que ocupe el 70% de la página. Con un margen de 50 arribba y abajo, y auto a los lados. Le onemos borde. Padding y fondo color.*/
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 600px; /*Agrandará hasta que sean 600px y de ahí no pasará*/
    margin: 50px auto;
    border: 1px solid grey;
    border-radius: 10px;
    padding: 40px;
}

.titulo{      /**/
    text-align: center;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin-top: 50px;
}

.form{    /*Ponemos los elementos en columna. Np me acuerdo qué era el gap. Que ocupe el 70% del contenedor. El margin para que esté centrado en 0 y auto.*/
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin: 0 auto;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.input-contenedor{
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.input-contenedor input{      /*Le dejamos el borde solo abajo, muy bonito*/
    padding: 5px;
    border: none;
    border-bottom: 2px solid grey;
    background-color: transparent;
    color: #fff;
}

.input-contenedor textarea{
    padding: 5px;
    border: none;
    border: 2px solid grey;
    background-color: transparent;
    color: #fff;
    resize: none;
}

.button-contenedor{
    display: flex;
    flex-direction: column;
    margin-top: 20px;
}

.button-contenedor button{          /*Para que cambie al poner el ratón*/
    padding: 10px 20px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all .3s ease;
}

.button-contenedor button:hover{
    background-color: greenyellow;
    transform: translateY(-5px);
}

.valido{
    border-color: green;
}

.invalido{
    border-color: red;
}

.error{
    color: red;
}


/********************ICONO ARRIBA*******************************/

.icono-top{
    position: fixed;
    bottom: 100px;
    right: 100px;
    height: 60px;
    width: auto;
    transition: all .3s ease;
    cursor: pointer;
}

.icono-top:hover{
    transform: translateY(-5px);
}