/* Shared hero captions retain the original IPv4 typography. The family hooks
   give this owner precedence over legacy percentage-based caption rules. */
body .ipblock .showip_mod .twoip-addresses .twoip-address-label:is(.iptitle, .ipv6title) {
  --twoip-address-label-size: 18px;
  font-size: var(--twoip-address-label-size);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: normal;
}

/* One shared stage, not a reserved empty second-family row. A lone address is
   centered in the same area; hidden family rows still consume no layout space. */
body .ipblock .showip_mod .twoip-addresses {
  --twoip-address-stage-height: 200px;
  min-block-size: var(--twoip-address-stage-height);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
body .ipblock .showip_mod .twoip-addresses[data-address-phase="pending"] > * {
  visibility: hidden;
}
body .ipblock .showip_mod .twoip-addresses[data-address-phase="pending"]::before {
  content: "";
  position: absolute;
  inset-block-start: calc(50% - 22px);
  inset-inline-start: 15%;
  inline-size: 70%;
  block-size: 44px;
  border-radius: var(--twoip-radius-small, 8px);
  background: currentColor;
  opacity: .12;
}
