/* Base layout */
.p--tic .p__inner {
  display: flex;
  gap: 2rem;
  align-items: stretch;   /* both columns adopt tallest height */
  flex-wrap: wrap;        /* stacks on small screens if needed */
}

.p--tic .p__left,
.p--tic .p__right {
  flex: 1 1 0;
  min-width: 0;           /* prevent overflow from long content */
}

/* Vertical centering on the image column */
.p--tic .p__right {
  display: flex;
  align-items: center;    /* vertical centering */
  justify-content: center;
}

/* Image fits */
.p--tic .p__image img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Optional “cover” mode to fill the column height with tasteful crop */
.p--tic--fit-cover .p__image,
.p--tic--fit-cover .p__image img {
  width: 100%;
  height: 100%;
}
.p--tic--fit-cover .p__image img {
  object-fit: cover;
}

/* Optional position modifier to flip columns */
.p--tic--pos-left .p__inner { flex-direction: row-reverse; }

/* Optional vertical align modifiers if you expose a field */
.p--tic--valign-top .p__right    { align-items: flex-start; }
.p--tic--valign-middle .p__right { align-items: center; }
.p--tic--valign-bottom .p__right { align-items: flex-end; }

/* Responsive tweak: stack at a breakpoint */
@media (max-width: 900px) {
  .p--tic .p__inner { flex-direction: column; }
}