/* Restaurant shortlists: keep the places prominent and the editorial context
   available on demand. The shared directory component owns all listing cards. */
main.site-magazine-page.restaurant-guide-page .page-hero {
  padding: 28px max(4vw,calc((100vw - 1200px)/2)) 30px;
}
main.site-magazine-page.restaurant-guide-page .page-hero .home-section-heading {
  width: 100%; max-width: 1200px; margin-inline: auto;
  display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  gap: 10px 36px; align-items: end;
}
main.site-magazine-page.restaurant-guide-page .page-hero .home-section-heading > :is(.crumb,.label) {
  grid-column: 1 / -1; margin: 0;
}
main.site-magazine-page.restaurant-guide-page .page-hero .home-section-heading > .crumb {
  margin-bottom: 6px;
}
main.site-magazine-page.restaurant-guide-page .page-hero .home-section-heading h1 {
  grid-column: 1; margin: 0; font-size: clamp(32px,3.8vw,48px);
  line-height: 1.08; text-wrap: balance;
}
main.site-magazine-page.restaurant-guide-page .page-hero .home-section-heading > p:last-child:not(.label,.crumb) {
  grid-column: 2; max-width: 46ch; margin: 0 0 3px;
  font-size: 16px; line-height: 1.55;
}
main.site-magazine-page.restaurant-guide-page > .article {
  padding: 24px max(4vw,calc((100vw - 1200px)/2)) 36px;
}
main.site-magazine-page.restaurant-guide-page .article-inner {
  display: block; width: 100%; max-width: 1200px; margin-inline: auto;
}
main.site-magazine-page.restaurant-guide-page .article-body > p.verified {
  margin-bottom: 14px;
}
main.site-magazine-page.restaurant-guide-page .article-body > p.article-lede {
  max-width: 85ch; margin: 0 0 16px; font: 16px/1.6 Arial,sans-serif;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-about {
  border: 1px solid #d6e5f3; border-radius: 6px;
  margin: 0 0 22px; background: #f3f8fd; color: #0c1539;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-about > summary {
  cursor: pointer; padding: 13px 18px; min-height: 48px;
  font: 700 15px/1.5 Arial,sans-serif; color: #0064d0;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-about > summary:hover {
  background: #e7f2ff; border-radius: 6px;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-about > summary:focus-visible {
  outline: 3px solid #0070df; outline-offset: 3px; border-radius: 4px;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-context {
  padding: 8px 20px 18px; max-width: 88ch;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-context :is(p,li) {
  font-size: 15px; line-height: 1.65;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-context h2 {
  font: 700 20px/1.3 Arial,sans-serif; margin: 22px 0 10px;
  padding-top: 18px;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-context .article-callout {
  margin: 18px 0; padding: 16px 18px; background: #e7f2ff;
}
main.site-magazine-page.restaurant-guide-page .restaurant-guide-context .article-callout h2 {
  border-top: 0; padding-top: 0; margin-top: 0;
}
main.site-magazine-page.restaurant-guide-page .article-body > h2 {
  margin: 0 0 16px; padding: 0; border-top: 0;
  font: 700 clamp(23px,2.4vw,29px)/1.25 Arial,sans-serif;
}
main.site-magazine-page.restaurant-guide-page .article-body > .food-foot {
  max-width: 95ch; font-size: 13px; line-height: 1.6;
}
@media (max-width: 680px) {
  main.site-magazine-page.restaurant-guide-page .page-hero {
    padding: 24px 5vw;
  }
  main.site-magazine-page.restaurant-guide-page .page-hero .home-section-heading {
    grid-template-columns: minmax(0,1fr); gap: 12px;
  }
  main.site-magazine-page.restaurant-guide-page .page-hero .home-section-heading > p:last-child:not(.label,.crumb) {
    grid-column: 1; max-width: none; margin: 0;
  }
  main.site-magazine-page.restaurant-guide-page > .article {
    padding: 22px 5vw 30px;
  }
  main.site-magazine-page.restaurant-guide-page .restaurant-guide-context {
    padding: 6px 15px 16px;
  }
}
