/* ============================================================
   Text + Image Row
   ============================================================ */

.content-media-row {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3xl);
  padding-bottom: var(--spacing-3xl);
}

.content-media-row__text {
  flex: 1 1 0;
  padding-bottom: 40px;
}

/* Flatten every descendant to 16px (kills UA heading defaults like h3's 1.17em).
   Inline style="font-size:...px" on the element itself still wins over this. */
/* .content-media-row__text *:not([style*="font-size"]) {
  font-size: 16px;
} */

.content-media-row__text h1,
.content-media-row__text h2,
.content-media-row__text h3,
.content-media-row__text h4,
.content-media-row__text h5,
.content-media-row__text h6 {
  color: var(--text-primary);
}

.content-media-row__text p {
  color: var(--text-secondary);
  padding-bottom: var(--spacing-xl);
}

.content-media-row__text p:last-child {
  padding-bottom: 0;
}

.content-media-row__text ul {
  list-style-type: disc;
  padding-left: var(--spacing-3xl);
  padding-bottom: var(--spacing-xl);
}

.content-media-row__text ol {
  list-style-type: decimal;
  padding-left: var(--spacing-3xl);
  padding-bottom: var(--spacing-xl);
}

.content-media-row__text li {
  color: var(--text-secondary);
}

.content-media-row__text ul:last-child,
.content-media-row__text ol:last-child {
  padding-bottom: 0;
}

.content-media-row__media {
  flex: 1 1 0;
  padding-bottom: var(--spacing-3xl);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}

.content-media-row__img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-xl);
  display: block;
}

.content-media-row__media--fixed {
  flex: 0 0 auto;
  width: var(--content-media-row-img-width);
  max-width: 100%;
}

.content-media-row__media--fixed .content-media-row__img {
  width: var(--content-media-row-img-width);
  max-width: 100%;
}

.content-media-row__caption {
  display: flex;
  align-items: center;
  gap: 6px;
}

.content-media-row__caption-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
}

.content-media-row__caption-icon svg {
  width: 100%;
  height: 100%;
}

.content-media-row__caption-text {
  color: var(--text-primary);
}

.content-media-row__caption-link {
  color: var(--text-primary);
  text-decoration: underline;
}

.content-media-row__caption-link:hover {
  color: var(--text-brand);
}

@media (max-width: 1024px) {
  .content-media-row {
    gap: var(--spacing-xl);
  }
}

@media (max-width: 768px) {
  .content-media-row {
    flex-direction: column;
  }

  .content-media-row__text,
  .content-media-row__media {
    padding-bottom: 0;
  }
}

/* ─────────────────────────────────────────────────────────────
   Focus Indicators (WCAG 2.4.7 Focus Visible)
   ───────────────────────────────────────────────────────────── */
.content-media-row__caption-link:focus-visible {
  outline: 2px solid var(--surface-accent, #003c51) !important;
  outline-offset: 2px !important;
}
