.pp-menu-nav > .menu > .menu-item span {
  position: relative;
  /* needed for ::after */
}
.pp-menu-nav > .menu > .menu-item span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  /* distance under text */
  transform: translateX(-50%);
  width: 50%;
  /* change % to control line length */
  height: 2px;
  background: currentColor;
  /* uses the text color */
  opacity: 0;
  transition: opacity 0.3s ease;
}
/* Hover + Active page */
.pp-menu-nav > .menu > .menu-item span:hover::after,
.pp-menu-nav > .menu > .menu-item.current-menu-item span::after,
.pp-menu-nav > .menu > .menu-item.current_page_item span::after {
  opacity: 1;
}
/* Button text */
.fl-builder-content .fl-row.fl-node-y24rq8c6egka .fl-module-button-group .fl-button span {
  position: relative;
  display: inline-block;
}
/* Short centered underline (hidden initially) */
.fl-builder-content .fl-row.fl-node-y24rq8c6egka .fl-module-button-group .fl-button span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  /* adjust spacing below text */
  transform: translateX(-50%) scaleX(0);
  width: 50%;
  /* line length */
  height: 2px;
  background: currentColor;
  transition: transform 0.3s ease;
  transform-origin: center;
}
/* Animate underline on hover */
.fl-builder-content .fl-row.fl-node-y24rq8c6egka .fl-module-button-group .fl-button:hover span::after {
  transform: translateX(-50%) scaleX(1);
}
/* Button text setup */
.fl-builder-content .fl-row.fl-node-q917wrzktac4 .fl-module-button-group .fl-button span {
  position: relative;
  display: inline-block;
}
/* Underline (hidden by default) */
.fl-builder-content .fl-row.fl-node-q917wrzktac4 .fl-module-button-group .fl-button span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  /* adjust spacing below text */
  transform: translateX(-50%) scaleX(0);
  /* start hidden */
  width: 50%;
  /* line length */
  height: 2px;
  background: currentColor;
  transition: transform 0.3s ease;
  transform-origin: center;
}
/* Hover effect (underline animates in) */
.fl-builder-content .fl-row.fl-node-q917wrzktac4 .fl-module-button-group .fl-button:hover span::after {
  transform: translateX(-50%) scaleX(1);
}
/* Active button (underline always visible) */
.fl-builder-content .fl-row.fl-node-q917wrzktac4 .fl-module-button-group .fl-button.active span::after {
  transform: translateX(-50%) scaleX(1);
}
