/* ===========================================
   Circa case study prev/next nav
   Loaded only on single case-study views.
   =========================================== */

.circa-cs-nav {
  --cs-nav-bg: #ffffff;
  --cs-nav-ink: #111111;
  --cs-nav-label: #8a857d;
  --cs-nav-thumb: clamp(110px, calc(71.47px + 4.62vw), 138px);
  --cs-nav-arrow: 41px;
  --cs-nav-gap: 18px;

  /* Matches the page container's horizontal padding. */
  --cs-nav-pad: 134px;

  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 37px;
  padding: 46px var(--cs-nav-pad);
  background: var(--cs-nav-bg);
}

.circa-cs-nav .circa-cs-nav__item {
  display: flex;
  align-items: center;
  gap: var(--cs-nav-gap);
  min-width: 0;
  max-width: calc(50% - 18px);
  color: var(--cs-nav-ink);
  text-decoration: none;
}

.circa-cs-nav .circa-cs-nav__item--next {
  margin-left: auto;
  text-align: right;
}

/* Arrow */
.circa-cs-nav .circa-cs-nav__arrow {
  flex: 0 0 var(--cs-nav-arrow);
  width: var(--cs-nav-arrow);
  height: var(--cs-nav-arrow);
  border-radius: 50%;
  background: var(--cs-nav-ink);
  color: #ffffff;
  display: grid;
  place-items: center;
  transition: transform 0.25s ease;
}

.circa-cs-nav .circa-cs-nav__arrow svg {
  width: 14px;
  height: 14px;
  display: block;
}

.circa-cs-nav .circa-cs-nav__item--next .circa-cs-nav__arrow svg {
  transform: scaleX(-1);
}

/* Thumbnail */
.circa-cs-nav .circa-cs-nav__thumb {
  flex: 0 0 var(--cs-nav-thumb);
  width: var(--cs-nav-thumb);
  height: var(--cs-nav-thumb);
  border-radius: 9px;
  overflow: hidden;
  display: block;
}

.circa-cs-nav .circa-cs-nav__thumb img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

/* Text */
.circa-cs-nav .circa-cs-nav__text {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}

.circa-cs-nav .circa-cs-nav__label {
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--cs-nav-label);
}

.circa-cs-nav .circa-cs-nav__title {
  font-size: 1.2225rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--cs-nav-ink);
}

/* Hover / focus */
@media (hover: hover) {
  .circa-cs-nav .circa-cs-nav__item:hover .circa-cs-nav__thumb img {
    transform: scale(1.05);
  }
  .circa-cs-nav .circa-cs-nav__item--prev:hover .circa-cs-nav__arrow {
    transform: translateX(-3px);
  }
  .circa-cs-nav .circa-cs-nav__item--next:hover .circa-cs-nav__arrow {
    transform: translateX(3px);
  }
}

.circa-cs-nav .circa-cs-nav__item:focus-visible {
  outline: 2px solid var(--cs-nav-ink);
  outline-offset: 4px;
  border-radius: 12px;
}

/* Tablet */
@media (max-width: 1024px) {
  .circa-cs-nav {
    --cs-nav-pad: 40px;
  }
  .circa-cs-nav .circa-cs-nav__title {
    font-size: 1.15rem;
  }
}

/* Phone: stacked */
@media (max-width: 767px) {
  .circa-cs-nav {
    --cs-nav-pad: 20px;
    --cs-nav-thumb: 74px;
    --cs-nav-arrow: 37px;
    --cs-nav-gap: 14px;
    flex-direction: column;
    align-items: stretch;
    gap: 48px;
    padding-top: 46px;
    padding-bottom: 46px;
  }
  .circa-cs-nav .circa-cs-nav__item {
    max-width: none;
  }
  .circa-cs-nav .circa-cs-nav__item--next {
    margin-left: 0;
    text-align: left;
  }
  .circa-cs-nav .circa-cs-nav__text {
    flex: 1 1 auto;
  }
  .circa-cs-nav .circa-cs-nav__title {
    font-size: 1.1rem;
    text-wrap: balance;
    hyphens: none;
  }
}