.location {
  margin: 3rem 0 2rem;
}

.location p {
  text-align: center;
}

.location .mt-2.flex.gap-2 {
  gap: 1rem;
  margin-top: 1rem;
}

button {
  background: var(--color-blue);
  color: white;
  border: none;
}

button.flex {
  gap: 0.3rem;
}

button i {
  font-size: 1.3rem;
}

p#statusMsg {
  text-align: center;
  margin-top: 0.5rem;
}

.shop-item {
  border: 2px solid var(--color-blue);
}

.shop-item .name {
  color: var(--color-blue);
  font-size: 1.2rem;
}

.shop-item .info .open, .shop-item .info .close {
  background: var(--color-green);
  color: white;
  border-radius: 999px;
  padding: 0.1rem 0.5rem;
}

.shop-item .info .close {
  background: var(--color-red);
}

.shop-item .text-right a {
  width: 100%;
  background: var(--color-blue);
  color: white;
  gap: 0.3rem;
}

.shop-item .text-right a i {
  font-size: 1.2rem;
}

.shop-item .text-right a.map {
  background: var(--color-green);
}

.shop-item .text-right a:hover {
  background: var(--hover-blue);
}

.shop-item .text-right a.map:hover {
  background: var(--hover-green);
}

div#map {
  margin-bottom: 4rem;
}

.map-shop {
  max-width: 200px;
}

.map-shop h4 {
  font-size: 1rem;
}

.map-shop a.shop-page {
  background: var(--color-blue);
  color: white;
  padding: 0.2rem 0.5rem;
  margin-top: 0.2rem;
}





@media screen and (max-width: 1024px) {
  .max-w-4xl.mx-auto.py-6 {
    width: 90%;
    padding: 2rem 0;
  }
}





@media screen and (max-width: 767px) {
  h1.text-2xl.font-bold {
    font-size: 1.3rem;
  }

  .location {
    margin: 3rem 0 1rem;
  }

  .location .mt-2.flex.gap-2 {
    margin-top: 0.5rem;
  }

  .shop-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .shop-item .name {
    font-size: 1.1rem;
  }

  .shop-item .text-right {
    width: 100%;
  }

  .shop-item .text-right a {
    font-size: 1rem;
    padding: 0.8rem;
  }

  .shop-item .text-right a i {
    font-size: 1.3rem;
  }

  div#map {
    height: 300px;
    margin-bottom: 2rem
  }
}