html{
    box-sizing: border-box; /* esto es para cuando agreguemos un width y un padding, no modifique el tamano de ese elemento*/
    font-size: 62.5%; /*1rem = 10px, esto es como un hack que se recomienda poner*/
}
*, *:before, *:after {/*esto es como un hack que se recomienda poner*/
    box-sizing: inherit;
}


body{
    font-family: 'Raleway', sans-serif;
    font-size: 1.6rem;
    line-height: 2;
}

/* GLOBALES------------------------------------------------------------------------------------------------ */
/* es recomendable siempre definir esta parte de globales antes de empezar con el proyecto,
se puede usar este mismo codigo, casi siempre sera asi */

h1,h2,h3{
    font-family: 'Playfair Display', serif;
    margin: 0 0 2rem 0;
}



h1{
    font-size: 4rem;
}
@media (min-width: 768px ) { 
    h1{
        font-size: 5rem;
    }
 }



h2{
    font-size: 3.2rem;
}
@media (min-width: 768px ) { 
    h2{
        font-size: 4rem;
    }
 }



h3{
    font-size: 2.4rem;
}
@media (min-width: 768px ) { 
    h3{
        font-size: 3rem;
    }
 }


a {
    text-decoration: none;
    color: #000;
}

.contenedor{ /* por decirlo asi, Esto vendria siendo los row y col de bootstrap*/
    max-width: 120rem;
    margin: 0 auto; /**/
}

img {
    max-width: 100%;
    display: block;
}


.btn{
    background-color: #8cbc00;
    display: block;
    color: #ffffff;
    text-transform: uppercase;
    font-weight: 900;
    padding: 1rem;
    transition: background-color .3s ease-out;
    text-align: center;
    border: none;
    width: 100%;
}


.btn:hover{
    background-color: #769c02;
    cursor: pointer;
}

@media (min-width: 768px ) { 
    .btn{
        width: auto;
    }
 }




/* UTILIDADES----------------------------------------------------------------------------------------------- */

.text-center{
    text-align: center;
}


@media (min-width: 768px ) { 
    .max-width-30{
        max-width: 30rem;
    }
 }


/* HEADER Y NAVEGACION ------------------------------------------------------------------------------------- */

.nombre-sitio{
    margin-top: 5rem;
    text-align: center;
}


.nombre-sitio span{
    color: #037bc0;
}


.contenedor-navegacion{
    border-top: .3rem solid #e1e1e1;
}


.nav-principal{
    padding: 2rem 0;  
    display: flex;
    flex-direction: column;
    align-items: center;
    
}
@media (min-width: 768px ) { 
    .nav-principal{
        justify-content: space-between;
        flex-direction: row;
    }
 }


.hero{
    background-image: url(../img/principal.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    height: 25rem;
}
@media (min-width: 768px ) { 
    .hero{
        height: 55rem;
    }
 }


/* LISTADO DE CATEGORIAS-------------------------------------------------------------------------------------------*/

.categorias{
    padding: 5rem 0;
}

.categoria{
    margin-bottom: 2rem;
}
@media (min-width: 768px ) { 
    .categoria{
        margin-bottom: 0;
    }
 }


.categoria img{
    width: 100%;
}


.categorias h2{
    text-align: center;
}


.categoria a{
    text-align: center;
    display: block;
    padding: 2rem;
    font-size: 2rem;

}


.categoria a:hover{
    background-color: #037bc0;
    color: #ffffff;
    transition: .4s ease-in-out all;
    border-bottom-right-radius: 1rem;
}

@media (min-width: 768px ) { 
    .listado-categorias{ 
        /* CON ESTO PODEMOS CAMBIAR LAS POSICIONES DE LAS COLUMNAS,
         el 1er numero es para el numero de columnas que queramos y el 2do es la fraccion*/
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }
    
 }



/* SOBRE NOSOTROS-------------------------------------------------------------------------------------------------- */

.sobre-nosotros{
    background-image: linear-gradient(to bottom, transparent 50%, #037bc0 50%, #037bc0
    100% ), url(../img/nosotros.jpg) ;
    background-position:  center, top left;
    background-repeat: no-repeat;
    background-size: 100%, 70rem;
}

@media (min-width: 768px ) { 
    .sobre-nosotros{
        background-image: linear-gradient(to right, transparent 50%, #037bc0 50%, #037bc0
        100% ), url(../img/nosotros.jpg) ;
        background-position: left center ;
        padding: 10rem 0;
        background-size: 100%, 160rem;
    }
 }


.sobre-nosotros-grid{
    display: grid;
    grid-template-rows: repeat(2, 1fr);
}
@media (min-width: 768px ) { 
    .sobre-nosotros-grid{
        grid-template-columns: repeat(2, 1fr) ;
        grid-template-rows: unset;
        column-gap: 10rem;
    }
 }


.texto-nosotros{
    grid-row: 2 / 3;
    color: #FFF;
    padding: 5rem;
}
@media (min-width: 768px ) { 
    .texto-nosotros{
        grid-column: 2 / 3;
    }
 }



/* MAIN O LISTADO DE PRODUCTO-------------------------------------------------------------------------------------- */


.contenido-principal{
    padding-top: 5rem;
}


@media (min-width: 768px ) { 
    
    .listado-productos{
        display: grid; /* aqui es como le damos forma a los productos, esto es mejor hacerlo con grids*/
        grid-template-columns: repeat(6, 1fr);
        gap: 2rem; /*esta es la separacion*/
    }
    
    .producto:nth-child(1){ 
    /*de esta forma seleccionamos cada producto 1x1 para darle la forma que queramos,
    ejem si queremos que el 1 sea mas grande, si queremos que hallan 2 y asi succesivamente*/
        grid-column: 1 / 7;
        display: grid;
        grid-template-columns: 2fr 2fr; /*la de el prof es 3fr 1fr, pero a mi se me ve bien como la tengo*/
    }
    
    .producto:nth-child(1) img{
        height: 43rem;
        width: 100%;
        object-fit: cover;
    }
    
    .producto:nth-child(2){
    grid-column: 1 / 4;
    
    /* otra forma:
    grid-column-start:1;
    grid-column-end:4; */
    
    }
    
    .producto:nth-child(2) img,
    .producto:nth-child(3) img{
        height: 30rem;
        width: 100%;
        object-fit: cover;
    }
    
    .producto:nth-child(3){
        grid-column:4 / 7 ;
    }
    
    
    .producto:nth-child(4){
        grid-column:1 / 3 ;
    }
    
    
    .producto:nth-child(5){
        grid-column:3 / 5 ;
    }
    
    .producto:nth-child(6){
        grid-column:5/ 7 ;
    }



 }


.producto{
    background-color: #037bc0;
    margin-bottom: 2rem;
}
@media (min-width: 768px ) { 
    .producto{
        margin-bottom: 0;
    }
 }
.producto:last-of-type{
    margin-bottom: 0;
}


.texto-producto{
    text-align: center;
    color: #ffffff;
    padding: 5rem;
}


.texto-producto h3{
    margin: 0;
}


.texto-producto p{
    margin: 0 0 .5rem 0;
}


.texto-producto .precio {
    font-size: 2.8rem;
    font-weight: 900;
}


/* FOOTER--------------------------------------------------------------------------------------------------------- */

.site-footer{
    /* esto vendria siendo un hr */
    border-top: 1px solid #e1e1e1;
    margin-top: 5rem;
    padding: 5rem;
}

.site-footer h3{
    margin-bottom: .5rem;
    text-align: center;
}
@media (min-width: 768px ) { 
    .site-footer h3{
        text-align: left;
    }
    .grid-footer{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }
 }

 .grid-footer > div {
    margin-bottom: 2rem;
 }
 @media (min-width: 768px ) { 
    .grid-footer > div {
        margin: 0;
    }
  }


.footer-menu a{
    display: block;
    text-align: center;
}
@media (min-width: 768px ) { 
    .footer-menu a {
        text-align: left;
    }
 }

.copyright{
    margin-top: 5rem;
    text-align: center;    
}


/* NOSOTROS--------------------------------------------------------------------------------------------------------- */

.contenido-nosotros{
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-columns: repeat(auto-fit, minmax( 25rem, 1fr ) ); /* con esta linea es para hacer responsive el contenido, esto vendria siendo un MediaQuerie*/
    column-gap: 4rem;
}

.informacion-nosotros{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5rem;
}
@media (min-width: 768px ) { 
    .informacion-nosotros{
        padding: 0;
    }
 }



/* BLOG------------------------------------------------------------------------------------------------------------- */

@media (min-width: 768px ) { 
    .contenedor-blog{
        display: grid;
        grid-template-columns: 2fr 1fr;
        column-gap: 4rem;
    }
 }


.entrada{
    border-bottom: 2px solid #e1e1e1;
    margin-bottom: 2rem;
    padding-bottom: 4rem;
}
.entrada h2{
    text-align: center;
}
@media (min-width: 768px ) { 
    .entrada h2{
        text-align: left;
    }
 }


.contenido-blog{
    padding: 2rem;
}

.entrada:last-of-type{
    border: none;
}



@media (min-width: 768px ) { 
    .entrada-meta{
        display: flex;
        justify-content: space-between;
    }
 }



.contenido-blog {
    padding: 2rem;
}

.entrada:last-of-type {
    border: none;
}


.entrada-meta p{
    font-weight: 900;
}


.entrada-meta span{
    color: #037bc0;
}


/* ENTRADA BLOG----------------------------------------------------------------------------------------------------- */

.contenido-entrada-blog{
    width: 60rem;
    margin: 0 auto;
}


/* GALERIA----------------------------------------------------------------------------------------------------------- */

.galeria{
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}


@media (min-width: 768px ) { 
    .galeria{
        grid-template-columns: repeat(3, 1fr);
    }
 }


.galeria img{
    height: 40rem;
    width: 40rem;
    object-fit: cover;
}


/* CONTACTO--------------------------------------------------------------------------------------------------------- */

.formulario{
    max-width: 60rem;
    margin: 0 auto;
}

.formulario fieldset{
    border: 1px solid black;
    margin-bottom: 2rem;
}

.formulario legend{
    background-color: #005485;
    width: 100%;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    font-weight: 900;
    padding: 1rem;
    margin-bottom: 4rem;
}


.campo{
    display: flex; /*con esto se alinean los formularios*/
    margin-bottom: 2rem;
}


.campo label{
    flex-basis: 10rem; /*con esto se alinean los formularios*/
}


.campo input:not([type="radio"]),
.campo textarea, 
.campo select{
    flex: 1;
    border: 1px solid #e1e1e1;
    padding: 1rem;
}