.ray-breadcrumbs {
  padding: 7.5rem 0 1.25rem;
  background: #1f324f;
  color: #fff;
  font-size: 0.9375rem;
  line-height: 1.6;
}

/* Keep image heroes behind both the fixed header and the breadcrumb trail. */
.main:has(.breadcrumbs-banner, .blog-archive-header, .post-hero) {
  position: relative;
}

.main:has(.breadcrumbs-banner, .blog-archive-header, .post-hero) > .ray-breadcrumbs {
  position: absolute;
  inset: 0 0 auto;
  z-index: 11;
  background: linear-gradient(to bottom, rgb(0 0 0 / 45%), transparent);
  text-shadow: 0 1px 3px rgb(0 0 0 / 70%);
  pointer-events: none;
}

.main:has(.breadcrumbs-banner, .blog-archive-header, .post-hero) > .ray-breadcrumbs a {
  pointer-events: auto;
}

.ray-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ray-breadcrumbs li {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  min-width: 0;
  max-width: 100%;
}

.ray-breadcrumbs a,
.ray-breadcrumbs li > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ray-breadcrumbs a,
.ray-breadcrumbs a:hover {
  color: inherit;
  text-decoration: none;
}

.ray-breadcrumbs a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.ray-breadcrumbs [aria-current] {
  font-weight: 600;
}

.ray-breadcrumbs__separator {
  flex-shrink: 0;
}
