/* ============================================================
   SECTION 7 — BENEFITI (Benefiti koje donose naše usluge)
   ============================================================
   BG: #ffffff, black text, centered
   5 boxes full width, same dimensions as previous sections
   ============================================================ */

.section-benefiti {
  background: #ffffff;
  width: 100%;
  margin: 0 auto;
  padding-top: 50px;
  padding-bottom: 120px;
}

/* ── HEADING — centered ── */
.benefiti__heading {
  margin: 0 0 50px 0;
  padding: 0;
  font-weight: var(--fw-regular);
  display: block;
  text-align: center;
}

.benefiti__heading-line {
  display: block;
}

.benefiti__heading-line .h2-mont {
  font-family: var(--font-mont);
  font-size: var(--fs-h2-mont);
  font-weight: 400;
  line-height: var(--lh-h2-mont);
  letter-spacing: -0.07em;
  color: #111111;
}

.benefiti__heading-line .h2-dutch {
  font-family: var(--font-dutch);
  font-size: var(--fs-h2-dutch);
  font-weight: 400;
  font-style: italic;
  line-height: var(--lh-h2-mont);
  letter-spacing: -0.07em;
  color: #111111;
}

.benefiti__heading-line .h2-anchor {
  font-family: var(--font-mont);
  font-size: var(--fs-h2-mont);
  font-weight: 400;
  line-height: var(--lh-h2-mont);
  color: transparent;
  user-select: none;
  pointer-events: none;
  width: 0;
  overflow: hidden;
  display: inline-block;
}

/* ══════════════════════════════════════════════════
   5 BOXES — full width, stacked vertically
   Same width as sections 3/4 (448px each side spacing)
   Total: 1372px, each box 448px tall? No — full width.
   Width: 1372px, height: 448px each (square-ish)
   ══════════════════════════════════════════════════ */

.benefiti__boxes {
  display: grid;
  grid-template-columns: repeat(3, 448px);
  grid-template-rows: repeat(2, 330px);
  gap: 14px;
  width: 1372px;
  margin: 0 auto;
}

.bn-box {
  border-radius: 12px;
  background: #d0d0d0;
  padding: 36px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

/* ── ANIMATIONS ── */
.section-benefiti.will-animate .benefiti__heading {
  opacity: 0;
  transition: opacity 1s ease-out;
}

.section-benefiti.will-animate .bn-box {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.6s ease-out, transform 1.6s ease-out;
}

.section-benefiti.anim-visible .benefiti__heading { opacity: 1; }

.section-benefiti.anim-visible .bn-box:nth-child(1) { opacity: 1; transform: translateY(0); transition-delay: 0.1s; }
.section-benefiti.anim-visible .bn-box:nth-child(2) { opacity: 1; transform: translateY(0); transition-delay: 0.18s; }
.section-benefiti.anim-visible .bn-box:nth-child(3) { opacity: 1; transform: translateY(0); transition-delay: 0.26s; }
.section-benefiti.anim-visible .bn-box:nth-child(4) { opacity: 1; transform: translateY(0); transition-delay: 0.34s; }
.section-benefiti.anim-visible .bn-box:nth-child(5) { opacity: 1; transform: translateY(0); transition-delay: 0.42s; }
.section-benefiti.anim-visible .bn-box:nth-child(6) { opacity: 1; transform: translateY(0); transition-delay: 0.50s; }

/* ── BOX COLORS ── */
.bn-box { background: #eeeeee; }
.bn-box--5 { background: #111111; }

/* ── BOX IMAGE — centered horizontally, bottom-aligned ── */
.bn-box__img {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: bottom center;
  display: block;
}

/* ── BOX HEADER ── */
.bn-box__header {
  display: block;
  font-family: var(--font-mont);
  font-size: 23.9px;
  font-weight: 500;
  letter-spacing: -0.07em;
  color: #111111;
  line-height: 1.28;
  text-align: center;
  position: relative;
  z-index: 1;
  padding-left: 30px;
  padding-right: 30px;
}

.bn-box--5 .bn-box__header {
  color: #ffffff;
}

/* ── BOX 5 CONTENT ── */
.bn-box--5 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.bn-box--5 .bn-box__cta {
  margin-top: 10px;
  margin-bottom: 10px;
}

.bn-box__pre {
  font-family: var(--font-mont);
  font-size: calc(var(--fs-p) * 0.691);
  font-weight: var(--fw-regular);
  letter-spacing: var(--ls-default);
  color: #ffffff;
  text-align: center;
  opacity: 1;
  line-height: 1.4;
}

.bn-box__post {
  font-family: var(--font-mont);
  font-size: calc(var(--fs-p) * 0.737);
  font-weight: var(--fw-regular);
  letter-spacing: var(--ls-default);
  color: #ffffff;
  text-align: center;
  opacity: 0.8;
  line-height: 1.4;
}

/* Box 5 CTA — full width, black bg, white text, vertical slide */
.bn-box__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-family: var(--font-mont);
  font-size: var(--fs-nav);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-default);
  color: #111111;
  background: #ffffff;
  border: none;
  border-radius: 5px;
  padding: 12px 25px;
  white-space: nowrap;
  cursor: pointer;
  overflow: hidden;
  line-height: 1.2;
  text-decoration: none;
}

.bn-box__cta .btn-track {
  position: relative;
  display: block;
  height: 1.2em;
  overflow: hidden;
}

.bn-box__cta .btn-track__inner {
  display: block;
  transition: transform 0.4s cubic-bezier(0.7, 0, 0.2, 1);
}

.bn-box__cta .btn-track__inner > span {
  display: block;
  height: 1.2em;
  line-height: 1.2;
}

.bn-box__cta:hover .btn-track__inner {
  transform: translateY(-1.2em);
}
