/* Shared article defaults: editor, preview, review URL and public article.
   Explicit font sizes chosen by editors remain available; no saved body is rewritten. */
.visual-editor[hidden],
#text-fallback[hidden] {
  display: none !important;
}
/* Show the complete cover photo without cropping; list thumbnails are unchanged. */
.post > .cover {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 620px;
  object-fit: contain;
  margin: 0 auto 36px;
}
.rich-body,
.post-body {
  font-size: 16px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.rich-body strong,
.rich-body b,
.post-body strong,
.post-body b {
  font-size: inherit;
  font-weight: 700;
}
.rich-body h2,
.post-body h2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.55;
}
/* A manually selected size wins even when bold is applied afterwards. */
.rich-body :is(span[style*="font-size"], font[size], font[style*="font-size"]) :is(strong, b),
.post-body :is(span[style*="font-size"], font[size], font[style*="font-size"]) :is(strong, b) {
  font-size: inherit;
}

/* Retain the September 24 typography correction. */
.featured-copy > p:not(.eyebrow) { font-family: var(--article-serif); }
.newsletter .journal-footer-heading { margin:22px 0 35px; color:var(--ink); font:400 31px/1.8 var(--article-serif); letter-spacing:.06em; }
.journal-breadcrumb, .journal-updated { font-size:12px; color:var(--muted); }
.journal-breadcrumb { margin-bottom:32px; }
.journal-products, .journal-related { border-top:1px solid var(--line); margin-top:48px; padding-top:24px; }
.journal-products h2, .journal-related h2 { font-size:20px; font-weight:400; }
.journal-products a { text-decoration:underline; text-underline-offset:4px; }
.journal-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; font-size:14px; }
.journal-related-grid img { width:100%; aspect-ratio:3/2; object-fit:cover; margin-bottom:12px; }
.journal-neighbors { display:flex; justify-content:space-between; gap:24px; margin-top:40px; font-size:13px; }
.journal-neighbors a { max-width:48%; }
.journal-share { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:18px 0; font:12px/1.8 Arial,"Yu Gothic",sans-serif; }
.journal-share button { font:inherit; color:inherit; background:transparent; border:1px solid var(--line); padding:5px 10px; cursor:pointer; }
.journal-share [role="status"] { width:100%; }
.journal-products ul { padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.journal-products a { display:flex; align-items:center; gap:16px; }
.journal-products img { width:100px; height:100px; object-fit:contain; }
.journal-crop-dialog { width:min(94vw,720px); max-height:90vh; overflow:auto; border:1px solid #d9cfd5; padding:24px; }
.journal-crop-dialog canvas { display:block; max-width:100%; max-height:42vh; width:auto; height:auto; margin:auto; background:repeating-conic-gradient(#eee 0% 25%,#fff 0% 50%) 50% / 16px 16px; }
.journal-crop-actions { display:flex; flex-wrap:wrap; gap:8px; }
.journal-editor-fields details { margin:12px 0; border-top:1px solid #ddd; padding-top:12px; }
.journal-pagination { display:flex; justify-content:center; gap:24px; margin:24px auto 70px; }
.post-body table,.rich-body table { width:100%; border-collapse:collapse; font-size:14px; margin:24px 0; table-layout:fixed; }
.post-body th,.post-body td,.rich-body th,.rich-body td { text-align:left; vertical-align:top; border-bottom:1px solid var(--line,#ddd); padding:10px; overflow-wrap:anywhere; }
.post-body th,.rich-body th { width:28%; }
.story-image img,.popular-card img { aspect-ratio:3/2; }
@media(max-width:600px) {
  .journal-related-grid { grid-template-columns:1fr; }
  .newsletter .journal-footer-heading { font-size:24px; }
  .journal-products ul { grid-template-columns:1fr; }
}
