:root {
  /*   color variables */
  --clr-primary: #d50000;
  --clr-primary-hover: #29e6a7;
  --clr-primary-dark: #039d69;
  --clr-gray100: #f0f7f8;
  --clr-gray200: #cfd8dc;
  --clr-gray300: #a7b7be;
  --clr-gray400: #6b7e86;
  --clr-gray500: #425a65;

  /*   border radius */
  --radius: 0.2rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: "Courier New", Courier, monospace;
  margin: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 16rem));
  grid-gap: 2rem;
  justify-content: center;
}

.card {
  overflow: hidden;
  box-shadow: 0px 2px 20px var(--clr-gray200);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 200ms ease-in;
}

.card__image {
  height: 12rem;
  width: 100%;
  object-fit: cover;
}

.card__title {
  padding: 1rem;
}

.card__description {
  padding: 0 1rem;
}

.card__btn {
  padding: 1rem;
  font-family: inherit;
  color: var(--clr-primary);
  font-weight: bold;
  font-size: 1rem;
  margin: 1rem;
  background: transparent;
  border: 2px solid var(--clr-primary);
  border-radius: var(--radius);
  transition: all 200ms ease-in;
}

.card:hover {
  cursor: pointer;
  transform: scale(1.02);
}

.card:hover .card__btn {
  background: var(--clr-primary);
  color: white;
}
