/* Opt-in positioning: existing Nova Text blocks keep their saved layout. */
.nova-block--text.nova-text--aligned-desktop {
  display: flex;
  flex-direction: column;
  align-items: var(--nova-text-items-desktop);
  justify-content: var(--nova-text-justify-desktop);
  text-align: var(--nova-text-line-desktop) !important;
  min-width: 0;
  box-sizing: border-box;
}
.nova-block--text.nova-text--aligned-desktop > :where(.nova-eyebrow, h1, h2, h3, h4, h5, h6, .nova-block__body, .nova-text__link) {
  margin-inline: 0 !important;
  min-width: 0;
  max-width: 100%;
}
.nova-block--text.nova-text--aligned-desktop > :where(h1, h2, h3, h4, h5, h6) { width: min(100%, var(--nova-text-title-max-width, 620px)); }
.nova-block--text.nova-text--aligned-desktop > .nova-block__body { width: min(100%, var(--nova-text-body-max-width, 620px)); }
.nova-block--text.nova-text--aligned-desktop > .nova-eyebrow { width: 100%; }
.nova-block--text.nova-text--aligned-desktop > .nova-text__link { align-self: var(--nova-text-items-desktop); }

.nova-text-position-control__label { display: block; margin-bottom: 8px; font-weight: 600; }
.nova-text-position-control__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-bottom: 8px; }
.nova-text-position-control__grid button { min-height: 44px; border: 1px solid #b7bcc0; border-radius: 3px; background: #fff; color: #232629; cursor: pointer; }
.nova-text-position-control__grid button:hover { border-color: #767b80; }
.nova-text-position-control__grid button.is-active { border-color: #c83b32; background: #fbecea; color: #8d2721; }
.nova-text-position-control__grid button:focus-visible { outline: 2px solid #c83b32; outline-offset: 2px; }
