/* Label node styles: decoration-less and driven by design tokens */
.labelContainer {
  width: 100%;
  height: 100%;
  background: transparent;
  box-sizing: border-box;
  padding: 8px 12px;
  overflow: hidden;
}

.labelInner {
  width: 100%;
  height: 100%;
  background: transparent;
  color: var(--node-editor-text-color, #111);
  text-align: center;
}

/* Alignment helpers */
.alignLeft {
  text-align: left;
}
.alignCenter {
  text-align: center;
}
.alignRight {
  text-align: right;
}

.labelGroup {
  margin: 0;
}

.labelTitle {
  margin: 0;
  font: var(--node-editor-title-font, 600 16px var(--node-editor-theme-default-font-family));
  line-height: 1.2;
  font-size: 1.25em; /* bump up one size */
}

/* Wrapping and ellipsis utilities */
.nowrap {
  white-space: nowrap;
}
.wrapBalance {
  text-wrap: balance;
}
.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.labelSubtitle {
  margin: 0;
  font: var(--node-editor-subtitle-font, 500 12px var(--node-editor-theme-default-font-family));
  color: inherit;
  font-size: 1.15em; /* slightly larger */
}

.labelCaption {
  margin: 4px 0 0;
  font: var(--node-editor-caption-font, 400 12px var(--node-editor-theme-default-font-family));
  color: inherit;
}
