/* Publisher page openings. These rules do not apply to embedded outputs. */
#publisher-products .pp-intro.pp-intro-v2 {
  padding-top: 32px;
}
#publisher-products .pp-intro-v2 .ff-page-opening {
  margin: 0;
  padding: 0;
}
#publisher-products .pp-current-prices { margin-top: 32px; }
#publisher-products .pp-current-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
#publisher-products .pp-current-heading h2 { margin: 0; font-size: 1.05rem; font-weight: 600; }
#publisher-products .pp-current-heading a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
#publisher-products .pp-data-date { margin: 4px 0 16px; color: var(--pp-muted); font-size: .8rem; }
#publisher-products .pp-current-readings { margin: 0; border-top: 1px solid var(--pp-line-strong); }
#publisher-products .pp-current-readings > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: baseline;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--pp-line);
}
#publisher-products .pp-current-readings dt { font-size: 1.35rem; }
#publisher-products .pp-current-readings small { color: var(--pp-muted); font-size: .8rem; margin-left: 6px; }
#publisher-products .pp-current-readings dd { margin: 0; text-align: right; font-size: 3.5rem; line-height: 1.2; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
#publisher-products .pp-current-readings dd > span:not(.sr-only) { margin-left: 5px; color: var(--pp-muted); font-size: .85rem; letter-spacing: 0; }
#publisher-products .pp-data-source { max-width: 800px; margin: 16px 0 0; color: var(--pp-muted); font-size: .8rem; line-height: 1.7; }
#publisher-products .pp-publishing-actions { margin: 28px 0; }
#publisher-products .pp-publishing-actions > a {
  display: grid;
  grid-template-columns: 1fr 1.5fr 20px;
  gap: 24px;
  align-items: center;
  min-height: 68px;
  padding: 12px 0;
  border-bottom: 1px solid var(--pp-line);
  text-decoration: none;
}
#publisher-products .pp-publishing-actions strong { font-size: 1rem; font-weight: 600; }
#publisher-products .pp-publishing-actions span { color: var(--pp-muted); font-size: .9rem; }
#publisher-products .pp-publishing-actions b { font-size: 1.4rem; font-weight: 400; }
#publisher-products .pp-publishing-actions a:hover strong { text-decoration: underline; text-underline-offset: 4px; }

.studio-marketing .sm-introduction-v2 { display: block; padding: 32px 0; }
.studio-marketing .sm-introduction-v2 .ff-page-opening { margin: 0 0 28px; padding: 0; }
.studio-marketing .ff-page-opening .ff-page-title { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.2; letter-spacing: -.028em; max-width: 920px; text-wrap: pretty; }
.studio-marketing .ff-page-opening .ff-page-lead { max-width: 720px; margin-top: 13px; font-size: 1rem; line-height: 1.65; color: var(--sm-muted); }
.studio-marketing .sm-introduction-v2 .sm-actions { margin-top: 20px; }
.studio-marketing .sm-introduction-v2 .sm-entry-note { max-width: 720px; }
.studio-marketing .sm-introduction-v2 .sm-example { max-width: 800px; border: 0; border-radius: 0; box-shadow: none; background: none; overflow: visible; }
.studio-marketing .sm-introduction-v2 .sm-example-label { padding: 12px 0; background: none; border-top: 1px solid var(--sm-line); }
.studio-marketing .sm-introduction-v2 .sm-example figcaption { padding: 12px 0; background: none; border-bottom: 1px solid var(--sm-line); }
.studio-marketing .sm-guide-header.ff-page-opening { padding: 0 0 28px; margin: 0; }

body[data-studio-page="editor"] .masthead.ff-page-opening { --ff-text: var(--ink); --ff-muted: var(--muted); --ff-accent: var(--accent); display: flex; margin: 0 0 20px; padding: 0; }
body[data-studio-page="editor"] .masthead .ff-page-title { color: var(--ink); font-size: 24px; line-height: 1.3; letter-spacing: -.025em; margin: 0; }

.resource-hero.ff-page-opening {
  --ff-text: var(--grocer-black);
  --ff-muted: var(--muted);
  --ff-accent: var(--grocer-link);
  display: block;
  padding: 32px clamp(24px, 6vw, 72px);
  margin: 0;
  color: var(--grocer-black);
}
.resource-hero.ff-page-opening .ff-page-title,
.gate-panel.ff-page-opening .ff-page-title { max-width: 850px; color: var(--grocer-black); font-family: var(--font-body); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.2; letter-spacing: -.025em; }
.resource-hero.ff-page-opening .ff-page-lead { max-width: 720px; margin-top: 13px; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.resource-hero.ff-page-opening .resource-eyebrow { font-family: var(--font-body); font-weight: 500; letter-spacing: 0; text-transform: none; }
.resource-hero.ff-page-opening .resource-hero__actions { margin-top: 20px; }
.resource-hero.ff-page-opening .resource-facts { margin-top: 28px; max-width: 720px; border-top: 1px solid var(--rule); }
.gate-panel.ff-page-opening { --ff-text: var(--grocer-black); --ff-muted: var(--muted); --ff-accent: var(--grocer-link); margin: 0; padding: 28px; border: 1px solid var(--rule); box-shadow: none; }

@media (max-width: 550px) {
  #publisher-products .pp-intro.pp-intro-v2 { padding-top: 25px; }
  #publisher-products .pp-current-readings dd { font-size: 2.7rem; }
  #publisher-products .pp-current-readings dt { font-size: 1.2rem; }
  #publisher-products .pp-publishing-actions > a { grid-template-columns: 1fr 20px; gap: 5px 15px; padding: 14px 0; }
  #publisher-products .pp-publishing-actions span { grid-column: 1; font-size: .8rem; }
  #publisher-products .pp-publishing-actions b { grid-column: 2; grid-row: 1 / 3; }
  .studio-marketing .sm-introduction-v2 { padding-top: 25px; }
  .studio-marketing .ff-page-opening .ff-page-title { font-size: 1.8rem; }
  .studio-marketing .ff-page-opening .ff-page-lead { font-size: .95rem; }
  body[data-studio-page="editor"] .masthead .ff-page-title { font-size: 23px; }
  .resource-hero.ff-page-opening { padding: 25px 24px; }
}
