/* Text with Image Block Styles */

.block-text-with-image {
  padding: 60px 0;
  position: relative; /* Potrzebne do pozycjonowania pseudo-elementu */
  overflow: hidden; /* Zapobiega wychodzeniu bloba poza sekcję */
}

/* Ciemny motyw (domyślny) */
.block-text-with-image.theme-dark {
  color: #ffffff;
  background-color: #213261;
}

.block-text-with-image.theme-dark::before {
  content: "";
  position: absolute;
  width: 2000px; /* Szerokość bloba */
  height: 850px; /* Wysokość bloba */
  background-color: rgba(199, 71, 231, 0.44);
  border-radius: 50%; /* Tworzy elipsę */
  filter: blur(300px); /* Efekt rozmycia */
  z-index: 0; /* Umieszcza blob pod treścią */
  top: 100%;
  left: 10%;
  transform: translate(0%, -50%); /* Centruje blob */
  pointer-events: none; /* Zapobiega interakcji z blobem */
}

.block-text-with-image.theme-dark .section-title {
  color: #ffffff;
}

.block-text-with-image.theme-dark .section-subtitle {
  color: rgba(255, 255, 255, 0.5);
}

.block-text-with-image.theme-dark .content-title {
  color: #ffffff;
}

.block-text-with-image.theme-dark .content-text {
  color: #ffffff;
}

/* Jasny motyw */
.block-text-with-image.theme-light {
  color: #213261;
  background-color: #ffffff;
}

.block-text-with-image.theme-light::before {
  display: none; /* Wyłącza blob dla jasnego motywu */
}

.block-text-with-image.theme-light .section-title {
  color: #213261;
}

.block-text-with-image.theme-light .section-subtitle {
  color: rgba(33, 50, 97, 0.7);
}

.block-text-with-image.theme-light .content-title {
  color: #213261;
}

.block-text-with-image.theme-light .content-text {
  color: #213261;
}

.block-text-with-image .container {
  position: relative; /* Upewnia się, że treść jest nad blobem */
  z-index: 1;
}

.block-text-with-image .section-header {
  margin-bottom: 24px;
}

.block-text-with-image .section-title {
  font-size: 2.125rem;
  font-weight: 700;
  margin-bottom: 11px;
  letter-spacing: -0.04em;
}

.block-text-with-image .section-subtitle {
  font-size: 20px;
  max-width: 800px; /* Ograniczenie szerokości dla czytelności */
}

.text-image-content-wrapper {
  display: flex;
  gap: 44px;
  align-items: center;
  justify-content: space-between;
}

.text-image-content-wrapper.text-left {
  flex-direction: row;
}

.text-image-content-wrapper.text-right {
  flex-direction: row-reverse;
}

.text-content {
  flex: 1;
  flex-grow: 1;
  text-wrap: balance;
}

.image-content {
  width: 40%;
}

.image-content img {
  width: 100%;
  height: auto;
  max-height: 100%;
  border-radius: 24px;
  /* border: 1px solid #28282820; */
  border-radius: 24px;
  object-fit: contain;
}

.content-wrapper .content-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 18px;
}

.content-wrapper .content-title-section {
  font-size: 2.125rem;
  font-weight: 600;
  margin-bottom: 30px;
  color: inherit;
}

.content-wrapper .content-subtitle {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 18px;
  color: inherit;
  opacity: 0.9;
}

.content-wrapper .content-text {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-weight: 300;
}

/* Company Cards Styles */
.company-cards-wrapper {
  display: flex;
  gap: 60px;
  justify-content: space-between;
  margin-top: 60px;
}

.company-card {
  flex: 1;
  max-width: 706px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.card-icon {
  width: 69.19px;
  height: 79.44px;
}

.card-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.card-header-wrapper {
  display: flex;
  align-items: center;
  gap: 20px;
}

.company-card .card-title {
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

.company-card .card-description {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  max-width: 675px;
}

/* Theme-specific colors for company cards */
.block-text-with-image.theme-dark .company-card .card-title {
  color: #ffffff;
}

.block-text-with-image.theme-dark .company-card .card-description {
  color: #ffffff;
}

.block-text-with-image.theme-light .company-card .card-title {
  color: #213261;
}

.block-text-with-image.theme-light .company-card .card-description {
  color: #213261;
}

/* Responsive Styles */
@media (max-width: 1200px) {
  .company-cards-wrapper {
    flex-direction: column;
    gap: 60px;
  }

  .company-card {
    max-width: 100%;
  }
}

@media (max-width: 992px) {
  .text-image-content-wrapper {
    flex-direction: column !important; /* Stack on smaller screens regardless of setting */
    align-items: stretch;
  }
  
  .text-content {
    text-align: left;
    width: 100%;
  }

  .image-content {
    width: 100%;
    margin-top: 20px;
  }

  .content-wrapper .content-text {
    text-align: left;
    align-items: flex-start;
  }

  .block-text-with-image .section-title {
    font-size: 32px;
  }

  .block-text-with-image .section-subtitle {
    font-size: 18px;
  }

  .company-cards-wrapper {
    margin-top: 40px;
  }

  .company-card .card-title {
    font-size: 22px;
  }

  .company-card .card-description {
    font-size: 15px;
  }
}
