Swiper JS, Slides grow enormously big on mobile phone

I first started using swiper js.

document.addEventListener('DOMContentLoaded', function() {
  const swiperElement = document.querySelector('.swiper-container');

  if (swiperElement !== null) {
    new Swiper(swiperElement, {
      slidesPerView: 1, // Default to 1 slide per view
      direction: 'horizontal',
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
      autoplay: false,
      pagination: {
        el: '.swiper-pagination',
        clickable: true,
      },
      breakpoints: {
        768: {
          slidesPerView: 2, // 2 slides per view for screens wider than 768px
        }
      }
    });
  } else {
    console.error('[swiper] Element with class "swiper-container" not found.');
  }
});
.memberships-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  width: 100%;
}

.swiper-container {
  width: 100%;
  height: 300px;
  box-sizing: border-box;
  /* height: 100%; */
  overflow: hidden;
}

.swiper-wrapper {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
}

.swiper-button-prev,
.swiper-button-next {
  color: rgba(208, 0, 123, 1) !important;
}

.swiper-slide {
  /* display: flex;
    justify-content: center;
    align-items: center;
    width: 100%; */
  box-sizing: border-box;
  width: 100%;
}

@media (min-width: 768px) {
  .swiper-slide {
    width: 50%;
    /* Two slides per view for larger screens */
  }
}

.swiper-pagination {
  width: 100%;
}

.memberships-container .membership-tile {
  position: relative;
  border: 3px solid rgba(208, 0, 123, 1);
  display: flex;
  justify-content: center;
  z-index: 1;
  background-color: #f8f8f8;
  padding: 15px;
}

.memberships-container .membership-tile.premium-fit-fital {
  border: 3px solid rgba(194, 98, 39, 1);
}

.memberships-container .membership-tile .membership-title-container {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.memberships-container .membership-tile .membership-title {
  color: rgba(208, 0, 123, 1);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
  font-family: 'Avenir Black';
  font-weight: 600;
  font-size: 25px;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  /* position: absolute; */
  /* top: -15px; */
  display: block;
  /* background-color: white; */
  /* background: rgb(255,255,255); */
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(248, 248, 248, 1) 100%);
}

.memberships-container .membership-tile.premium-fit-fital .membership-title {
  color: rgba(194, 98, 39, 1);
}

.memberships-container .membership-tile .price {
  font-size: 22px;
  font-family: 'Avenir Black';
  font-weight: 600;
}

.memberships-container .membership-tile .payment-description {
  margin-left: 5px;
  font-size: 18px;
  font-family: 'Avenir Black';
  font-weight: 600;
}

.memberships-container .membership-tile .usp-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.memberships-container .membership-tile .usp-list li {
  font-size: 14px;
  font-family: 'Avenir Black';
  font-weight: 500;
}

.memberships-container .membership-tile .usp-list li:before {
  font-family: "Font Awesome 6 Free";
  content: "f00c";
  font-weight: 700;
  color: rgba(208, 0, 123, 1);
  margin-right: 5px;
}

.memberships-container .membership-tile.premium-fit-fital .usp-list li:before {
  color: rgba(194, 98, 39, 1);
}

.memberships-container .membership-tile .btn-box {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.memberships-container .membership-tile .more-info {
  font-family: 'Avenir Black';
  font-weight: 400;
  color: rgba(208, 0, 123, 1);
  text-decoration: underline;
  font-size: 18px;
}

.memberships-container .membership-tile.premium-fit-fital .more-info {
  color: rgba(194, 98, 39, 1);
}

.memberships-container .membership-tile .fake-btn {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  font-size: 16px;
  background-color: rgba(208, 0, 123, 1);
  color: white;
  text-decoration: none;
  font-weight: 400;
  font-family: "Avenir Light";
  box-sizing: border-box;
  border: 2px solid transparent;
  text-transform: uppercase;
}

.memberships-container .membership-tile .fake-btn:hover {
  background: none;
  border: 3px solid rgba(208, 0, 123, 1);
  color: rgba(208, 0, 123, 1);
  font-weight: 600;
  cursor: pointer;
}

.memberships-container .membership-tile.premium-fit-fital .fake-btn {
  background-color: rgba(194, 98, 39, 1);
}

.memberships-container .membership-tile input[type="radio"] {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/11.0.5/swiper-bundle.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/11.0.5/swiper-bundle.css">
<div class="swiper-container swiper-initialized swiper-horizontal swiper-ios swiper-backface-hidden">
  <fieldset name="membershipType" class="memberships-container mb-5 swiper-wrapper" id="swiper-wrapper-351467fcc9ba769a" aria-live="polite" style="transition-duration: 0ms; transition-delay: 0ms; transform: translate3d(0px, 0px, 0px);">

    <div class="swiper-slide swiper-slide-active" style="width: 3.35544e+07px;" role="group" aria-label="1 / 2">
      <div class="membership-tile">
        <div class="membership-card">
          <div class="membership-title-container">
            <h2 class="membership-title">Platinum</h2>
          </div><span class="price">€&nbsp;59,99</span><span class="payment-description">Per 4 weken</span><span class="action-description"></span>
          <ul class="hidden"></ul>
          <div class="btn-box"><span class="more-info">Meer info</span><span class="fake-btn">Selecteer</span></div><input type="radio" name="membershipType" class="membershipType" value="Platinum"></div>
      </div>
    </div>
    <div class="swiper-slide swiper-slide-next" role="group" aria-label="2 / 2" style="width: 3.35544e+07px;">
      <div class="membership-tile">
        <div class="membership-card">
          <div class="membership-title-container">
            <h2 class="membership-title">Platinum student</h2>
          </div><span class="price">€&nbsp;59,99</span><span class="payment-description">Per 4 weken</span><span class="action-description"></span>
          <ul class="hidden"></ul>
          <div class="btn-box"><span class="more-info">Meer info</span><span class="fake-btn">Selecteer</span></div><input type="radio" name="membershipType" class="membershipType" value="Platinum student"></div>
      </div>
    </div>
  </fieldset>
  <!-- <div class="swiper-pagination"></div> -->
  <div class="swiper-button-next" tabindex="0" role="button" aria-label="Next slide" aria-controls="swiper-wrapper-351467fcc9ba769a" aria-disabled="false"></div>
  <div class="swiper-button-prev swiper-button-disabled" tabindex="-1" role="button" aria-label="Previous slide" aria-controls="swiper-wrapper-351467fcc9ba769a" aria-disabled="true"></div>
  <span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span></div>

I have a couple of problems. On desktop it should display two slides at once (which works) but it breaks out of the parent container. And on screens smaller than 768px or equal to that. There should be displayed one slide per view. That works too, although the slides then grow enormously big. Any idea how to solve that?