:root {
  /* Colores */
  --primario: #9c27b0;
  --primario_oscuro: #89119d;
  --secundario: #ffce00;
  --secundario_oscuro: RGB(233, 287, 2);
  --blanco: #fff;
  --negro: #000;

  /*Fuentes*/

  --fuente_principal: "Staatliches", sans-serif;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
}

/*CSS Box Model*/

*,
*:before,
*:after {
  /*Seleccicona todos los elementos del html, es un selector universal*/
  box-sizing: inherit;
}

/*Globales*/

body {
  background-color: var(--primario);
  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; /*1200px*/
  margin: 0 auto; /*centra el contenido*/
}

h1,
h2,
h3 {
  text-align: center;
  color: var(--secundario);
  font-family: var(--fuente_principal);
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 3.2rem;
}

h3 {
  font-size: 2.4rem;
}

/*BEM: ¿Que es BEM? 
 * BEM (Block Element Modifier) es una metodología de nomenclatura de clases en CSS
 * que ayuda a mantener un código más modular, reutilizable y escalable.
 * 
 * En BEM, los bloques representan componentes independientes, los elementos son partes
 * de esos componentes y los modificadores son variaciones de los bloques o elementos.
 * 
 * Esta metodología se basa en la convención de nombrar las clases utilizando una estructura
 * específica: .block, .block__element, .block--modifier.
 * 
 * Por ejemplo:
 * 
 * .button { ... } // Bloque
 * .button__text { ... } // Elemento
 * .button--primary { ... } // Modificador
 * 
 * Al utilizar BEM, se facilita la comprensión y el mantenimiento del código CSS, ya que
 * las clases están claramente relacionadas con los componentes a los que pertenecen.
 */

/* Header */

.header {
  display: flex;
  justify-content: center; /*centra horizontalmente*/
}

.header__logo {
  margin: 3rem 0;
}

/* Navegación */

.navegacion {
  background-color: var(--primario_oscuro);
  padding: 1rem 0; /*1rem arriba y abajo, 0 a los lados*/
  display: flex;
  justify-content: center;
  gap: 2rem; /*espacio entre elementos*/ /*Se puede usar margin-right: 2rem; pero gap es mas nuevo*/
}

.navegacion__enlace {
  font-family: var(--fuente_principal);
  color: var(--blanco);
  font-size: 3rem;
}

.navegacion__enlace--activo,
.navegacion__enlace:hover {
  color: var(--secundario);
}

/*Grid*/

.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /*2 columnas de 1fr*/
  gap: 3rem; /*espacio entre elementos*/
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(3, 1fr); /*3 columnas de 1fr*/
    gap: 2rem; /*espacio entre elementos*/
  }
} /*Si la pantalla es mayor a 768px*/

/*Productos*/

.producto {
  background-color: var(--primario_oscuro);
  padding: 1rem;
}

.producto__informacion {
  text-align: center;
}

.producto__nombre {
  font-size: 4rem;
}

.producto__precio {
  font-size: 2.8rem;
  color: var(--secundario);
}

.producto__nombre,
.producto__precio {
  font-family: var(--fuente_principal);
  margin: 1rem 0;
  text-align: center; /*centra horizontalmente*/
  line-height: 1.2; /*altura de linea*/
}

/*Grafico*/

.grafico {
  min-height: 30rem;
  grid-column: 1/3; /*columna 1 a 3*/
  background-repeat: no-repeat;
  background-size: cover;
}
.grafico--camisas {
  grid-row: 2/3; /*fila 2 a 3*/

  background-image: url("../media/imagen/grafico1.jpg");
}

.grafico--node {
  background-image: url("../media/imagen/grafico2.jpg");
  grid-row: 8/9;
}

@media screen and (min-width: 768px) {
  .grafico--node {
    grid-row: 5/6; /*fila 5 a 6*/
    grid-column: 2/4; /*columna 2 a 4*/
  } /*Si la pantalla es mayor a 768px*/
}

/*Nosotros*/

.nosotros {
  display: grid;
  grid-template-rows: repeat(2, auto); /*2 filas de auto*/
}

@media (min-width: 768px) {
  .nosotros {
    grid-template-columns: repeat(2, 1fr); /*2 columnas de 1fr*/
    column-gap: 2rem; /*espacio entre columnas*/
  }
}

.nosotros__imagen {
  grid-row: 1/2; /*fila 1 a 2*/
}

@media (min-width: 768px) {
  .nosotros__imagen {
    grid-column: 2/3; /*columna 2 a 3*/
  }
}

/*Bloques*/

.bloques {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /*2 columnas de 1fr*/
  gap: 2rem; /*espacio entre elementos*/
}

@media (min-width: 768px) {
  .bloques {
    grid-template-columns: repeat(4, 1fr); /*4 columnas de 1fr*/
  } /*Si la pantalla es mayor a 768px*/
}

.bloque {
  text-align: center;
}

.bloque__titulo {
  margin: 0;
}

/*Pagina del producto*/

@media (min-width: 768px) {
  .camisa {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /*2 columnas de 1fr*/
    column-gap: 2rem; /*espacio entre elementos*/
  }

  .camisa__texto{
    text-align: justify;
  
  }
}

.formulario {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /*2 columnas de 1fr*/
  gap: 2rem; /*espacio entre elementos*/
}

.formulario__campo {
  border: 1rem solid var(--primario_oscuro);
  background-color: transparent;
  color: var(--blanco);
  font-size: 2rem;
  padding: 1rem;
  font-family: Arial, Helvetica, sans-serif;
  appearance: none; /*quita el estilo por defecto del navegador*/
}

.formulario__submit {
  background-color: var(--secundario);
  border: none;
  font-family: var(--fuente_principal);
  padding: 2rem;
  transition: background-color 0.3s ease; /*transicion de 0.3 segundos*/
  -webkit-transition: background-color 0.3s ease;
  -moz-transition: background-color 0.3s ease;
  -ms-transition: background-color 0.3s ease;
  -o-transition: background-color 0.3s ease;
  grid-column: 1/3; /*columna 1 a 3*/ /*ocupa 2 columnas*/
}
.formulario__submit:hover {
  cursor: pointer;
  background-color: var(--secundario_oscuro);
}

/**Footer */

.footer {
  background-color: var(--primario_oscuro);
  padding: 1rem 0;
  margin-top: 2rem;
}

.footer__texto {
  font-family: var(--fuente_principal);
  font-size: 2.2rem;
  text-align: center;
}
