/* GSR Article Layout 1.0.16 | Scoped to single posts using this plugin template. */
body.gsr-article-layout-active #gsr-article-layout,
body.gsr-article-layout-active #gsr-article-layout * {
  box-sizing: border-box;
}
body.gsr-article-layout-active #gsr-article-layout {
  width: min(100%, 1250px);
  max-width: 1250px;
  margin: 0 auto 52px;
  padding: 44px 24px 48px;
  color: #15232c;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
}
/* The editorial header belongs to the left article column, so the existing
   sidebar begins level with the category badge, not below the header. */
body.gsr-article-layout-active .gsr-article-layout__header {
  width: 100%;
  max-width: 100%;
  margin: 0 0 27px;
  text-align: center;
}
body.gsr-article-layout-active .gsr-article-layout__category {
  display: inline-block;
  width: auto;
  margin: 0 0 17px;
  padding: 6px 10px;
  border: 0;
  border-radius: 3px;
  background: #a71919;
  color: #fff !important;
  font: 800 13px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .2px;
  text-decoration: none !important;
  text-transform: uppercase;
}
body.gsr-article-layout-active .gsr-article-layout__category:hover,
body.gsr-article-layout-active .gsr-article-layout__category:focus-visible {
  background: #851414;
}
body.gsr-article-layout-active .gsr-article-layout__title {
  margin: 0 auto !important;
  padding: 0 !important;
  max-width: 100%;
  color: #181e25 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(36px, 3.2vw, 42px) !important;
  font-weight: 800 !important;
  line-height: 1.13 !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
  overflow-wrap: break-word;
  text-align: center !important;
}
body.gsr-article-layout-active .gsr-article-layout__deck {
  max-width: 100%;
  margin: 16px auto 18px !important;
  color: #404952;
  font: 400 clamp(18px, 1.6vw, 22px)/1.45 Arial, Helvetica, sans-serif;
  letter-spacing: -.012em;
  text-align: center;
}
body.gsr-article-layout-active .gsr-article-layout__identity {
  margin: 22px auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: #62707a;
  font-size: 15px;
  line-height: 1.5;
}
body.gsr-article-layout-active .gsr-article-layout__byline {
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px;
}
body.gsr-article-layout-active .gsr-article-layout__author-name {
  font-weight: 800;
  color: #15385b !important;
  text-decoration: none;
}
body.gsr-article-layout-active a.gsr-article-layout__author-name:hover {
  text-decoration: underline;
}
body.gsr-article-layout-active .gsr-article-layout__publisher {
  color: #62707a;
}
body.gsr-article-layout-active .gsr-article-layout__published {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 6px;
  color: #5d6872;
  font-size: 13px;
}
body.gsr-article-layout-active .gsr-article-layout__columns {
  width: 100%;
  display: grid;
  /* Match the standard homepage sidebar footprint: never force its existing
     widget wrappers into the old 302px column. Keep the article flexible. */
  grid-template-columns: minmax(0, 1fr) 385px;
  gap: clamp(24px, 2.6vw, 34px);
  align-items: start;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__main {
  float: none !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__post {
  float: none !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
  box-shadow: none !important;
}
body.gsr-article-layout-active .gsr-article-layout__sharing {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 0;
  margin: 0 0 24px;
  border-top: 1px solid #dfe4e7;
  border-bottom: 1px solid #dfe4e7;
}
body.gsr-article-layout-active .gsr-article-layout__share-label {
  font-size: 12px;
  font-weight: 700;
  color: #54626d;
  text-transform: uppercase;
  letter-spacing: .35px;
  margin-right: 4px;
}
body.gsr-article-layout-active .gsr-article-layout__share-action {
  appearance: none;
  border: 1px solid #15385b !important;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: inline-flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  background: #15385b !important;
  text-decoration: none !important;
  font: 700 18px/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
  transition: color .15s ease, background .15s ease, border-color .15s ease;
}
body.gsr-article-layout-active .gsr-article-layout__share-action:hover,
body.gsr-article-layout-active .gsr-article-layout__share-action:focus-visible {
  color: #fff !important;
  background: #0b2942 !important;
  border-color: #0b2942 !important;
}
body.gsr-article-layout-active .gsr-article-layout__share-action svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.gsr-article-layout-active .gsr-article-layout__fb {
  font: 800 23px/1 Arial, Helvetica, sans-serif;
  transform: translateY(2px);
}
body.gsr-article-layout-active .gsr-article-layout__x {
  font-size: 18px;
  font-weight: 700;
}
body.gsr-article-layout-active .gsr-article-layout__comments-link {
  border-radius: 24px;
  flex-basis: auto;
  width: auto;
  padding: 0 12px !important;
  gap: 7px;
  font-size: 12px;
}
body.gsr-article-layout-active .gsr-article-layout__copy-status {
  color: #246245;
  font-size: 12px;
  font-weight: 700;
  min-width: 1px;
}
body.gsr-article-layout-active .gsr-article-layout__hero {
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent;
}
body.gsr-article-layout-active .gsr-article-layout__hero-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 2px;
  object-fit: contain;
}
body.gsr-article-layout-active .gsr-article-layout__hero figcaption {
  margin: 9px 0 0;
  padding: 0;
  color: #68757f;
  font: 400 12px/1.5 Arial, Helvetica, sans-serif;
}
body.gsr-article-layout-active .gsr-article-layout__photo-credit {
  display: block;
  font-style: italic;
}
/* v1.0.5: reuse the GSR Article Cards navy tagline beneath the hero and its
   caption/credit, rather than overlaying the image or adding a new field. */
body.gsr-article-layout-active .gsr-article-layout__hero--with-tagline {
  margin-bottom: 14px !important;
}
body.gsr-article-layout-active .gsr-article-layout__tagline {
  margin: 0 0 26px;
  padding: 0;
  line-height: 1;
  text-align: left;
}
body.gsr-article-layout-active .gsr-article-layout__tagline-label {
  display: inline-block;
  box-sizing: border-box;
  max-width: 100%;
  padding: 6px 9px;
  border-radius: 3px;
  background: rgba(21, 35, 44, .92);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .2px;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  vertical-align: top;
}
body.gsr-article-layout-active .gsr-article-layout__body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
  color: #202b33;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.65;
  overflow-wrap: break-word;
}
body.gsr-article-layout-active .gsr-article-layout__body p,
body.gsr-article-layout-active .gsr-article-layout__body li {
  color: inherit;
  font: inherit;
  line-height: inherit;
}
body.gsr-article-layout-active .gsr-article-layout__body p { margin: 0 0 1.35em; }
body.gsr-article-layout-active .gsr-article-layout__body ul,
body.gsr-article-layout-active .gsr-article-layout__body ol { margin: 0 0 1.4em; padding-left: 1.4em; }
body.gsr-article-layout-active .gsr-article-layout__body li { margin-bottom: .35em; }
body.gsr-article-layout-active .gsr-article-layout__body h2,
body.gsr-article-layout-active .gsr-article-layout__body h3,
body.gsr-article-layout-active .gsr-article-layout__body h4 {
  margin: 1.55em 0 .5em;
  color: #15232c;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.2;
}
body.gsr-article-layout-active .gsr-article-layout__body h2 { font-size: 1.55em; }
body.gsr-article-layout-active .gsr-article-layout__body h3 { font-size: 1.3em; }
body.gsr-article-layout-active .gsr-article-layout__body h4 { font-size: 1.15em; }
body.gsr-article-layout-active .gsr-article-layout__body a { color: #a71919; text-decoration: underline; text-underline-offset: 2px; }
body.gsr-article-layout-active .gsr-article-layout__body blockquote,
body.gsr-article-layout-active .gsr-article-layout__body .wp-block-quote {
  margin: 1.6em 0;
  border-left: 4px solid #a71919;
  padding: 10px 20px;
  color: #4d5a65;
  font-style: italic;
  background: #fafafb;
}
body.gsr-article-layout-active .gsr-article-layout__body figure { max-width: 100%; }
body.gsr-article-layout-active .gsr-article-layout__body img,
body.gsr-article-layout-active .gsr-article-layout__body iframe { max-width: 100%; height: auto; }
body.gsr-article-layout-active .gsr-article-layout__body .wp-block-image figcaption { font: 400 12px/1.5 Arial, Helvetica, sans-serif; color: #64717a; }
body.gsr-article-layout-active .gsr-article-layout__body .wp-block-embed iframe { height: auto; aspect-ratio: 16/9; }
body.gsr-article-layout-active .gsr-article-layout__body pre { max-width: 100%; overflow-x: auto; font-size: .85em; }
body.gsr-article-layout-active .gsr-article-layout__body table { display: block; overflow-x: auto; width: 100%; }
body.gsr-article-layout-active .gsr-article-layout__author-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin: 36px 0 26px;
  padding: 22px 0;
  border-top: 1px solid #dfe4e7;
  border-bottom: 1px solid #dfe4e7;
}
body.gsr-article-layout-active .gsr-article-layout__author-card-avatar,
body.gsr-article-layout-active .gsr-article-layout__author-card-avatar img { width: 56px; height: 56px; border-radius: 50%; flex: 0 0 56px; }
body.gsr-article-layout-active .gsr-article-layout__author-card-name { margin: 0 0 4px; color: #173a5b; font: 800 15px/1.3 Arial, Helvetica, sans-serif; }
body.gsr-article-layout-active .gsr-article-layout__author-card-bio { margin: 0; color: #56636e; font: 400 14px/1.6 Arial, Helvetica, sans-serif; }
body.gsr-article-layout-active .gsr-article-layout__post .post-navigation { margin-top: 34px; border-top: 1px solid #dfe4e7; padding-top: 18px; }
body.gsr-article-layout-active .gsr-article-layout__post .post-navigation .nav-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body.gsr-article-layout-active .gsr-article-layout__post .post-navigation a { color: #15385b; text-decoration: none; font-family: Arial, Helvetica, sans-serif; }
body.gsr-article-layout-active .gsr-article-layout__nav-kicker { display: block; color: #677780; font-size: 12px; font-weight: 400; margin-bottom: 5px; }
body.gsr-article-layout-active .gsr-article-layout__nav-title { font-weight: 800; font-size: 14px; line-height: 1.4; }
body.gsr-article-layout-active .gsr-article-layout__comments { margin-top: 36px; }
/* Preserve existing registered sidebar and widgets, but neutralize theme floats.
   The sidebar starts beside the sharing bar / featured photo, not the headline. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__sidebar,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__sidebar #secondary {
  float: none !important;
  clear: none !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__sidebar { padding: 0 !important; align-self: start; }
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__sidebar #secondary { padding: 0 !important; }
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__sidebar .widget { max-width: 100%; }
body.gsr-article-layout-active #gsr-article-layout a:focus-visible,
body.gsr-article-layout-active #gsr-article-layout button:focus-visible { outline: 3px solid #a71919 !important; outline-offset: 3px; }
@media (min-width: 768px) and (max-width: 1000px) {
  /* At this width, don't reduce the right column to 220–255px: stack it
     below the article instead, retaining the desktop widget proportions. */
  body.gsr-article-layout-active #gsr-article-layout { padding: 40px 20px 40px; }
  body.gsr-article-layout-active .gsr-article-layout__columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__sidebar {
    width: 100% !important;
    max-width: 385px !important;
    margin: 0 auto !important;
  }
  body.gsr-article-layout-active .gsr-article-layout__title { font-size: clamp(32px, 3.5vw, 36px) !important; }
  body.gsr-article-layout-active .gsr-article-layout__body { font-size: 18px; }
}
@media (max-width: 767px) {
  body.gsr-article-layout-active #gsr-article-layout { width: 100%; margin: 0 auto 24px; padding: 38px 16px 30px; }
  body.gsr-article-layout-active .gsr-article-layout__header { margin: 0 0 24px; }
  body.gsr-article-layout-active .gsr-article-layout__category { margin-bottom: 15px; padding: 6px 9px; font-size: 12px; }
  body.gsr-article-layout-active .gsr-article-layout__title { font-size: clamp(29px, 7.6vw, 37px) !important; line-height: 1.13 !important; letter-spacing: -.032em !important; }
  body.gsr-article-layout-active .gsr-article-layout__deck { margin: 15px auto 18px !important; font-size: 18px; line-height: 1.45; }
  body.gsr-article-layout-active .gsr-article-layout__identity { gap: 8px; margin-top: 17px; }
  body.gsr-article-layout-active .gsr-article-layout__published { font-size: 13px; }
  body.gsr-article-layout-active .gsr-article-layout__columns { display: flex; flex-direction: column; gap: 32px; }
  body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__main,
  body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__sidebar { width: 100% !important; }
  body.gsr-article-layout-active .gsr-article-layout__sharing { margin-bottom: 20px; min-height: 52px; gap: 7px; justify-content: center; }
  body.gsr-article-layout-active .gsr-article-layout__share-label { font-size: 11px; }
  body.gsr-article-layout-active .gsr-article-layout__share-action { width: 40px; height: 40px; flex-basis: 40px; }
  body.gsr-article-layout-active .gsr-article-layout__comments-link { width: 40px; flex-basis: 40px; padding: 0 !important; border-radius: 50%; }
  body.gsr-article-layout-active .gsr-article-layout__comment-label { display: none; }
  body.gsr-article-layout-active .gsr-article-layout__hero { margin-bottom: 24px !important; }
  body.gsr-article-layout-active .gsr-article-layout__body { font-size: 18px; line-height: 1.65; }
  body.gsr-article-layout-active .gsr-article-layout__post .post-navigation .nav-links { grid-template-columns: 1fr; }
}
@media (max-width: 355px) {
  body.gsr-article-layout-active .gsr-article-layout__comment-label { display: none; }
  body.gsr-article-layout-active .gsr-article-layout__share-label { display: none; }
  body.gsr-article-layout-active #gsr-article-layout { padding-left: 12px; padding-right: 12px; }
  body.gsr-article-layout-active .gsr-article-layout__title { font-size: 29px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.gsr-article-layout-active .gsr-article-layout__share-action { transition: none; }
}

/* v1.0.4: Suppress common author-box plugins/blocks inside the article body
   for news-desk authors. The GSR template's own card is separately opt-in.
   Do not affect individual opinion/contributor posts or any sidebar widgets.
   Note: HTML appended by bespoke child-theme hooks with unknown markup
   may require a targeted child-theme cleanup rather than broad CSS. */
body.gsr-article-layout-active .gsr-article-layout__body--desk .author-info,
body.gsr-article-layout-active .gsr-article-layout__body--desk .author-bio,
body.gsr-article-layout-active .gsr-article-layout__body--desk .author-box,
body.gsr-article-layout-active .gsr-article-layout__body--desk .about-author,
body.gsr-article-layout-active .gsr-article-layout__body--desk .saboxplugin-wrap,
body.gsr-article-layout-active .gsr-article-layout__body--desk .wp-block-post-author,
body.gsr-article-layout-active .gsr-article-layout__body--desk .wp-block-post-author-biography,
body.gsr-article-layout-active .gsr-article-layout__body--desk .pp-multiple-authors-boxes-wrapper {
  display: none !important;
}


/* v1.0.6 — proportionate hero, readable editorial column and media attribution.
   All new selectors are scoped to this plugin's single-post template. */
body.gsr-article-layout-active .gsr-article-layout__hero-media {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 2px;
}
body.gsr-article-layout-active .gsr-article-layout__hero--wide .gsr-article-layout__hero-media {
  aspect-ratio: 16 / 9;
}
body.gsr-article-layout-active .gsr-article-layout__hero--wide .gsr-article-layout__hero-image {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 9;
  object-fit: cover !important;
  object-position: center center;
}
body.gsr-article-layout-active .gsr-article-layout__hero--original .gsr-article-layout__hero-media {
  aspect-ratio: auto !important;
}
body.gsr-article-layout-active .gsr-article-layout__hero--original .gsr-article-layout__hero-image {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
/* v1.0.8: Keep a readable 700px text measure but align it to the same LEFT
   edge as the featured photo (auto side margins caused an unwanted indent). */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body {
  max-width: 700px;
  margin: 0 !important;
  padding: 0 !important;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__tagline {
  max-width: 700px;
  margin: 0 0 16px !important;
  padding: 0 !important;
}
/* Existing image captions remain visible, with a separate restrained credit line. */
body.gsr-article-layout-active .gsr-article-layout__hero figcaption,
body.gsr-article-layout-active .gsr-article-layout__body .wp-block-image figcaption,
body.gsr-article-layout-active .gsr-article-layout__body .wp-caption-text {
  color: #566671;
  font: 400 13px/1.5 Arial, Helvetica, sans-serif;
  text-align: left;
}
body.gsr-article-layout-active .gsr-article-layout__body .wp-block-image figcaption {
  margin: 9px 0 22px;
}
/* Captions carry editorial context; the smaller credit line is secondary. */
body.gsr-article-layout-active .gsr-article-layout__image-attribution {
  display: block;
  color: #68757f;
  font: 400 12px/1.5 Arial, Helvetica, sans-serif;
  margin-top: 5px;
}
body.gsr-article-layout-active .gsr-article-layout__image-attribution:first-child {
  margin-top: 0;
}
body.gsr-article-layout-active .gsr-article-layout__image-attribution a,
body.gsr-article-layout-active .gsr-article-layout__body .wp-block-image figcaption .gsr-article-layout__image-attribution a {
  color: #405b70;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.gsr-article-layout-active .gsr-article-layout__credit-divider { white-space: pre; }


/* v1.0.10 — featured-photo credit overlay with more readable 12px text,
   slightly roomier padding, and safe wrapping on small screens. Keep the
   editorial caption left-aligned below the photo. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero-media {
  position: relative;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero-credit {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: auto;
  top: auto;
  z-index: 2;
  display: block;
  box-sizing: border-box;
  max-width: 85%;
  margin: 0;
  padding: 5px 8px;
  background: rgba(21, 35, 44, .85);
  color: #ffffff;
  border-radius: 2px;
  font: 400 12px/1.4 Arial, Helvetica, sans-serif;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
  pointer-events: none;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero figcaption,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero figcaption .gsr-article-layout__media-caption,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__featured-disclosures {
  text-align: left;
}

/* v1.0.10 — editorial caption, separate from photo-credit overlay. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero figcaption {
  margin-top: 8px;
  color: #64717a;
  font: 400 13px/1.45 Arial, Helvetica, sans-serif;
  text-align: left;
}

/* v1.0.11 — editorial photo-caption hierarchy, scoped to single posts.
   Featured photographs keep the bottom-right credit overlay; the editorial
   caption is more legible. Inline Gutenberg photographs keep caption and
   attribution below the image, with a quiet rule before the article resumes. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero figcaption,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero figcaption .gsr-article-layout__media-caption {
  color: #3f4b55;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image figcaption {
  display: block;
  box-sizing: border-box;
  margin: 9px 0 24px;
  padding: 0 0 15px;
  border-bottom: 1px solid #dfe5e9;
  color: #293640;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image figcaption .gsr-article-layout__media-caption {
  display: block;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image figcaption .gsr-article-layout__image-attribution {
  display: block;
  margin-top: 5px;
  color: #596774;
  font: 400 12px/1.5 Arial, Helvetica, sans-serif;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image figcaption .gsr-article-layout__image-attribution:first-child {
  margin-top: 0;
}


/* v1.0.12 — center unaligned Gutenberg Image blocks within the article's
   existing 700px reading measure. The figure sizes to the natural rendered
   image width (not an arbitrary stretch); caption and its divider share that
   width. Explicit WordPress left/right/wide/full alignments are excluded so
   editor-selected positioning retains its normal behavior. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image:not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull) {
  display: table;
  width: auto;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none;
  clear: both;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image:not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull) img {
  display: block;
  max-width: 100%;
  height: auto;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image:not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull) figcaption {
  max-width: 100%;
}

body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image:not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull) figcaption { display: table-caption; caption-side: bottom; }


/* v1.0.13 — the article text should make use of its full LEFT column rather
   than stopping at an arbitrary 700px while the hero and sidebar continue.
   The outer page/container max-width still caps overly long reading lines. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body {
  width: 100% !important;
  max-width: 100% !important;
}

/* v1.0.13 — inline Image blocks have the same discreet photographer-credit
   badge as the featured image. The wrapper sizes to the actual image, not the
   wider caption or article column, so the overlay follows its bottom-right
   edge on desktop and mobile. Source/license links remain in figcaption. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image .gsr-article-layout__inline-media {
  position: relative;
  display: inline-block;
  vertical-align: top;
  max-width: 100%;
  line-height: 0;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image .gsr-article-layout__inline-media > img,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image .gsr-article-layout__inline-media > a > img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image .gsr-article-layout__inline-credit {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  display: block;
  box-sizing: border-box;
  max-width: 85%;
  padding: 5px 8px;
  margin: 0;
  background: rgba(21, 35, 44, .85);
  color: #fff;
  border-radius: 2px;
  font: 400 12px/1.4 Arial, Helvetica, sans-serif;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
  pointer-events: none;
}


/* v1.0.14 — Unify featured/inline editorial image captions.
   Only the descriptive caption is restyled: centered, regular-weight Arial,
   13px / 1.45 with neutral high-contrast gray. The credit overlays, required
   attribution disclosures, image dimensions and article layout are untouched. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero figcaption,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero figcaption .gsr-article-layout__media-caption,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image figcaption,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image figcaption .gsr-article-layout__media-caption {
  color: #45515c;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}
/* Align any separately required public source/license disclosures with the
   centered caption, preserving their existing smaller font and working links. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero figcaption .gsr-article-layout__featured-disclosures,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image figcaption .gsr-article-layout__image-attribution {
  text-align: center;
}


/* v1.0.16 — A single rhythm for editorial photographs.
   A 30px gap separates paragraph text from an inline image and separates
   the completed caption/divider from the next paragraph. The featured-image
   divider uses the same light rule as inline images, with the same 30px gap
   before the navy article tagline (or opening body when no tagline exists).
   Scoped to GSR single posts only; never changes sidebar or homepage cards. */
body.gsr-article-layout-active #gsr-article-layout {
  --gsr-article-image-gap: 30px;
  --gsr-article-caption-rule: #dfe5e9;
}

/* The featured caption, where supplied, remains centered and regular-weight.
   This rule exists even when no caption was entered in the Media Library. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero-divider {
  display: block;
  width: 100%;
  height: 0;
  margin: 14px 0 0;
  border: 0;
  border-top: 1px solid var(--gsr-article-caption-rule);
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero,
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__hero--with-tagline {
  margin: 0 0 var(--gsr-article-image-gap) !important;
}

/* A figure's bottom edge is its divider, not the former 24px empty space
   *inside* the caption. Otherwise a 30px external margin looks like 54px. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image:not(.alignleft):not(.alignright) {
  margin-top: var(--gsr-article-image-gap) !important;
  margin-bottom: var(--gsr-article-image-gap) !important;
}
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__body figure.wp-block-image figcaption {
  margin-bottom: 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--gsr-article-caption-rule);
}
/* Equal spacing around standalone centered pictures, without changing
   WordPress's explicitly floated left/right image alignment settings. */

/* v1.0.16 — Equal spacing above and below the opening navy tagline.
   v1.0.15 placed 30px from the featured-image divider to the badge, but
   the old tagline's 16px bottom margin left the body too close. */
body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__tagline {
  margin: 0 0 var(--gsr-article-image-gap, 30px) !important;
}

/* v1.0.16 — Keep the *existing* sidebar widgets visible while reading.
   The sidebar remains a normal grid child; CSS sticky constrains it to the
   article grid so it stops at the end of the article, not in the footer.
   JS adjusts --gsr-article-sidebar-sticky-top for sidebars taller than the
   viewport, allowing the user to scroll through every widget before the
   last widget sticks near the bottom of the screen. */
@media (min-width: 1001px) {
  body.gsr-article-layout-active #gsr-article-layout .gsr-article-layout__sidebar {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--gsr-article-sidebar-sticky-top, 20px) !important;
    align-self: start !important;
  }
}
