:root{
    --negro: #1b1f3a;
    --morado: #392f5a;
    --gris: #a8a3c1;
    --blanco: #e4e1f0;
    --amarillo: #fb8b24;
    --amarilloOscuro: #c56d1b;
    --fuente: "Sora", sans-serif;
}

/* GLOBAL */
/* HTML y BODY with modifier to easily use the "rem" measure. */
html{
    font-size: 62.5%;
    box-sizing: border-box; /* Apply a natural box layout model to all elements, but allowing components to change. */
    scroll-behavior: smooth;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body{
    background-color: var(--morado);
    font-size: 1.6rem;
    line-height: 1.5;
}

p{
    font-size: 1.8rem;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--blanco);
}

a{
    text-decoration: none;
}

img{
    width: 100%;
}

.contenedor{
    max-width: 120rem;
    margin: 0 auto;
}

h1, h2, h3{
    text-align: center;
    color: var(--amarillo);
    font-family: var(--fuente);
    text-transform: uppercase;
}

h1{
    font-size: 4rem;
}

h2{
    font-size: 3.2rem;
}

h3{
    font-size: 2.4rem;
}

/* HEADER */
.header{
    display: flex;
    justify-content: center;
}

.header__logo{
    margin: 3rem 0;
    width:258px;
}

/* FOOTER */
.footer{
    background-color: var(--negro);
    padding: 1rem 0;
    margin-top: 2rem;
}

.footer__texto{
    text-align: center;
    font-family: var(--fuente);
    font-size: 1.8rem;
}

/* NAV */
.navegacion{
    background-color: var(--negro);
    padding: 1rem 0;
    display: flex;
    justify-content: center;
}

.navegacion__enlace{
    font-family: var(--fuente);
    font-size: 3rem;
    color: var(--blanco);
    text-transform: uppercase;
    transition: .3s;
    margin-right: 6rem;
}

.navegacion__enlace:last-of-type{
    margin-right: 0;
}

.navegacion__enlace--activo,
.navegacion__enlace:hover{
    color: var(--amarillo);
    transition: .3s;
}

/* GRID */
.grid{
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    gap: 2rem;
    padding: 4rem;
}

@media (min-width: 481px) {
    .grid{
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1280px) {
    .grid{
        grid-template-columns: repeat(3, 1fr);
        padding: 0;
    }
}

/* PRODUCTOS */
.producto{
    background-color: var(--negro);
    padding: 2rem;
    transition: .3s;
}

.producto:hover{
    transform: scale(1.04);
    transition: .3s;
}

.producto__nombre{
    font-size: 4rem;
    text-transform: uppercase;
}

.producto__precio{
    font-size: 2.8rem;
    color: var(--amarillo);
}

.producto__nombre,
.producto__precio{
    font-family: var(--fuente);
    margin: 1rem 0;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
}

/* GRAFICOS */
.grafico{
    min-height: 30rem;
    background-repeat: no-repeat;
    background-size: cover;
    grid-column: 1 / 1;
    transition: .4s;
    border-radius: 2rem;
}

.grafico:hover,
.nosotros__imagen:hover{
    transform: scale(1.01);
    transition: .4s;
}

.grafico--camisas{
    background-image: url(../img/grafico1.jpg);
    grid-row: 2 / 3;
}

.grafico--node{
    background-image: url(../img/grafico2.jpg);
    grid-row: 15 / 16;
}

@media (min-width: 481px) {
    .grafico{
        grid-column: 1 / 3;
    }
    .grafico--camisas{
        grid-row: 2 / 3;
    }
    .grafico--node{
        grid-row: 8 / 9;
    }
}

@media (min-width: 1280px) {
    .grafico--node{
        grid-row: 5 / 6;
        grid-column: 2 / 4;
    }
}

.nosotros{
    display: grid;
    grid-template-rows: repeat(2, auto);
}

@media (min-width: 1200px) {
    .nosotros{
        grid-template-columns: repeat(2, 1fr);
        column-gap: 2rem;
    }
}

.nosotros__texto{
    margin: 0 4rem;
    text-align: justify;
}

.nosotros__imagen{
    grid-row: 1 / 2;
    padding: 0 4rem 2rem 4rem;
    transition: .4s;
}

@media (min-width: 1200px) {
    .nosotros__imagen{
        grid-column: 2 / 3;
        padding: 0;
    }
}

/* BLOQUES */
.bloques{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin: 0 1rem;
}

@media (min-width: 481px) {
    .bloques{
        grid-template-columns: repeat(3, 1fr);
        margin: 0 2rem;
    }
    .bloque:last-child{
        grid-column: 2;
    }
}

@media (min-width: 1200px) {
    .bloques{
        grid-template-columns: repeat(4, 1fr);
        margin: 0;
    }
    .bloque:last-child {
        grid-column: auto; 
    }
}

.bloque{
    text-align: center;
}

.bloque__titulo{
    margin: 0;
}

.bloque__imagen{
    transition: .4s;
}

.bloque__imagen:hover{
    transform: scale(1.05);
}

/* PRODUCTO */

.camisa__imagen{
    padding: 0 4rem;
    transition: .4s;
}

.camisa__imagen:hover{
    transform: scale(1.06);
    transition: .4s;
}

.camisa__contenido{
    margin: 2rem;
}

.formulario{
    display: grid;
    gap: 2rem;
}

.formulario__campo{
    border: 1rem solid var(--negro);
    background-color: transparent;
    color: var(--blanco);
    font-family: var(--fuente);
    font-weight: bold;
    font-size: 2rem;
    padding: 1rem;
}

.formulario__submit{
    background-color: var(--amarilloOscuro);
    border: none;
    font-size: 2rem;
    font-family: var(--fuente);
    font-weight: bold;
    text-transform: uppercase;
    padding: 2rem;
    border-radius: 4rem;
    cursor: pointer;
    transition: .25s;
}

.formulario__submit:hover{
    background-color: var(--amarillo);
    transform: scale(1.04);
    transition: .25s;
}

@media (min-width: 481px) {
    .camisa__imagen{
        padding: 0 8rem;
    }
    .camisa__contenido{
        margin: 4rem;
    }
    .formulario{
        grid-template-columns: repeat(2, 1fr);
    }
    .formulario__submit{
        grid-column: 1 / 3;
    }
}

@media (min-width: 1200px) {
    .camisa{
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 4rem;
        margin-bottom: 4rem;
    }
    .camisa__imagen{
        padding: 0;
    }
    .camisa__contenido{
        margin: 0;
    }
}