.cb-contact__inner {
  border: 9px solid var(--yellow);
  padding: 2.625rem 1.625rem 3.5rem 4.375rem;
}
.cb-contact h2 {
  position: relative;
  font-size: 3rem;
  margin-bottom: 4rem;
  line-height: 1;
}
.cb-contact h2:after {
  content: "";
  width: 136px;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: -0.5rem;
  background-color: var(--black);
}
.cb-contact__columns {
  display: flex;
  justify-content: center;
}
.cb-contact__column {
  flex-basis: 33.3%;
  flex-grow: 0;
}
.cb-contact__text > p {
  font-family: var(--font-primary);
  font-size: 1.125rem;
  margin-bottom: 2rem;
  padding-right: 6rem;
}
.cb-contact__icon {
  max-width: 30px;
}
/* PHONE */
.cb-contact__phone {
  display: flex;
  align-items: center;
  grid-gap: 1.5rem;
}
.cb-contact__phone a {
  color: var(--black);
  font-family: var(--font-primary);
  font-size: 1.125rem;
  transition: all ease 0.3s;
}
.cb-contact__phone a:hover {
  color: var(--grey);
}

/* OPENING HOURS */
.cb-contact__times-wrapper {
  flex-basis: 70%;
}
.cb-contact__time {
  display: flex;
  grid-gap: 2rem;
}
.cb-contact__time p {
  margin: 0;
  font-family: var(--font-primary);
  font-size: 1.125rem;
}
.cb-contact__time p:first-of-type {
  flex-basis: 80px;
}
.cb-contact__hours {
  display: flex;
  grid-gap: 1.5rem;
}
.cb-contact__hours img {
  object-fit: contain;
}

@media only screen and (max-width: 1024px) {
  .cb-contact__inner {
    padding: 1rem 2rem;
  }
  .cb-contact__text > p {
    padding-right: 2rem;
  }
  .cb-contact__time {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  .cb-contact h2 {
    font-size: 2rem;
  }
  .cb-contact__inner {
    padding: 1.5rem;
  }
  .cb-contact__columns {
    flex-direction: column;
  }
  .cb-contact__times-wrapper {
    flex-basis: 90%;
  }
  .cb-contact__column {
    margin-bottom: 2rem;
  }
  .cb-contact__text > p {
    padding-right: 0;
  }
  .cb-contact__time {
    display: flex;
    grid-gap: 1rem;
    margin-bottom: 0.75rem;
  }
  .cb-contact__time p {
    font-size: 1rem;
  }
}

/* Print styles */

@media print {
  * {
    color: black !important;
    background: none !important;
  }

  .cb-contact__columns {
    display: block;
  }

  .cb-contact__column {
    flex-basis: 100%;
    margin-bottom: 1rem;
  }

  .cb-contact h2:after {
    display: none;
  }

  .cb-contact__icon,
  .cb-contact__hours img {
    display: none;
  }

  a {
    color: black;
  }
}
