/* Importación de fuentes */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

/* Restablecimiento de estilos predeterminados y configuración de caja */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Estilos básicos de HTML y cuerpo */
html {
  height: 100%;
}

body {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.2rem;
  min-height: 100%;
  background-image: url('../../img/background.jpg');
  background-size: cover;
  background-position: center;  
}

/* Estilos generales del contenedor de la cuadrícula */
.grid-container {
  display: grid;
  gap: 10px;
  grid-template-areas:
    'header'
    'navbar'
    'main'
    'sidebar'
    'footer';
  grid-template-rows: 130px 50px auto 100px 50px;
}

.grid-container > * {
  box-shadow: -1px 1px 7px 0px rgba(0, 0, 0, 0.75);
  border-radius: 4px;
  padding: 10px;
  text-align: center;
}

/* Asignaciones de área de la cuadrícula para los componentes */
.header {
  grid-area: header;
}

.navbar {
  grid-area: navbar;
}

.main {
  grid-area: main;
}

.sidebar {
  grid-area: sidebar;
}

.footer {
  grid-area: footer;
}

/* Estilos para dispositivos más grandes (desktops) */
@media (min-width: 900px) {
  .grid-container {
    grid-template-areas:
      'header header header'
      'navbar main sidebar'
      'footer footer footer';
    grid-template-columns: 200px auto 200px;
    grid-template-rows: 130px auto 50px;
  }
}

/* Estilos para dispositivos medianos (tablets) */
@media (min-width: 600px) and (max-width: 899px) {
  .grid-container {
    grid-template-areas:
      'header header'
      'navbar navbar'
      'main sidebar'
      'footer footer';
    grid-template-columns: 200px auto;
    grid-template-rows: 130px 50px auto 50px;
  }
}

/* Estilos para dispositivos móviles (teléfonos) */
@media (max-width: 599px) {
  .grid-container {
    grid-template-areas:
      'header'
      'navbar'
      'main'
      'sidebar'
      'footer';
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
  }
}
