/* Natural-height content sections. Containers, alignment and spacing stay global. */
.orly-text-image {
  position: relative;
  isolation: isolate;
  margin-block-start: 0;
  background-color: var(--orly-text-image-background-color, var(--color-background));
  --orly-text-image-default-color: var(--color-text-primary);
}
.orly-text-image--mb-0 { margin-block-end: 0; }
.orly-text-image--mb-20 { margin-block-end: var(--section-space-20); }
.orly-text-image--content.orly-text-image--has-image { --orly-text-image-default-color: var(--color-white); }
.orly-text-image__background,
.orly-text-image__overlay { position: absolute; inset: 0; pointer-events: none; }
.orly-text-image__background {
  background-image: var(--orly-text-image-image);
  background-size: cover;
  background-position: var(--orly-text-image-focal-point, 50% 50%);
}
.orly-text-image__overlay {
  background-color: var(--orly-text-image-overlay-color, #000);
  opacity: var(--orly-text-image-overlay-opacity, 0.4);
}
.orly-text-image__inner { position: relative; }
.orly-text-image__content {
  min-width: 0;
  gap: var(--space-25);
  padding-block: var(--section-space-40);
  overflow-wrap: anywhere;
}
.orly-text-image .orly-container--full .orly-text-image__content { padding-inline: var(--container-gutter); }
.orly-text-image__title,
.orly-text-image__text,
.orly-text-image__eyebrow { margin: 0; max-width: 100%; }
.orly-text-image .orly-text-image__title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-semibold);
  font-size: var(--orly-title-size, var(--font-size-h2));
  line-height: var(--orly-title-line-height, 1);
  color: var(--orly-text-image-title-color, var(--orly-text-image-default-color));
}
.orly-text-image .orly-text-image__text {
  font-family: var(--font-body);
  font-size: var(--orly-text-size, var(--font-size-body));
  line-height: var(--line-height-body);
  color: var(--orly-text-image-text-color, var(--orly-text-image-default-color));
}
.orly-text-image .orly-text-image__eyebrow {
  font-family: var(--font-body);
  font-size: var(--orly-eyebrow-size, 0.875rem);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-body);
  color: var(--orly-text-image-eyebrow-color, var(--orly-text-image-default-color));
}
.orly-text-image__title-accent { color: var(--orly-text-image-title-accent-color, var(--color-accent)); }
.orly-text-image__text-accent { color: var(--orly-text-image-text-accent-color, var(--color-accent)); }
.orly-text-image__buttons { display: flex; flex-wrap: wrap; gap: var(--space-20); max-width: 100%; }
.orly-text-image__buttons > * { min-width: 0; max-width: 100%; }
.orly-text-image .orly-align-h-center .orly-text-image__buttons { justify-content: center; }
.orly-text-image .orly-align-h-right .orly-text-image__buttons { justify-content: flex-end; }

/* Mobile: editorial image follows the text, with a bounded crop and no overlay. */
.orly-text-image__media {
  position: relative;
  min-width: 0;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 20rem;
}
.orly-text-image__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--orly-text-image-focal-point, 50% 50%);
}
@media (min-width: 48rem) {
  .orly-text-image--split .orly-text-image__inner { column-gap: var(--space-40); }
  .orly-text-image--ratio-40-60 .orly-text-image__inner { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .orly-text-image--ratio-60-40 .orly-text-image__inner { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .orly-text-image--split .orly-text-image__content { grid-column: 1; grid-row: 1; }
  .orly-text-image--image-left .orly-text-image__content { grid-column: 2; }
  .orly-text-image__media {
    grid-column: 2;
    grid-row: 1;
    aspect-ratio: auto;
    max-height: none;
    /* Absolute image: only the content sets the row's natural height. */
  }
  .orly-text-image--image-left .orly-text-image__media { grid-column: 1; }
}
