/* ============================================================
   The Problem Section
   Figma node: 29:39 | Canvas: 1440px
   Navy bg, two rows (top: image+text | bottom: tagline+video)
   ============================================================ */

.bs-problem {
  background: #21254a;
  display: flex;
  flex-direction: column;
  gap: clamp(56px, 6.94vw, 100px);
  padding: clamp(56px, 6.94vw, 100px) clamp(24px, 6.67vw, 96px);
  box-sizing: border-box;
  width: 100%;
}

/* ── Top row: image left + text right ── */
.bs-problem__top-row {
  display: flex;
  align-items: center;
  /* Figma: 76px gap between image col and text col */
  gap: clamp(32px, 5.28vw, 76px);
  width: 100%;
}

/* ── Left: layered image ── */
.bs-problem__image-col {
  position: relative;
  flex-shrink: 0;
  /* Figma: card 354×410px + 17px offset = total 371×427px */
  width: clamp(220px, 25.76vw, 371px);
  height: clamp(280px, 29.65vw, 427px);
}

/* Green offset card — Figma: #b0f288, 354×410px, rounded 20px, shadow */
.bs-problem__image-card {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(195px, 24.58vw, 354px);
  height: clamp(256px, 28.47vw, 410px);
  background: #b0f288;
  border-radius: clamp(10px, 1.39vw, 20px);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

/* Photo — Figma: 354×421px, offset +17px right and +17px down */
.bs-problem__image-wrap {
  position: absolute;
  top: clamp(8px, 1.18vw, 17px);
  left: clamp(8px, 1.18vw, 17px);
  width: clamp(195px, 24.58vw, 354px);
  height: clamp(265px, 29.24vw, 421px);
  border-radius: clamp(10px, 1.39vw, 20px);
  overflow: hidden;
}

.bs-problem__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* ── Right: headline + body, gap 56px ── */
.bs-problem__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 3.89vw, 56px);
}

/* Headline — Inter Bold 700, 54px, line-height 1.3, mixed case */
.bs-problem__headline {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 3.75vw, 54px);
  line-height: 1.3;
  color: #ffffff;
  margin: 0;
  text-transform: uppercase;
}

/* Body — Inter Regular 400, 22px, line-height 1.55 */
.bs-problem__body {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: clamp(15px, 1.53vw, 22px);
  line-height: 1.55;
  color: #ffffff;
}

.bs-problem__body p {
  margin: 0 0 8px 0;
}

.bs-problem__body p:last-child {
  margin-bottom: 0;
}

/* ── Bottom row: tagline + video, gap 56px ── */
.bs-problem__bottom-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 3.89vw, 56px);
  width: 100%;
}

/* Tagline — Inter Bold 700, 54px, centered (same style as headline) */
.bs-problem__tagline {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: clamp(24px, 3.75vw, 54px);
  line-height: 1.3;
  color: #ffffff;
  text-align: center;
  margin: 0;
  max-width: 1000px;
}

/* ── Video facade (thumbnail + play, click to embed) ── */
.bs-problem__video-facade {
  position: relative;
  width: 100%;
  max-width: clamp(300px, 56.6vw, 815px);
  aspect-ratio: 815 / 477;
  border-radius: clamp(10px, 1.35vw, 20px);
  overflow: hidden;
  cursor: pointer;
}

.bs-problem__video-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.2s;
}

.bs-problem__video-facade:hover .bs-problem__video-thumb {
  opacity: 0.9;
}

/* Play button — centered over thumbnail */
.bs-problem__play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  width: clamp(44px, 5.28vw, 76px);
  height: clamp(44px, 5.28vw, 76px);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s;
}

.bs-problem__play-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bs-problem__video-facade:hover .bs-problem__play-btn {
  transform: translate(-50%, -50%) scale(1.1);
}

/* ── Tablet: ≤ 1023px ── */
@media (max-width: 1023px) {
  .bs-problem__top-row {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .bs-problem__image-col {
    width: clamp(220px, 55vw, 340px);
    height: clamp(260px, 65vw, 400px);
  }

  .bs-problem__image-card {
    width: 85%;
    height: 93%;
  }

  .bs-problem__image-wrap {
    width: 90%;
    height: 97%;
  }
}

/* ── Mobile: ≤ 599px ── */
@media (max-width: 599px) {
  .bs-problem {
    padding: 40px 20px;
    gap: 40px;
  }

  .bs-problem__headline {
    font-size: clamp(22px, 6.5vw, 32px);
  }

  .bs-problem__body {
    font-size: clamp(14px, 4vw, 17px);
  }

  .bs-problem__tagline {
    font-size: clamp(20px, 6vw, 30px);
  }

  .bs-problem__image-col {
    width: clamp(200px, 70vw, 300px);
    height: clamp(240px, 84vw, 360px);
    align-self: center;
  }
}
