/* =========================================================
   Voctos — Our cases (slider)
   ========================================================= */

.voctos-cases-block {
  --cases-bg: #eef0f5;
  width: 100%;
  background: #eef0f5;
  font-family: 'Inter', sans-serif;
  color: #0D172D;
  padding: 30px 0;
}

.voctos-cases-block .cases-inner {
  max-width: 1300px;
  margin: 0 auto;
}

/* heading row */
.voctos-cases-block .cases-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
}

.voctos-cases-block .cases-title {
  font-family: 'Unbounded', sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.05;
  color: #0D172D;
}

.voctos-cases-block .cases-all {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 500;
  color: #8a93a3;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease;
}

.voctos-cases-block .cases-all svg { width: 20px; height: 20px; }
.voctos-cases-block .cases-all:hover { color: #0D172D; }

/* slider mechanics */
.voctos-cases-block .cases-viewport { overflow: hidden; }

.voctos-cases-block .cases-track {
  display: flex;
  transition: transform .45s cubic-bezier(.4, 0, .2, 1);
}

.voctos-cases-block .case-slide {
  position: relative;
  flex: 0 0 100%;
  min-width: 0;
  max-height: 470px;
  height: 470px;
  display: flex;
  border-radius: 30px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.voctos-cases-block .case-brand {
  position: absolute;
  top: 36px;
  left: 36px;
  max-width: 140px;
  max-height: 60px;
  width: auto;
  height: auto;
  z-index: 2;
  object-fit: contain;
}

/* content overlays the right ~45% of the slide-wide background image */
.voctos-cases-block .case-content {
  margin-left: auto;
  width: 45%;
  display: flex;
  flex-direction: column;
  padding-right: 24px;
}

.voctos-cases-block .case-head-box {
  flex: 1 1 50%;
  display: flex;
  align-items: center;
  background: transparent;
  padding: 0 14px;
}

.voctos-cases-block .case-title {
  font-family: 'Unbounded', sans-serif;
  font-size: 35px;
  font-weight: 400;
  line-height: 1.4;
  text-align: end;
}

.voctos-cases-block .case-title-dark { color: #0D172D; }
.voctos-cases-block .case-title-hl   { color: #9BB725; }

/* white card — bottom half of the column */
.voctos-cases-block .case-card {
  position: relative;
  background: #fff;
  width: 100%;
  border-radius: 30px;
  margin-left: 10px;
  margin-top: 10px;
  padding: 34px 32px;
  display: flex;
  flex-direction: column;
  flex: 1 1 50%;
  justify-content: center;
}

/* blue tag pill, straddling the top of the card, with page-bg halo */
.voctos-cases-block .case-tag {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #2563EB;
  color: #fff;
  font-family: 'Unbounded', sans-serif;
  font-size: 14px;
  font-weight: 400;
  padding: 10px;
  border: 5px solid var(--cases-bg, #eef0f5);
  border-radius: 19px;
  white-space: nowrap;
}

.voctos-cases-block .case-tag img { width: 30px; height: 30px; object-fit: contain; }

.voctos-cases-block .case-desc {
  font-family: 'Unbounded', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #0D172D;
  margin-top: 14px;
}

.voctos-cases-block .case-desc p { margin: 0; }

/* highlighted (bold) text in the description renders green, same weight */
.voctos-cases-block .case-desc strong,
.voctos-cases-block .case-desc b {
  color: #9BB725;
  font-weight: inherit;
}

.voctos-cases-block .case-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 30px;
}

.voctos-cases-block .case-btn {
  display: inline-flex;
  align-items: center;
  font-family: 'Unbounded', sans-serif;
  font-size: 14px;
  background: #0D172D;
  color: #fff;
  text-decoration: none;
  padding: 16px 30px;
  border-radius: 10px;
  transition: transform .2s ease, opacity .2s ease;
}

.voctos-cases-block .case-btn:hover { transform: translateY(-2px); opacity: .92; }

/* nav arrows */
.voctos-cases-block .case-nav { display: flex; gap: 12px; }

.voctos-cases-block .case-nav button {
  width: 56px;
  height: 44px;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, opacity .2s ease;
}

.voctos-cases-block .case-nav button svg { width: 22px; height: 22px; }
.voctos-cases-block .case-prev { background: #e3e6eb; color: #0D172D; }
.voctos-cases-block .case-next { background: #9BB725; color: #0D172D; }
.voctos-cases-block .case-nav button:hover { transform: translateY(-2px); }

/* Mobile title inside card — hidden on desktop, shown on mobile */
.voctos-cases-block .case-title-mobile { display: none; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
  .voctos-cases-block .case-slide {
    flex-direction: column;
    justify-content: flex-end;
    background-position: center -120px;
    background-size: cover;
  }
  .voctos-cases-block .case-content {
    width: 100%;
    margin-left: 0;
    padding-right: 0;
  }
  .voctos-cases-block .case-head-box,
  .voctos-cases-block .case-card {
    flex: none;
  }
  /* On mobile: hide the floating head-box, show title inside card instead */
  .voctos-cases-block .case-head-box { display: none; }
  .voctos-cases-block .case-title-mobile {
    display: block;
    font-size: 26px;
    text-align: left;
    margin-top: 0;
    margin-bottom: 4px;
  }
  .voctos-cases-block .case-card {
    border-radius: 30px;
    margin-left: 0;
    margin-top: 0;
    /* top padding clears the tag pill (tag extends ~24px into card) */
    padding-top: 38px;
  }
  .voctos-cases-block .case-title { font-size: 26px; text-align: left; }
  .voctos-cases-block .cases-title { font-size: 38px; }
}

@media (max-width: 768px) {
  /* Match original padding: pb-3.5 mobile */
  .voctos-cases-block { padding: 14px 0 28px; }
  .voctos-cases-block .cases-inner { padding: 0 16px; }
  .voctos-cases-block .cases-head { margin-bottom: 20px; }
  .voctos-cases-block .cases-title { font-size: 26px; }
  .voctos-cases-block .case-slide { min-height: 470px; }
  .voctos-cases-block .case-title-mobile { font-size: 22px; }
  .voctos-cases-block .case-card { padding: 38px 20px 24px; }
  .voctos-cases-block .case-desc { font-size: 14px; margin-top: 10px; }
  .voctos-cases-block .case-actions { margin-top: 18px; gap: 12px; }
  .voctos-cases-block .case-btn { padding: 13px 20px; font-size: 13px; }
  .voctos-cases-block .case-nav button { width: 44px; height: 38px; }
  /* Shrink tag pill so it fits within the card at 400px */
  .voctos-cases-block .case-tag { font-size: 12px; padding: 8px 10px; gap: 6px; }
  .voctos-cases-block .case-tag img { width: 24px; height: 24px; }
}
