/*
  Dynamic Agility Website
  Sticky breadcrumb for exercise detail pages
*/

.da-sticky-breadcrumb {
  position: sticky;
  top: 0;
  z-index: 104;
  display: flex;
  width: min(72rem, calc(100% - 2rem));
  margin: 0 auto 1.25rem;
  align-items: center;
  gap: 0.55rem;
  border: 1px solid rgba(var(--da-exercise-accent-rgb, 37, 99, 235), 0.18);
  border-top: 0;
  border-radius: 0 0 1.25rem 1.25rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(var(--da-exercise-accent-soft-rgb, 186, 230, 253), 0.34)),
    rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.08);
  color: var(--da-detail-muted, var(--da-muted));
  padding: 0.72rem clamp(0.9rem, 2vw, 1.15rem);
  backdrop-filter: blur(18px);
}

.da-sticky-breadcrumb a,
.da-sticky-breadcrumb span {
  min-width: 0;
}

.da-sticky-breadcrumb a {
  color: var(--da-exercise-accent, #2563eb);
  font-size: 0.78rem;
  font-weight: 790;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.da-sticky-breadcrumb a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.da-breadcrumb-separator {
  color: rgba(var(--da-exercise-accent-rgb, 37, 99, 235), 0.34);
  font-size: 0.78rem;
  font-weight: 760;
}

.da-breadcrumb-current {
  overflow: hidden;
  color: var(--da-detail-ink, var(--da-ink));
  font-size: 0.78rem;
  font-weight: 820;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.da-sticky-breadcrumb::before {
  content: "";
  display: block;
  width: 0.58rem;
  height: 0.58rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--da-exercise-accent, #2563eb), var(--da-exercise-accent-dark, #0284c7));
  box-shadow: 0 0 0 0.24rem rgba(var(--da-exercise-accent-soft-rgb, 186, 230, 253), 0.38);
}

.da-workshop-map-sidebar + .da-exercise-panel ~ .da-dual-rail + .da-dual-rail {
  /* Keep selector specificity away from breadcrumb. Intentional no-op. */
}

@media (min-width: 1180px) {
  .da-dual-sidebar-ready .da-sticky-breadcrumb {
    width: min(72rem, 100%);
  }
}

@media (max-width: 1179px) {
  .da-sticky-breadcrumb {
    top: 3.9rem;
    width: min(76rem, calc(100% - 1rem));
    margin-bottom: 1rem;
    border-top: 1px solid rgba(var(--da-exercise-accent-rgb, 37, 99, 235), 0.16);
    border-radius: 1rem;
  }
}

@media (max-width: 720px) {
  .da-sticky-breadcrumb {
    gap: 0.42rem;
    padding: 0.62rem 0.72rem;
  }

  .da-sticky-breadcrumb a,
  .da-breadcrumb-current,
  .da-breadcrumb-separator {
    font-size: 0.72rem;
  }

  .da-breadcrumb-exercise {
    max-width: 34vw;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (prefers-reduced-motion: reduce) {
  .da-sticky-breadcrumb {
    scroll-behavior: auto;
  }
}
