/* Shared article presentation 1.1.2. Current service themes are light.
   Theme adapters may override the three surface/border tokens before adoption.
   No typography, content padding, image rules, handlers, scroll sizing or ad rules. */
body:is([data-gzm-shell],[data-gzm-article-boundaries]) :is([data-gzm-pane],[data-gzm-reading-surface]){
  background-color:var(--gzm-reading-surface,#edf2ef);
}
body:is([data-gzm-shell],[data-gzm-article-boundaries]) :is(
  #content > .grid > article.card[data-record],
  #story-scroll > #list > article.story-card[data-story-card],
  #dining-scroll > #list > article.news-item[data-restaurant-id],
  #property-scroll > #list > article.news-item[data-property-id],
  #art-grid > article.art-card,
  #catalogue > .card-grid > article.card,
  #news-scroll > #news-list > article.news-item,
  #source-results > article.search-result,
  .observed-list > .jobs > a.job-card[data-observed-job],
  .results-list > .jobs > a.job-card[data-job]
){
  border:2px solid var(--gzm-article-border,#7b8f84);
  background-color:var(--gzm-article-surface,var(--white,#fff));
  box-shadow:var(--gzm-article-shadow,0 2px 0 #173e3614);
}
body:is([data-gzm-shell],[data-gzm-article-boundaries]) :is(
  #content > .grid,
  #story-scroll > #list,
  #dining-scroll > #list,
  #property-scroll > #list,
  #art-grid,
  #catalogue > .card-grid,
  .observed-list > .jobs,
  .results-list > .jobs
){gap:16px}
/* Family renders groups around feed slots; hidden slots must not erase the
   ordinary article interval between the fifth and sixth organic cards. */
body:is([data-gzm-shell],[data-gzm-article-boundaries]) #catalogue > .card-grid ~ .card-grid{margin-block-start:16px}
/* Search results are block rows, not a grid; add one modest interval only. */
body[data-gzm-article-boundaries] #source-results > article.search-result{margin-block:0}
body[data-gzm-article-boundaries] #source-results > article.search-result ~ article.search-result{margin-block-start:12px}
/* Keep the existing Recruit selected state distinct without changing padding. */
body[data-gzm-article-boundaries] :is(.observed-list > .jobs > a.job-card[data-observed-job],.results-list > .jobs > a.job-card[data-job]).selected{
  --gzm-article-border:var(--accent,#176d5b);
  --gzm-article-shadow:0 0 0 1px var(--accent,#176d5b);
}
@media(forced-colors:active){
  body:is([data-gzm-shell],[data-gzm-article-boundaries]) :is([data-gzm-pane],[data-gzm-reading-surface]){background-color:Canvas}
  body:is([data-gzm-shell],[data-gzm-article-boundaries]) :is(
    #content > .grid > article.card[data-record],
    #story-scroll > #list > article.story-card[data-story-card],
    #dining-scroll > #list > article.news-item[data-restaurant-id],
    #property-scroll > #list > article.news-item[data-property-id],
    #art-grid > article.art-card,
    #catalogue > .card-grid > article.card,
    #news-scroll > #news-list > article.news-item,
    #source-results > article.search-result,
    .observed-list > .jobs > a.job-card[data-observed-job],
    .results-list > .jobs > a.job-card[data-job]
  ){border-color:CanvasText;background-color:Canvas;box-shadow:none}
}
