.card-info { position: relative; z-index: 1; padding-top: 65px; padding-bottom: 65px; }
.card-info__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 55px; align-items: start; max-width: var(--container-max-width); margin: 0 auto; }
.card-info__media { min-width: 0; }
.card-info__media-sticky { position: sticky; top: calc(var(--header-height) + 24px); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; width: 100%; }
.card-info__media-sticky:has(> .card-info__image:only-child) { grid-template-columns: 1fr; }
.card-info__image { display: block; width: 100%; height: auto; aspect-ratio: 1.55; object-fit: cover; border-radius: 9px; }
.card-info__media-sticky:has(> .card-info__image:only-child) .card-info__image { aspect-ratio: 1.68; }
.card-info__body { display: flex; flex-direction: column; gap: 15px; min-width: 0; padding: 0; background: transparent; }
.card-info__title { margin: 0; font-size: 32px; font-weight: 700; line-height: 1.2; }
.card-info__description { margin: 0; color: #333; font-size: 17px; line-height: 1.46; font-weight: 400; }
.card-info__content { display: flex; flex-direction: column; gap: 9px; margin-top: 8px; font-size: 16px; font-weight: 400; line-height: 1.5; }
.card-info__line { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 800px) { .card-info__grid { grid-template-columns: 1fr; gap: 30px; } .card-info__media-sticky { position: static; } }
@media (max-width: 530px) { .card-info { padding-top: 43px; padding-bottom: 43px; } .card-info__title { font-size: 28px; } }

/* On individual catalog pages only the first image-and-text block is reversed. */
.site-main--catalog-detail > .hero-block + .card-info .card-info__grid,
.site-main--catalog-detail > .site-header + .card-info .card-info__grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}
.site-main--catalog-detail > .hero-block + .card-info .card-info__media,
.site-main--catalog-detail > .site-header + .card-info .card-info__media {
  grid-column: 2;
  grid-row: 1;
}
.site-main--catalog-detail > .hero-block + .card-info .card-info__body,
.site-main--catalog-detail > .site-header + .card-info .card-info__body {
  grid-column: 1;
  grid-row: 1;
}
.card-info__order { align-self: flex-start; margin-top: 10px; }
@media (max-width: 800px) {
  .site-main--catalog-detail > .hero-block + .card-info .card-info__grid,
  .site-main--catalog-detail > .site-header + .card-info .card-info__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .site-main--catalog-detail > .hero-block + .card-info .card-info__media,
  .site-main--catalog-detail > .site-header + .card-info .card-info__media {
    grid-column: 1;
    grid-row: 2;
  }
  .site-main--catalog-detail > .hero-block + .card-info .card-info__body,
  .site-main--catalog-detail > .site-header + .card-info .card-info__body {
    grid-column: 1;
    grid-row: 1;
  }
}

/* All info blocks on the four laser-scanning service pages: text on the left,
   images on the right. Blocks without a gallery do not reserve a blank column. */
.card-info--laser-service .card-info__grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}
.card-info--laser-service .card-info__media {
  grid-column: 2;
  grid-row: 1;
}
.card-info--laser-service .card-info__body {
  grid-column: 1;
  grid-row: 1;
}
.card-info--laser-service .card-info__grid--text-only {
  grid-template-columns: minmax(0, 1fr);
}
.card-info--laser-service .card-info__grid--text-only .card-info__media {
  display: none;
}

/* Some original content includes full-size photographs in rich text rather
   than the image gallery (e.g. an example on the complex-geometry page).
   Keep the accompanying text on the left without shifting small inline icons. */
.card-info--laser-service .card-info__line:has(> p:first-child > img[src^="/images/"]) {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: 35px;
  align-items: start;
}
.card-info--laser-service .card-info__line:has(> p:first-child > img[src^="/images/"]) > p:first-child {
  grid-column: 2;
  grid-row: 1 / span 6;
  margin-top: 0;
}
.card-info--laser-service .card-info__line:has(> p:first-child > img[src^="/images/"]) > p:not(:first-child) {
  grid-column: 1;
}
.card-info--laser-service .card-info__line > p:first-child > img[src^="/images/"] {
  width: 100%;
  height: auto;
  border-radius: 9px;
}

@media (max-width: 800px) {
  .card-info--laser-service .card-info__grid,
  .card-info--laser-service .card-info__grid--text-only {
    grid-template-columns: minmax(0, 1fr);
  }
  .card-info--laser-service .card-info__body {
    grid-column: 1;
    grid-row: 1;
  }
  .card-info--laser-service .card-info__media {
    grid-column: 1;
    grid-row: 2;
  }
  .card-info--laser-service .card-info__line:has(> p:first-child > img[src^="/images/"]) {
    display: flex;
    flex-direction: column;
  }
  .card-info--laser-service .card-info__line:has(> p:first-child > img[src^="/images/"]) > p:first-child {
    order: 2;
  }
}
