/* Tracks: opt-in full viewport width on individual Gutenberg image figures. */
body.single-post figure.wp-block-image.tracks-full-bleed,
body.single-post .wp-block-post-content figure.tracks-full-bleed,
body.single-post .entry-content figure.tracks-full-bleed {
 box-sizing:border-box!important;
 width:100vw!important;
 max-width:none!important;
 position:relative!important;
 left:50%!important;
 right:auto!important;
 margin-left:-50vw!important;
 margin-right:0!important;
 transform:none!important;
}
body.single-post figure.tracks-full-bleed img,
body.single-post figure.tracks-full-bleed > a {display:block;width:100%!important;max-width:none!important;height:auto;}
body.single-post figure.tracks-full-bleed > a > img {display:block;width:100%!important;max-width:none!important;height:auto;}
body.single-post figure.tracks-full-bleed figcaption {max-width:800px;box-sizing:border-box;margin-left:auto;margin-right:auto;padding:0 20px;}


/* Tracks: opt-in editorial wide image (max 1200px), centered relative to viewport.
   At narrow screen widths keep 24px side gutters. */
body.single-post figure.wp-block-image.tracks-wide-image,
body.single-post .wp-block-post-content figure.tracks-wide-image,
body.single-post .entry-content figure.tracks-wide-image {
 box-sizing:border-box!important;
 width:min(1200px, calc(100vw - 48px))!important;
 max-width:none!important;
 position:relative!important;
 left:50%!important;
 right:auto!important;
 margin-left:calc(-1 * min(600px, (100vw - 48px) / 2))!important;
 margin-right:0!important;
 transform:none!important;
}
body.single-post figure.tracks-wide-image img,
body.single-post figure.tracks-wide-image > a {
 display:block;
 width:100%!important;
 max-width:none!important;
 height:auto;
}
body.single-post figure.tracks-wide-image > a > img {
 display:block;
 width:100%!important;
 max-width:none!important;
 height:auto;
}
body.single-post figure.tracks-wide-image figcaption {
 max-width:800px;
 box-sizing:border-box;
 margin-left:auto;
 margin-right:auto;
 padding:0 20px;
}

/* One gallery-wide caption, visually matched to Tracks single-image captions.
   Target only the direct figcaption, not per-image captions. */
body.tracks-single-post .wp-block-post-content figure.wp-block-gallery.tracks-gallery-caption > figcaption,
body.single-post figure.wp-block-gallery.tracks-gallery-caption > figcaption {
  display:block!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin:12px 0 0!important;
  padding:0 0 0 18px!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif!important;
  font-size:clamp(12px,1vw,14px)!important;
  font-weight:300!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  color:#000!important;
}
body.tracks-single-post .wp-block-post-content figure.wp-block-gallery.tracks-gallery-caption > figcaption::before,
body.single-post figure.wp-block-gallery.tracks-gallery-caption > figcaption::before {
  content:''!important;
  position:absolute!important;
  left:0!important;
  top:.2em!important;
  width:2px!important;
  height:.95em!important;
  background:#27d7e0!important;
}

/* Gallery captions: remove Gutenberg gallery row-gap and bring caption up close. */
body.single-post figure.wp-block-gallery.tracks-gallery-caption {
 row-gap:0!important;
}
body.single-post figure.wp-block-gallery.tracks-gallery-caption > figcaption {
 margin-top:4px!important;
 padding-top:0!important;
}
/* Featured image caption: matching Tracks article caption typography and accent. */
body.single-post figure.wp-block-post-featured-image > figcaption.tracks-header-image-caption,
body.single-post .tracks-header-image-wrap > .tracks-header-image-caption {
 display:block!important;position:relative!important;box-sizing:border-box!important;
 width:min(100% - 40px,1200px)!important;
 margin:6px auto 0!important;padding:0 0 0 18px!important;
 background:transparent!important;border:0!important;text-align:left!important;
 font-family:'Helvetica Neue',Helvetica,Arial,sans-serif!important;
 font-size:clamp(12px,1vw,14px)!important;font-weight:300!important;
 line-height:1.5!important;letter-spacing:0!important;color:#000!important;
}
body.single-post figure.wp-block-post-featured-image > figcaption.tracks-header-image-caption::before,
body.single-post .tracks-header-image-wrap > .tracks-header-image-caption::before {
 content:'';position:absolute;left:0;top:.2em;width:2px;height:.95em;background:#27d7e0;
}
