/* Keep the accepted editorial V3 shell white, including gaps outside the recipe.
   Measured source-hero previews retain their separate source theme. */
body.tsh-recipe-site-page:not(:has([data-source-hero-layout="measured-source-v1"])) {
  background: #fff;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

/* Isolate the Recipe V3 hero from the legacy directory hero background. */
.tsh-recipe-site-page .hero-copy { background: transparent; }

/* Give the V3 hero image the full editorial 4:3 frame on desktop and mobile. */
.tsh-recipe-site-page .hero-art { position: relative; aspect-ratio: 4 / 3; }
.tsh-recipe-site-page .hero-art > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tsh-recipe-site-page:has([data-source-hero-layout]) :has(> [class~="recipe-share-unavailable"]) { flex-wrap: wrap; }
.tsh-recipe-site-page:has([data-source-hero-layout]) [class~="recipe-share-unavailable"] {
  flex: 0 1 auto;
  max-width: 38ch;
  color: #66706b;
  font-size: 13px;
  line-height: 1.45;
}
@media (max-width: 760px) {
  .tsh-recipe-site-page:has([data-source-hero-layout]) :has(> [class~="recipe-share-unavailable"]) > [class~="recipe-share-unavailable"] { flex-basis: 100%; max-width: none; }
}

/* Accepted V3 body token; the sourceHero audit keeps its existing source theme. */
.tsh-recipe-site-page .tsh-complete-recipe-v2:not(:has([data-source-hero-layout="measured-source-v1"])) { --tsh-content-muted: #747c79; }
