/* Available Locations – card grid */

.available-location .loc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.available-location .loc-card {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  box-shadow: rgb(0 0 0 / 0.1) 0 4px 8px 0;
  transition: box-shadow 0.2s, transform 0.2s;
}

.available-location .loc-card:hover {
  box-shadow: rgb(0 0 0 / 0.18) 0 8px 20px 0;
  transform: translateY(-2px);
}

.available-location .loc-card-name {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  margin: 0 0 5px;
  line-height: 1.3;
}

.available-location .loc-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: #000;
  background: #fc0;
  border-radius: 3px;
  padding: 2px 6px;
  margin-bottom: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  align-self: flex-start;
}

.available-location .loc-divider {
  border: none;
  border-top: 1px solid #f0f0f0;
  margin: 8px 0;
}

.available-location .loc-address {
  font-size: 12px;
  color: #555;
  line-height: 1.6;
  margin: 0;
}

.available-location .loc-hours-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #999;
  margin: 8px 0 3px;
}

.available-location .loc-hours {
  font-size: 12px;
  color: #333;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 1100px) {
  .available-location .loc-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .available-location .loc-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .available-location .loc-grid {
    grid-template-columns: 1fr;
  }
}
