/* カスタムスタイル */
.star-rating {
  display: inline-flex;
  gap: 2px;
}

.star {
  color: #d1d5db;
  cursor: pointer;
  transition: color 0.2s;
}

.star.filled {
  color: #fbbf24;
}

.star:hover,
.star.hover {
  color: #fbbf24;
}

.restaurant-card {
  transition: transform 0.2s, box-shadow 0.2s;
}

.restaurant-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.price-badge {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.modal {
  backdrop-filter: blur(4px);
}

.fade-in {
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* レスポンシブ調整 */
@media (max-width: 768px) {
  .restaurant-grid {
    grid-template-columns: 1fr;
  }
  
  .filter-grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}