/* ==========================================================================
   Highlight
   ========================================================================== */

.highlight {
  background-color: var(--color-yellow-lightest);
}

.highlight .grid {
  display: block;
}

.highlight .highlight-media {
  width: 100%;
}

.highlight .highlight-media img {
  display: block;
  height: auto;
  width: 100%;
}



/* ==========================================================================
   Products
   ========================================================================== */

.products {
  padding-block: 1rem;
  text-align: center;
}

.products .grid {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-block: 2rem;
}

.products .card {
  background-color: var(--color-yellow-lightest);
  text-align: left;
  transition: box-shadow var(--transition-normal), transform var(--transition-normal);
}

.products .card:hover,
.products .card:focus-visible {
  box-shadow: 0 .5rem 2rem rgba(0, 0, 0, .25);
  transform: translateY(-.3rem);
}

.products .card .card-media {
  position: relative;
}

.products .card .icon {
  background-color: var(--color-yellow-lightest);
  height: 4rem;
  inset-block-end: 0;
  inset-inline-start: 1rem;
  object-fit: scale-down;
  position: absolute;
  width: 4rem;
}

.products .card p {
  color: var(--color-gray);
  padding: .5rem;
  text-transform: uppercase;
}



/* ==========================================================================
   About
   ========================================================================== */

.about {
  background-color: var(--color-yellow-lightest);
  padding-block: 1rem;
}

.about .grid {
  display: grid;
  gap: 1rem;
}

.about .about-elements {
  border-block: .1rem solid var(--color-yellow-light);
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-start: 1rem;
  padding-block: 2rem;
  text-align: center;
}

.about .icon {
  margin-inline: auto;
}

.about h2 {
  padding-block: 1rem 2rem;
}

.about h4 {
  padding-block: 1rem;
}



/* ==========================================================================
   Reduced Motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

  .products .card {
    transition: none;
  }

}



/* ==========================================================================
   Responsive Desktop
   ========================================================================== */

@media (min-width: 1024px) {

  .highlight .grid {
    align-items: center;
    display: flex;
    gap: 5rem;
  }

  .highlight .highlight-content {
    flex: 1 1 auto;
    min-width: 0;
  }

  .highlight .highlight-content h2 {
    font-size: 3.6rem;
    line-height: 4rem;
    padding-block: 2rem;
  }

  .highlight .highlight-content p {
    padding-block-end: 2rem;
  }

  .highlight .highlight-media {
    flex: 0 0 64rem;
    min-width: 0;
  }

  .products h1 {
    font-size: 3rem;
    line-height: 3.6rem;
  }

  .products .grid {
    gap: 2rem;
  }

  .products .card p {
    padding: 1rem;
  }

  .about .grid {
    align-items: center;
    gap: 3rem;
    grid-template-columns: minmax(0, 38rem) minmax(0, 1fr);
    grid-template-rows: auto auto;
  }

  .about .about-content {
    grid-column: 1;
    grid-row: 1; 
  }

  .about .about-elements {
    border-block: 0;
    gap: 3rem;
    grid-column: 2;
    grid-row: 1 / 3;
    margin-block-start: 0;
    padding-block: 0;
  }

  .about .about-element {
    border-inline-start: .1rem solid var(--color-yellow-light);
    padding-inline-start: 3rem;
  }

  .about .btn-center {
    margin: 0;
  }

}