.itext__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.itext--img-right .itext__media { order: 2; }
.itext__media { aspect-ratio: 1; border-radius: calc(var(--radius) + 10px); overflow: hidden; background: var(--media-bg, color-mix(in srgb, var(--color-accent) 24%, var(--color-surface))); }
.itext__media img { width: 100%; height: 100%; }
.itext__media--contain img { object-fit: contain; padding: 8%; filter: drop-shadow(0 24px 28px rgba(18, 59, 120, .2)); }
.itext__media--cover img { object-fit: cover; }
.itext__media .placeholder-media { height: 100%; }
.itext__text { font-size: 1.05rem; line-height: 1.7; }
.itext__bullets { display: grid; gap: .9rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.itext__bullets li { display: flex; gap: .85rem; align-items: flex-start; }
.itext__bullets li > span:last-child { display: grid; gap: .15rem; }
.itext__bullets strong { color: var(--color-heading); }
.itext__bullet-icon { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; flex: none; border-radius: 50%; background: color-mix(in srgb, var(--color-accent) 35%, var(--color-surface)); color: var(--color-icon); }
.itext__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.itext__actions:empty { display: none; }
@media (max-width: 749px) {
  .itext__grid { grid-template-columns: minmax(0, 1fr); }
  .itext--img-right .itext__media { order: 0; }
  .itext__media { aspect-ratio: 4 / 3; }
}

/* Premium photo card: yellow offset card behind, shadow, sticker */
.itext__frame { position: relative; }
.itext__frame--offset { padding: 0 18px 18px 0; }
.itext__frame--offset::before {
  content: ""; position: absolute; inset: 18px 0 0 18px; border-radius: calc(var(--radius) + 12px);
  background: linear-gradient(135deg, var(--palette-accent) 0%, color-mix(in srgb, var(--palette-accent) 70%, #f5a300) 100%);
}
.itext--img-right .itext__frame--offset { padding: 0 0 18px 18px; }
.itext--img-right .itext__frame--offset::before { inset: 18px 18px 0 0; }
.itext__frame--offset .itext__media { position: relative; box-shadow: 0 30px 60px -36px rgba(18, 59, 120, .65); border: 4px solid var(--color-surface); }
.itext__sticker {
  position: absolute; z-index: 2; top: -14px; right: 6%;
  padding: .55rem 1rem; border-radius: 999px; transform: rotate(4deg);
  background: var(--palette-heading); color: var(--palette-accent);
  font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: .9rem; letter-spacing: .02em;
  box-shadow: 0 12px 24px -12px rgba(18, 59, 120, .7);
}

/* Phone: show the whole image (no cropping) at its natural shape */
@media (max-width: 749px) {
  .itext__media { aspect-ratio: auto; }
  .itext__media img { height: auto; object-fit: contain; }
}
