/* Renéra · Post Detail — MOBILE overrides (phones + tablets).
   Layered on top of post-detail.css when the body carries .rn-m (server-detected
   via reneranutrition_is_mobile()). Forces the editorial layout to a single
   column, swaps the vertical share rail for an inline horizontal row, and turns
   the 3-up Related grid into a swipe carousel.

   Unlike the design prototype (which lived inside a 402px iOS frame on a wide
   desktop viewport and therefore couldn't rely on @media queries), the live
   mobile build IS a narrow viewport — but we keep the .rn-m scoping + !important
   so these rules win regardless of the desktop media queries in post-detail.css.
   The reading-progress bar stays position:fixed here because the real page
   scrolls the window, not an inner frame. */

.rn-m .rn-article-hero,
.rn-m .rn-feature-img,
.rn-m .rn-article,
.rn-m .rn-related { background: var(--renera-sand-300); }

/* =========================================
   ARTICLE HERO — collapse all layouts to one column
   ========================================= */
.rn-m .rn-article-hero { padding-top: 22px !important; }
.rn-m .rn-article-hero__inner {
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  padding: 0 22px !important;
  max-width: none !important;
  text-align: left !important;
  align-items: flex-start !important;
}

/* magazine: hide the index numeral + side rail */
.rn-m .rn-article-hero--magazine .rn-article-hero__index,
.rn-m .rn-article-hero--magazine .rn-article-hero__side { display: none !important; }

/* editorial: left-align instead of centered */
.rn-m .rn-article-hero--editorial .rn-article-deck { text-align: left; }
.rn-m .rn-article-hero--editorial .rn-article-meta { justify-content: flex-start !important; padding: 14px 0 !important; }
.rn-m .rn-article-hero--magazine .rn-article-meta { padding: 16px 0 18px !important; margin-top: 20px !important; }

/* cover: trim the big padding + hide ornament */
.rn-m .rn-article-hero--cover { padding: 36px 0 40px !important; }
.rn-m .rn-article-hero--cover .rn-baroque { display: none !important; }

/* shared type scaling */
.rn-m .rn-article-title { font-size: 36px !important; line-height: 1.06 !important; }
.rn-m .rn-article-title br { display: none; }
.rn-m .rn-article-deck { font-size: 17px !important; }
.rn-m .rn-article-meta { width: auto !important; max-width: none !important; }
.rn-m .rn-meta-row { font-size: 10px !important; gap: 10px 12px !important; }

/* =========================================
   FEATURE IMAGE
   ========================================= */
.rn-m .rn-feature-img { margin-top: 20px !important; }
.rn-m .rn-feature-img__frame { padding: 0 22px !important; max-width: none !important; }
.rn-m .rn-feature-img__media { aspect-ratio: 16 / 10 !important; border-radius: var(--renera-r-md) !important; }
.rn-m .rn-feature-img--bleed .rn-feature-img__frame { padding: 0 !important; }
.rn-m .rn-feature-img--bleed .rn-feature-img__media { border-radius: 0 !important; }
.rn-m .rn-feature-img__cap { padding: 0 22px !important; max-width: none !important; margin-top: 10px !important; }

/* =========================================
   ARTICLE BODY — single column, rails removed
   ========================================= */
.rn-m .rn-article { padding: 36px 0 44px !important; }
.rn-m .rn-article__inner {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding: 0 22px !important;
  max-width: none !important;
}
.rn-m .rn-rail--right,
.rn-m .rn-rail--left { display: none !important; }

/* prose: kill the desktop negative-margin bleeds + tighten the rhythm */
.rn-m .rn-prose { font-size: 16px !important; line-height: 1.62 !important; }
.rn-m .rn-prose > * + * { margin-top: 1.05em !important; }
.rn-m .rn-prose figure,
.rn-m .rn-prose blockquote,
.rn-m .rn-pullquote,
.rn-m .rn-aside,
.rn-m .rn-inline-cta { margin-left: 0 !important; margin-right: 0 !important; }
.rn-m .rn-prose figure { margin-top: 1.4em !important; margin-bottom: 1.4em !important; }

.rn-m .rn-lead-graph { font-size: 19px !important; line-height: 1.42 !important; }

/* numbered H2: stack the number above the title */
.rn-m .rn-prose h2 {
  font-size: 25px !important;
  padding-left: 0 !important;
  margin-top: 1.5em !important;
}
.rn-m .rn-prose h2::before {
  position: static !important;
  display: block;
  width: 64px; padding-top: 6px;
  margin-bottom: 8px;
  top: auto !important;
}
.rn-m .rn-prose h3 { font-size: 21px !important; margin-top: 1.2em !important; }

/* drop cap a touch smaller */
.rn-m .rn-prose--drop > p:first-of-type::first-letter { font-size: 64px !important; padding: 4px 10px 0 0 !important; }

/* pull quote / aside type */
.rn-m .rn-pullquote,
.rn-m .rn-prose blockquote { padding: 24px 22px !important; margin-top: 1.8em !important; margin-bottom: 1.8em !important; }
.rn-m .rn-pullquote p,
.rn-m .rn-prose blockquote p { font-size: 22px !important; line-height: 1.28 !important; }
.rn-m .rn-aside { padding: 20px !important; grid-template-columns: 1fr !important; gap: 12px !important; }

/* inline CTA → single column, media on top */
.rn-m .rn-inline-cta { grid-template-columns: 1fr !important; margin-top: 2em !important; margin-bottom: 2em !important; }
.rn-m .rn-inline-cta__media { height: 170px; order: -1; border-left: 0 !important; border-bottom: 1px solid rgba(246,238,232,0.12); }
.rn-m .rn-inline-cta__body { padding: 28px 24px !important; }
.rn-m .rn-inline-cta__title { font-size: 24px !important; }

/* tags / references / disclaimer */
.rn-m .rn-tags { margin-top: 36px !important; padding-top: 22px !important; }
.rn-m .rn-refs { padding: 24px !important; margin-top: 40px !important; }
.rn-m .rn-refs__list { gap: 16px !important; }
.rn-m .rn-refs__list li { grid-template-columns: 36px 1fr !important; gap: 10px !important; padding-top: 16px !important; }
.rn-m .rn-disclaimer { margin-top: 32px !important; padding: 22px 24px !important; }

/* author card → stack */
.rn-m .rn-author-card {
  grid-template-columns: 56px 1fr !important;
  gap: 16px !important; padding: 24px !important; margin-top: 32px !important;
}
.rn-m .rn-author-card__link { grid-column: 1 / -1; justify-self: start; }
.rn-m .rn-author-card__avatar { width: 56px; height: 56px; }

/* end nav → stacked */
.rn-m .rn-endnav { grid-template-columns: 1fr !important; margin-top: 32px !important; gap: 12px !important; }
.rn-m .rn-endnav__card { padding: 22px !important; }
.rn-m .rn-endnav__card--next { text-align: left !important; align-items: flex-start !important; }
.rn-m .rn-endnav__title { font-size: 19px !important; }

/* =========================================
   INLINE SHARE ROW (mobile replacement for the vertical rail)
   ========================================= */
.rn-m .rn-mshare {
  display: flex; align-items: center; gap: 12px;
  margin: 28px 0 0; padding-top: 22px;
  border-top: 1px solid var(--renera-clay-300);
}
.rn-mshare__label {
  font-family: var(--renera-font-mono);
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--renera-mute); margin-right: auto;
}
.rn-mshare__btns { display: flex; gap: 10px; }

/* =========================================
   RELATED — horizontal swipe carousel
   ========================================= */
.rn-m .rn-related { padding: 44px 0 !important; }
.rn-m .rn-related__head {
  grid-template-columns: 1fr !important;
  gap: 14px !important; padding: 0 22px !important;
  margin-bottom: 26px !important; max-width: none !important;
}
.rn-m .rn-related__title { font-size: 32px !important; }
.rn-m .rn-related__grid {
  display: flex !important;
  grid-template-columns: none !important;
  flex-flow: row nowrap !important;
  gap: 16px !important;
  padding: 4px 22px 14px !important;
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.rn-m .rn-related__grid::-webkit-scrollbar { width: 0; height: 0; }
.rn-m .rn-related__grid > .rn-post-card {
  flex: 0 0 78% !important;
  width: 78% !important;
  scroll-snap-align: start;
}

/* =========================================
   NEWSLETTER — collapse desktop grids
   ========================================= */
.rn-m #connect .container { grid-template-columns: 1fr !important; gap: 24px !important; }
.rn-m #connect.rn-section { padding: 48px 0 !important; }
.rn-m #connect .rn-h-2 { font-size: 28px !important; }

/* The mobile footer is the shared template-parts/mobile-footer.php partial
   (.rnm-footer), styled by assets/css/mobile-footer.css. No page-level footer
   overrides here — a `.rn-m footer` rule would out-specify the shared partial
   and reach into markup that no longer renders on mobile. */
