/* Shared opener presentation 1.1.3 candidate. Style only existing functional
   controls and real labels. No generated text, handlers, transforms or app state. */
body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger="article"],
  #content > .grid .inline-read-more[data-detail],
  #story-scroll > #list .inline-read-more[data-story],
  #dining-scroll > #list .inline-read-more,
  #property-scroll > #list .view-link,
  [data-gzm-modal-cue],
  #art-grid .art-card-button .read-more,
  #catalogue .card-open .read-more,
  [data-gzm-modal-trigger],
  [data-gzm-trigger],
  [data-gzm-panel-trigger],
  details > summary,
  [data-shell-nav="search"],
  #footer-search,
  #reading-footer-search,
  #reading-footer-compare,
  [data-viewport-nav="search"],
  [data-viewport-nav="saved"],
  [data-viewport-nav="info"],
  #property-scroll > #list .photo-link,
  button:is(#surprise,#about,#ads-settings,#open-coverage,#open-sources,#open-updates,#open-privacy,#install-app,#open-compare,#compare-show,#more-filters),
  #comparison-panel thead th > button,
  .article-related > button
){
  min-height:44px;
  max-width:100%;
  border-radius:6px;
  background-color:var(--gzm-opener-surface,#e5eee8);
  color:var(--gzm-opener-ink,#173e36);
  box-shadow:var(--gzm-opener-shadow,inset 0 0 0 2px var(--gzm-opener-edge,#416552));
  font-weight:700;
  white-space:normal;
  overflow-wrap:anywhere;
}
/* The existing full-card button owns its cue; the span never becomes a nested
   control. Only article CTAs gain padding; compact header/footer controls keep it. */
body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger="article"],
  #content > .grid .inline-read-more[data-detail],
  #story-scroll > #list .inline-read-more[data-story],
  #dining-scroll > #list .inline-read-more,
  #property-scroll > #list .view-link,
  [data-gzm-modal-cue],
  #art-grid .art-card-button .read-more,
  #catalogue .card-open .read-more
){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 12px;
  border:0;
  background-color:var(--gzm-cta-surface,#173e36);
  color:var(--gzm-cta-ink,#fff);
  box-shadow:var(--gzm-opener-shadow,inset 0 0 0 2px var(--gzm-cta-surface,#173e36));
  font-size:1rem;
  line-height:1.35;
  text-decoration:none;
  vertical-align:middle;
}
/* Do not animate or move the activation target while pressed. */
body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger]:active,
  [data-gzm-panel-trigger]:active,
  [data-gzm-trigger]:active,
  details > summary:active,
  .inline-read-more:active,
  .view-link:active,
  .art-card-button:active .read-more,
  .card-open:active .read-more
){
  --gzm-opener-shadow:inset 0 0 0 2px var(--gzm-opener-edge,#416552),inset 0 2px 5px #10251f33;
}
body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger]:disabled,
  [data-gzm-panel-trigger]:disabled,
  #open-compare:disabled,
  #reading-footer-compare:disabled,
  #compare-show:disabled
){opacity:.5}
@media(forced-colors:active){
  body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger="article"],
  #content > .grid .inline-read-more[data-detail],
  #story-scroll > #list .inline-read-more[data-story],
  #dining-scroll > #list .inline-read-more,
  #property-scroll > #list .view-link,
  [data-gzm-modal-cue],
  #art-grid .art-card-button .read-more,
  #catalogue .card-open .read-more,
  [data-gzm-modal-trigger],
  [data-gzm-trigger],
  [data-gzm-panel-trigger],
  details > summary,
  [data-shell-nav="search"],
  #footer-search,
  #reading-footer-search,
  #reading-footer-compare,
  [data-viewport-nav="search"],
  [data-viewport-nav="saved"],
  [data-viewport-nav="info"],
  #property-scroll > #list .photo-link,
  button:is(#surprise,#about,#ads-settings,#open-coverage,#open-sources,#open-updates,#open-privacy,#install-app,#open-compare,#compare-show,#more-filters),
  #comparison-panel thead th > button,
  .article-related > button
){background-color:ButtonFace;color:ButtonText;box-shadow:none}
  body:is([data-gzm-shell],[data-gzm-article-boundaries],[data-gzm-affordances]) :is(
  [data-gzm-modal-trigger="article"],
  #content > .grid .inline-read-more[data-detail],
  #story-scroll > #list .inline-read-more[data-story],
  #dining-scroll > #list .inline-read-more,
  #property-scroll > #list .view-link,
  [data-gzm-modal-cue],
  #art-grid .art-card-button .read-more,
  #catalogue .card-open .read-more,
  [data-gzm-modal-trigger],
  [data-gzm-trigger],
  [data-gzm-panel-trigger],
  details > summary,
  [data-shell-nav="search"],
  #footer-search,
  #reading-footer-search,
  #reading-footer-compare,
  [data-viewport-nav="search"],
  [data-viewport-nav="saved"],
  [data-viewport-nav="info"],
  #property-scroll > #list .photo-link,
  button:is(#surprise,#about,#ads-settings,#open-coverage,#open-sources,#open-updates,#open-privacy,#install-app,#open-compare,#compare-show,#more-filters),
  #comparison-panel thead th > button,
  .article-related > button
):not(:focus-visible){outline:1px solid ButtonText;outline-offset:-1px}
}
