/* ==================================================
   Shop List Styles
================================================== */
main .shop-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 1000px;
  margin: 3rem auto;
  padding: 0 1rem;
  
}

/* ==================================================
   Shop Cards
================================================== */
main .shop-card {
  flex: 1; /* Mobile first: full width */
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0px 4px 18px rgba(0,0,0,0.1);
}

main .shop-content {
  padding: 1.5rem;
}

main .shop-content h2 {
  font-size: 1.5rem;
  color: #333;
}

main .shop-content p {
  font-size: 1rem;
  color: #555;
  line-height: 1.5;
  margin: 0.25rem 0;
}

main .shop-content .hours {
  font-size: 0.95rem;
  color: #777;
}

main .map-container {
  position: relative;
  padding-bottom: 56.25%; /* Maintain 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
}

main .map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height:100%;
  border:0;
}

/* ==================================================
   Bottom Text
================================================== */
.shopbottom {
  max-width: 600px;
  margin: 3rem auto;
  text-align: center;
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 300;
  color: #555;
  padding: 0 1rem;
}

/* ==================================================
   Responsive Layout
================================================== */
@media (min-width: 768px) {
  main .shop-list {
    flex-direction: row;
    justify-content: space-evenly;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  main .shop-card {
    flex: 1 1 45%;  /* Bigger cards side-by-side */
    max-width: 45%;  
  }
}
