/* Image + text — views/sections/image_text.php. Stacked on phones (image first), two columns from
   1024 px: image left or right, half or wider than the text, text centred with the image or top-aligned.
   Image shapes: original, square, portrait 4:5, landscape 4:3. */

.rr-image-text {
  display: grid;
  gap: clamp(1.5rem, 1rem + 2.5vw, 4rem);
  align-items: center;
}

.rr-image-text--align-top {
  align-items: start;
}

@media (min-width: 1024px) {
  .rr-image-text {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .rr-image-text--wide.rr-image-text--image-left {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  }

  .rr-image-text--wide.rr-image-text--image-right {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  }

  .rr-image-text--image-right .rr-image-text__media {
    order: 2;
  }

  .rr-image-text--no-image {
    grid-template-columns: minmax(0, 1fr);
  }
}

.rr-image-text__media {
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: var(--color-surface-2);
}

.rr-image-text__media :where(picture, img) {
  display: block;
  width: 100%;
  height: 100%;
}

.rr-image-text--ratio-square .rr-image-text__media {
  aspect-ratio: 1 / 1;
}

.rr-image-text--ratio-portrait .rr-image-text__media {
  aspect-ratio: 4 / 5;
}

.rr-image-text--ratio-landscape .rr-image-text__media {
  aspect-ratio: 4 / 3;
}

.rr-image-text:not(.rr-image-text--ratio-original) .rr-image-text__media img {
  object-fit: cover;
}

@media (max-width: 1023.98px) {
  .rr-image-text--ratio-portrait .rr-image-text__media {
    aspect-ratio: 4 / 4.25;
  }
}

.rr-image-text__copy {
  display: grid;
  justify-items: start;
  gap: 1rem;
  min-width: 0;
}

.rr-image-text__copy > .rr-section__header {
  margin-bottom: 0;
}

.rr-image-text--no-image .rr-image-text__copy {
  max-width: 48rem;
}

.rr-section--align-center .rr-image-text__copy {
  justify-items: center;
  text-align: center;
}

.rr-section--align-center .rr-image-text--no-image .rr-image-text__copy {
  margin-inline: auto;
}

.rr-image-text__text {
  max-width: 60ch;
  color: var(--color-text-muted);
}

.rr-image-text__text :where(strong, b, a) {
  color: var(--color-text);
}

.rr-image-text__actions {
  margin-top: 0.5rem;
}
