.container {
  /* Switch to Grid for the overall 2D page layout */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  /* Replaces old margin-based hacks */
  padding: 20px;
}

.card {
  /* Switch to Flex for the individual item's contents */
  display: flex;
  flex-direction: column;
  padding: 15px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  gap: 10px;
}

/* Mobile Responsiveness */
@media (max-width: 600px) {
  .container {
    /* Force 1 column on smaller screens */
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

button {
  padding: 12px 24px;
  /* Vertical and horizontal spacing */
  min-width: 125px;
  /* Ensures they don't get too small */
  font-size: 1rem;
  border-radius: 8px;
  /* Rounded corners look great on mobile */
  border: none;
  cursor: pointer;
}