/* Główny rodzic - tworzy elastyczną siatkę */
.kontener-glowny {
  display: flex;
  flex-wrap: wrap;       /* Zezwala na przenoszenie elementów do nowej linii */
  gap: 20px;             /* Odstępy między elementami */
  padding: 20px;
  justify-content: center; /* Wyrównuje elementy do środka ekranu */
}

/* Pojedynczy element (karta) */
.karta-produktu {
  flex: 1 1 300px;       /* Rośnij, kurcz się, ale celuj w bazowe 300px szerokości */
  max-width: 400px;      /* Maksymalna szerokość jednego elementu */
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;      /* Obcina obrazek do zaokrąglonych rogów */
  background: #fff;
}

/* Stylizacja obrazka wewnątrz karty */
.karta-produktu img {
  width: 100%;           /* Obrazek zawsze zajmuje 100% szerokości swojej karty */
  height: auto;          /* Zachowuje proporcje zdjęcia */
  display: block;
}

/* Stylizacja tekstu */
.opis {
  padding: 15px;
}