.nh-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  width: 100%;
  margin: 0 0 28px;
  padding: 12px 16px;
  border: 1px solid #dbe7e0;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgb(15 23 42 / 4%);
  color: #64748b;
  font-size: .92rem;
  line-height: 1.5;
}

/* CMS page-body placement uses a GridBox wrapper, while module listings
   render the same component inside their content container. Normalize both
   placement contracts so the visual breadcrumb is identical. */
.nh-cms-breadcrumb-box {
  width: 100%;
  padding: 48px 24px 0;
  background: #f8fafc;
}

.nh-cms-breadcrumb-box > .Breadcrumb {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
}

.nh-cms-breadcrumb-box .nh-breadcrumb {
  margin-bottom: 0;
}

.nh-breadcrumb a {
  color: #006837;
  font-weight: 700;
  text-decoration: none;
  transition: color 160ms ease, opacity 160ms ease;
}

.nh-breadcrumb a:hover {
  color: #004d29;
  text-decoration: underline;
}

.nh-breadcrumb a:focus-visible {
  outline: 2px solid #e67e22;
  outline-offset: 3px;
  border-radius: 3px;
}

.nh-breadcrumb > span:not([aria-current='page']) {
  padding: 0 10px;
  color: #94a3b8;
  user-select: none;
}

.nh-breadcrumb span[aria-current='page'] {
  color: #64748b;
  font-weight: 600;
}

@media (max-width: 560px) {
  .nh-cms-breadcrumb-box {
    padding: 32px 16px 0;
  }

  .nh-breadcrumb {
    margin-bottom: 22px;
    padding: 10px 12px;
    font-size: .86rem;
  }

  .nh-breadcrumb > span:not([aria-current='page']) {
    padding: 0 7px;
  }
}
