/*!
 * ANP Market Day — articles and their listings.
 *
 * The chrome around the page was rebuilt first; everything between it was still the theme's
 * default: body copy running the full 1345px of the window in Montserrat, archives as bare lists
 * of links. This is the reading layer — one measure, the brand's two faces, and listings that look
 * like the rest of the site.
 *
 * Scoped hard to posts and breed guides. Product pages have their own template and the home page
 * its own parts; neither should be touched by anything here.
 */

/* ==============================================================================================
   Single article
   ============================================================================================== */

.amd-article .entry-content,
.amd-article .entry-header,
.amd-article .amd-postmeta,
.amd-article .amd-endcap {
  /* The theme's own measure was the full window. 70ch of Figtree lands around 700px; the cap
     keeps it there even where a wider fallback face is used. */
  --measure: min(70ch, 720px);
}

.amd-article .site-main > article > .inside-article { padding: 0; background: transparent; box-shadow: none; }

/* The theme styles p, li and headings directly, and a rule that matches an element always beats
   one that only sets the family on an ancestor — so the face has to be named on the elements. */
.amd-article .entry-content p,
.amd-article .entry-content li,
.amd-article .entry-content td,
.amd-article .entry-content th,
.amd-article .entry-content dd,
.amd-article .entry-content dt,
.amd-article .entry-content figcaption { font-family: var(--sans); }

/* One column, centred, with room to breathe. Wide blocks may still break out (below). */
.amd-article .entry-content > * {
  max-width: var(--measure);
  margin-left: auto;
  margin-right: auto;
}
.amd-article .entry-content {
  font: 400 18px/1.75 var(--sans);
  color: var(--ink-2);
  padding-inline: 20px;
}
.amd-article .entry-content p { margin: 0 auto 1.35em; }

/* The opening paragraph carries the piece; give it a little more presence. */
.amd-article .entry-content > p:first-of-type {
  font-size: 20px; line-height: 1.65; color: var(--charcoal);
}

.amd-article .entry-content h2,
.amd-article .entry-content h3,
.amd-article .entry-content h4 {
  color: var(--green-ink); font-family: var(--slab) !important; font-weight: 600;
  margin: 1.9em auto .55em; line-height: 1.22;
}
.amd-article .entry-content h2 { font-size: clamp(25px, 2.6vw, 31px); }
.amd-article .entry-content h3 { font-size: clamp(20px, 2vw, 23px); }
.amd-article .entry-content h4 { font-size: 18px; font-family: var(--sans) !important; font-weight: 700; color: var(--brown); }

/* A short rule under the section heads, the same green used everywhere else. */
.amd-article .entry-content h2::after {
  content: ""; display: block; width: 46px; height: 3px; border-radius: 2px;
  background: var(--green); margin-top: 14px;
}

/* Underline links in running text only. Applied to every anchor it also struck through the
   buttons and the titles on the cards at the end of the article, which read as broken. */
.amd-article .entry-content p > a,
.amd-article .entry-content li > a,
.amd-article .entry-content td > a,
.amd-article .entry-content blockquote a {
  color: var(--green-dk); text-decoration: underline; text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}
.amd-article .entry-content p > a:hover,
.amd-article .entry-content li > a:hover { color: var(--brown); }

/* Everything the plugin adds after the article is a card or a button, never a link in a sentence. */
.amd-endcap a,
.amd-endcap a:hover,
.amd-more-card,
.amd-pick { text-decoration: none; }

.amd-article .entry-content ul,
.amd-article .entry-content ol { margin: 0 auto 1.4em; padding-left: 1.35em; }
.amd-article .entry-content li { margin: 0 0 .5em; padding-left: .2em; max-width: none; }
.amd-article .entry-content li::marker { color: var(--green); font-weight: 700; }
.amd-article .entry-content li > ul,
.amd-article .entry-content li > ol { margin-top: .5em; }
.amd-article .entry-content strong { color: var(--charcoal); font-weight: 700; }

.amd-article .entry-content blockquote {
  margin: 1.8em auto; padding: 4px 0 4px 22px;
  border-left: 4px solid var(--tan);
  font: 500 italic 20px/1.6 var(--slab); color: var(--brown);
  font-family: var(--slab) !important;
}
.amd-article .entry-content blockquote p:last-child { margin-bottom: 0; }

.amd-article .entry-content img { border-radius: 16px; height: auto; }
.amd-article .entry-content figure { margin: 1.8em auto; }
.amd-article .entry-content figcaption {
  margin-top: 10px; font: 500 13.5px/1.5 var(--sans); color: var(--brown); text-align: center;
}

/* Tables: the nutrition and comparison tables in these guides were unreadable. */
.amd-article .entry-content table {
  width: 100%; border-collapse: collapse; margin: 1.8em auto; font-size: 15.5px;
  background: var(--white); border-radius: 14px; overflow: hidden;
  box-shadow: 0 0 0 1px var(--line);
}
.amd-article .entry-content th,
.amd-article .entry-content td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); }
.amd-article .entry-content thead th {
  background: var(--green-ink); color: #FFFDF8;
  font: 700 12.5px/1.2 var(--sans); letter-spacing: .06em; text-transform: uppercase;
}
.amd-article .entry-content tbody tr:nth-child(even) { background: rgba(232, 214, 168, .22); }
.amd-article .entry-content tbody tr:last-child td { border-bottom: 0; }

/* A rule between sections, drawn as three seeds rather than a grey line. */
.amd-article .entry-content hr {
  border: 0; height: auto; margin: 2.4em auto; text-align: center; color: var(--tan);
}
.amd-article .entry-content hr::before {
  content: "• • •"; letter-spacing: .5em; font-size: 14px; color: var(--tan);
}

/* Tables and anything marked wide may use more of the page than the measure allows. */
.amd-article .entry-content > .alignwide,
.amd-article .entry-content > .alignfull,
.amd-article .entry-content > .wp-block-table { max-width: min(980px, 100%); }

/* ---- the strip under the hero: date, category, reading time ---------------------------------- */
.amd-postmeta {
  max-width: var(--measure); margin: 0 auto; padding: 26px 20px 4px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px;
  font: 600 12.5px/1 var(--sans); letter-spacing: .05em; text-transform: uppercase; color: var(--brown);
}
.amd-postmeta .amd-pm-cat {
  background: var(--tan-2); color: var(--brown); border-radius: 999px; padding: 7px 13px;
  text-decoration: none;
}
.amd-postmeta .amd-pm-cat:hover { background: var(--tan); }
.amd-postmeta .amd-pm-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--tan); }

/* The theme prints its own date and category rows; ours replaces both. */
.amd-article .entry-header .entry-meta,
.amd-article .inside-article > footer.entry-meta { display: none; }

/* ---- what to do next ------------------------------------------------------------------------- */
.amd-endcap {
  max-width: min(980px, 100%);
  /* The last card used to sit flat against the footer. */
  margin: 48px auto clamp(52px, 6vw, 84px); padding: 0 20px;
  display: grid; gap: 28px;
}
.amd-endcap-cta {
  background: var(--green-ink); color: #FFFDF8; border-radius: 22px;
  padding: clamp(24px, 4vw, 38px);
  display: grid; gap: 16px; justify-items: start;
}
.amd-endcap-cta h2 { margin: 0; font: 600 clamp(21px, 2.4vw, 27px)/1.25 var(--slab); color: #FFFDF8; }
.amd-endcap-cta p { margin: 0; max-width: 56ch; color: rgba(248, 242, 227, .82); font-size: 15.5px; line-height: 1.6; }
.amd-endcap-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.amd-endcap-actions .amdc-btn-line {
  background: transparent; color: #FFFDF8; box-shadow: inset 0 0 0 2px rgba(248, 242, 227, .45);
}
.amd-endcap-actions .amdc-btn-line:hover { background: rgba(248, 242, 227, .12); color: #FFFDF8; }

.amd-more h2 {
  margin: 0 0 16px; font: 600 20px/1.2 var(--slab); color: var(--green-ink);
}
.amd-more-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 860px) { .amd-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .amd-more-grid { grid-template-columns: 1fr; } }
.amd-more-card {
  display: grid; grid-template-rows: auto 1fr; gap: 0;
  background: var(--white); border-radius: 18px; overflow: hidden; text-decoration: none;
  box-shadow: 0 0 0 1px var(--line); transition: transform .2s ease, box-shadow .2s ease;
}
.amd-more-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.amd-more-card b {
  display: block; padding: 14px 16px 16px;
  font: 600 16px/1.35 var(--slab); color: var(--green-ink);
}
.amd-more-card:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--green), 0 18px 30px -24px rgba(60, 40, 20, .7); }

/* ==============================================================================================
   Listings — the blog archive, in the theme's own markup
   ============================================================================================== */

/* GeneratePress wraps the posts in its own float-based columns container, so the grid belongs
   there — put it on .site-main and every card lands in one collapsed track. */
/* GeneratePress declares `.generate-columns-container:not(.masonry-container) { display:flex }`
   at the same weight and loads after us, so the grid needs one more class to win. */
.amd-list .site-main .generate-columns-container:not(.masonry-container),
.amd-list .site-main:not(:has(.generate-columns-container)) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 28px;
  align-items: start;
}
.amd-list .site-main .generate-columns-container { margin: 0; }
.amd-list .site-main .generate-columns-container > article,
.amd-list .site-main > article {
  margin: 0; padding: 0; float: none; width: auto; max-width: none; flex: none;
}
.amd-list .inside-article {
  display: flex; flex-direction: column; height: 100%;
  background: var(--white); border-radius: 22px; overflow: hidden; padding: 0;
  box-shadow: 0 0 0 1px var(--line);
  transition: transform .2s ease, box-shadow .2s ease;
}
.amd-list .inside-article:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 0 1px var(--green), 0 22px 34px -28px rgba(60, 40, 20, .75);
}
/* The picture belongs at the top of the card; the theme prints it after the title. */
.amd-list .post-image { order: -1; margin: 0; }
.amd-list .post-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; border-radius: 0; }
.amd-list .entry-header { padding: 18px 20px 0; order: 0; }
.amd-list .entry-title { margin: 0; font: 600 20px/1.3 var(--slab); }
.amd-list .entry-title a { color: var(--green-ink); text-decoration: none; }
.amd-list .entry-header .entry-meta {
  margin-top: 8px; font: 600 11.5px/1 var(--sans); letter-spacing: .07em; text-transform: uppercase; color: var(--brown);
}
.amd-list .entry-header .entry-meta a { color: inherit; text-decoration: none; }
.amd-list .entry-summary { padding: 12px 20px 0; order: 1; flex: 1; font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.amd-list .entry-summary > p:first-child {
  margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.amd-list .read-more-container { margin: 14px 0 0; }
.amd-list .read-more.button,
.amd-list .read-more {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; padding: 0; border: 0; border-radius: 0;
  font: 700 14px/1 var(--sans); color: var(--green-dk); text-decoration: none;
}
.amd-list .read-more.button::after { content: "→"; transition: transform .2s ease; }
.amd-list .inside-article:hover .read-more.button::after { transform: translateX(3px); }
.amd-list footer.entry-meta { padding: 14px 20px 18px; order: 2; font: 600 11.5px/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; }
.amd-list footer.entry-meta a { color: var(--brown); text-decoration: none; }
.amd-list footer.entry-meta .gp-icon { display: none; }

/* A card with no picture still needs a top edge. */
.amd-list .inside-article:not(:has(.post-image))::before {
  content: ""; display: block; aspect-ratio: 16 / 5;
  background: var(--tan-2) url("../img/search-default.svg") center / 110px auto no-repeat;
}

/* Pagination, as pills. */
.amd-list .paging-navigation { grid-column: 1 / -1; }
.amd-list .paging-navigation .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.amd-list .paging-navigation .page-numbers {
  display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 14px;
  border-radius: 999px; background: var(--white); box-shadow: 0 0 0 1px var(--line);
  font: 700 15px/1 var(--sans); color: var(--brown); text-decoration: none;
}
.amd-list .paging-navigation .page-numbers:hover { background: var(--tan-2); }
.amd-list .paging-navigation .page-numbers.current { background: var(--green); color: #fff; box-shadow: none; }

/* ==============================================================================================
   The breed guide index, which is a GenerateBlocks query loop rather than an archive
   ============================================================================================== */

.gb-query-loop-item > .gb-container {
  height: 100%;
  background: var(--white); border-radius: 20px; overflow: hidden;
  box-shadow: 0 0 0 1px var(--line);
  transition: transform .2s ease, box-shadow .2s ease;
}
.gb-query-loop-item > .gb-container:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 0 1px var(--green), 0 22px 34px -28px rgba(60, 40, 20, .75);
}
.gb-query-loop-item .gb-block-image { margin: 0; }
.gb-query-loop-item .gb-block-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.gb-query-loop-item h2,
.gb-query-loop-item h3 { margin: 0; padding: 16px 18px 18px; font: 600 17px/1.35 var(--slab); }
.gb-query-loop-item h2 a,
.gb-query-loop-item h3 a { color: var(--green-ink); text-decoration: none; }

/* ==============================================================================================
   Phones
   ============================================================================================== */

@media (max-width: 768px) {
  .amd-article .entry-content { font-size: 17px; padding-inline: 18px; }
  .amd-article .entry-content > p:first-of-type { font-size: 18px; }
  .amd-postmeta { padding-inline: 18px; }
  .amd-endcap { padding-inline: 18px; }
  .amd-list .site-main { grid-template-columns: 1fr; gap: 20px; }
}

/* Our own page templates bring their own type and buttons; the copy layer must not touch them. */
.amd-page .amd, .amd-page .amd * { max-width: none; }
.amd-page .entry-content .amd a { text-decoration: none; }

/* ==============================================================================================
   Ordinary pages — About Us, the policies, the breeder and training pages.

   These were still the theme's default: 17px Montserrat running the full 1265px of the window.
   The typography below applies to the text wherever it sits, but the reading measure is put only
   on direct children of the content area, so a page built out of GenerateBlocks containers keeps
   its own full-width layout and only its copy is reset.
   ============================================================================================== */

.amd-page .entry-content {
  font-size: 17.5px; line-height: 1.75; color: var(--ink-2);
}
.amd-page .entry-content p,
.amd-page .entry-content li,
.amd-page .entry-content td,
.amd-page .entry-content th,
.amd-page .entry-content dd,
.amd-page .entry-content dt { font-family: var(--sans); }
.amd-page .entry-content p { margin: 0 auto 1.3em; }

/* Face and weight are safe anywhere — colour is not. These pages are built out of GenerateBlocks
   containers, some of them dark green, and recolouring every heading turned white text on those
   sections into near-black. Colour is therefore only applied to text the page holds directly. */
.amd-page .entry-content h1,
.amd-page .entry-content h2,
.amd-page .entry-content h3,
.amd-page .entry-content h4 {
  font-family: var(--slab) !important; font-weight: 600; line-height: 1.22;
}
.amd-page .entry-content > h1,
.amd-page .entry-content > h2,
.amd-page .entry-content > h3,
.amd-page .entry-content > h4,
.amd-page .entry-content > .gb-container > h2,
.amd-page .entry-content > .gb-container > h3,
.amd-page .entry-content > .gb-container > h4 { color: var(--green-ink); }
.amd-page .entry-content h2 { font-size: clamp(24px, 2.5vw, 30px); margin: 1.7em auto .5em; }
.amd-page .entry-content h3 { font-size: clamp(19px, 1.9vw, 22px); margin: 1.5em auto .45em; }
.amd-page .entry-content h4 { font-size: 17.5px; font-family: var(--sans) !important; font-weight: 700; color: var(--brown); }

/* Same reasoning for links: underlining every anchor also underlined the page's buttons, and the
   green on a coloured panel could land on top of its own background. Only running text. */
.amd-page .entry-content > p a,
.amd-page .entry-content > ul a,
.amd-page .entry-content > ol a,
.amd-page .entry-content > .gb-container > p a,
.amd-page .entry-content > .gb-container > ul a,
.amd-page .entry-content > .gb-container > ol a {
  color: var(--green-dk); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px;
}
.amd-page .entry-content > p a:hover,
.amd-page .entry-content > .gb-container > p a:hover { color: var(--brown); }

/* Buttons the page builder made: the brand's pill, in the brand's colours. One of them was green
   text on a blue background with an underline through it. */
.amd-page .entry-content .gb-button,
.amd-page .entry-content a.button,
.amd-page .entry-content button.gb-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 0; border-radius: 999px; padding: 14px 26px;
  background: var(--green); color: #fff !important;
  font: 700 15.5px/1 var(--sans); text-decoration: none !important;
  transition: background .25s, transform .12s;
}
.amd-page .entry-content .gb-button:hover,
.amd-page .entry-content a.button:hover,
.amd-page .entry-content button.gb-button:hover { background: var(--brown); color: #fff !important; }
.amd-page .entry-content .gb-button:active { transform: scale(.985); }
.amd-page .entry-content .gb-button:focus-visible { outline: 3px solid var(--pumpkin); outline-offset: 2px; }
/* A button sitting on a dark panel needs the reverse treatment or it disappears into it. */
.amd-page .entry-content .gb-container[class*="gb-container"] .gb-button.gb-button-inverse { background: #FFFDF8; color: var(--green-ink) !important; }
.amd-page .entry-content strong { color: var(--charcoal); }
.amd-page .entry-content li { margin: 0 0 .45em; }
.amd-page .entry-content li::marker { color: var(--green); font-weight: 700; }

/* The measure. These pages are built with GenerateBlocks, so the copy is usually a few containers
   deep and a rule on direct children alone never reached it. The cap is applied to the text at any
   depth — it can only narrow a line, never widen one, so a builder's own columns are unaffected —
   while the centring is kept for text the page holds directly. */
.amd-page .entry-content p,
.amd-page .entry-content ul,
.amd-page .entry-content ol,
.amd-page .entry-content h2,
.amd-page .entry-content h3,
.amd-page .entry-content h4,
.amd-page .entry-content blockquote {
  max-width: min(72ch, 760px);
  /* auto margins only move a box that is narrower than what holds it, so this centres the copy
     on a full-width page and does nothing inside a builder's own column. */
  margin-inline: auto;
}

.amd-page .entry-content > p,
.amd-page .entry-content > ul,
.amd-page .entry-content > ol,
.amd-page .entry-content > h2,
.amd-page .entry-content > h3,
.amd-page .entry-content > h4,
.amd-page .entry-content > blockquote,
.amd-page .entry-content > figure,
.amd-page .entry-content > table { margin-left: auto; margin-right: auto; }

/* A page whose whole body is one wrapper still wants its column centred. */
.amd-page .entry-content > .gb-container > p,
.amd-page .entry-content > .gb-container > ul,
.amd-page .entry-content > .gb-container > ol,
.amd-page .entry-content > .gb-container > h2,
.amd-page .entry-content > .gb-container > h3,
.amd-page .entry-content > .gb-container > h4 { margin-left: auto; margin-right: auto; }

/* A page that is only a few paragraphs looked stranded against the footer. */
.amd-page .site-main > article > .inside-article { padding-block: clamp(28px, 4vw, 52px); }

.amd-page .entry-content blockquote {
  padding: 4px 0 4px 22px; border-left: 4px solid var(--tan);
  font: 500 italic 19px/1.6 var(--slab); color: var(--brown);
}
.amd-page .entry-content img { border-radius: 16px; height: auto; }
.amd-page .entry-content table {
  width: 100%; border-collapse: collapse; font-size: 15.5px;
  background: var(--white); border-radius: 14px; overflow: hidden; box-shadow: 0 0 0 1px var(--line);
}
.amd-page .entry-content th,
.amd-page .entry-content td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); }
.amd-page .entry-content thead th {
  background: var(--green-ink); color: #FFFDF8;
  font: 700 12.5px/1.2 var(--sans); letter-spacing: .06em; text-transform: uppercase;
}
.amd-page .entry-content tbody tr:nth-child(even) { background: rgba(232, 214, 168, .22); }

@media (max-width: 768px) {
  .amd-page .entry-content { font-size: 16.5px; }
}

/* ==============================================================================================
   Breed guide and blog: the legacy sticky sidebar.

   Each guide carried a green "Where To Buy" panel and a "Recommended Food" product table in a
   sticky column. Both were doing what the article's closing block now does — and doing it in a
   narrow column, which broke the text onto a word a line and squeezed the article. The column is
   folded away here and the recipes moved into the end of the article, where there is room for a
   picture and a price.
   ============================================================================================== */

.amd-article .entry-content .gb-grid-wrapper:has(.ss-sticky) {
  display: block;
}
.amd-article .entry-content .gb-grid-column:has(.ss-sticky) { display: none; }
.amd-article .entry-content .gb-grid-column:not(:has(.ss-sticky)) {
  width: 100% !important; max-width: none !important; flex: none !important; padding-left: 0 !important;
}

/* ==============================================================================================
   The breed guide index cards
   ============================================================================================== */

/* The publish date told a reader nothing about a breed guide and was the only thing on the card
   that was not the breed. */
.gb-query-loop-item .gb-headline:has(> time.entry-date),
.gb-query-loop-item .gb-container:has(> .gb-headline > time.entry-date) { display: none; }

/* The card's title is a paragraph, not a heading, so it needs naming directly. */
.gb-query-loop-item .gb-headline {
  margin: 0; padding: 14px 16px 0; font: 600 16.5px/1.35 var(--slab); color: var(--green-ink);
}
.gb-query-loop-item .gb-headline + .gb-headline {
  padding: 6px 16px 16px; font: 400 13.5px/1.55 var(--sans); color: var(--ink-2);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gb-query-loop-item .gb-container-link { border-radius: inherit; }

/* The recipes at the end of an article — what the sidebar's product table used to do. */
.amd-picks-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.amd-pick {
  display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 14px;
  background: var(--white); border-radius: 18px; padding: 12px 16px 12px 12px; text-decoration: none;
  box-shadow: 0 0 0 1px var(--line); transition: transform .2s ease, box-shadow .2s ease;
}
.amd-pick:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px var(--green), 0 18px 30px -26px rgba(60, 40, 20, .8); }
.amd-pick-shot { display: grid; place-items: center; background: var(--beige); border-radius: 12px; padding: 8px; }
.amd-pick-shot img { max-width: 100%; max-height: 74px; width: auto; height: auto; object-fit: contain; display: block; }
.amd-pick-body { display: grid; gap: 3px; min-width: 0; }
.amd-pick-line { font: 700 10px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--pumpkin); }
.amd-pick-name { font: 600 15.5px/1.25 var(--slab); color: var(--green-ink); }
.amd-pick-price { font: 700 13.5px/1 var(--sans); color: var(--green-dk); }
@media (max-width: 900px) { .amd-picks-grid { grid-template-columns: 1fr; } }

/* The article's own H1, shown only where the theme's hero band did not draw one. */
.amd-art-h1 { display: none; }
body:not(:has(.global-page-hero)) .amd-art-h1 {
  display: block;
  max-width: var(--measure, min(70ch, 720px)); margin: 0 auto; padding: 8px 20px 0;
  font: 600 clamp(28px, 3.6vw, 42px)/1.15 var(--slab); color: var(--green-ink);
}
body:not(:has(.global-page-hero)) .amd-postmeta { padding-top: 12px; }

/* Infinite listing. */
.amd-list-status {
  grid-column: 1 / -1; margin: 26px 0 0; text-align: center;
  font: 700 12px/1 var(--sans); letter-spacing: .09em; text-transform: uppercase; color: var(--brown);
}
.amd-list-sentinel { grid-column: 1 / -1; height: 1px; }

/* ----------------------------------------------------------------------------------------------
   Our own blocks sit inside .entry-content, so the article's heading rules reach them. The
   closing card's title was being painted the same dark green as the card it sits on — the block
   read as empty, with only its rule showing.
   ---------------------------------------------------------------------------------------------- */
.amd-article .entry-content .amd-endcap h2 { margin: 0 0 6px; max-width: none; }
.amd-article .entry-content .amd-endcap-cta h2 { color: #FFFDF8; }
.amd-article .entry-content .amd-endcap-cta h2::after { content: none; }
.amd-article .entry-content .amd-endcap-cta p { color: rgba(248, 242, 227, .85); max-width: 56ch; }
.amd-article .entry-content .amd-more h2,
.amd-article .entry-content .amd-picks h2 { color: var(--green-ink); margin-bottom: 16px; }
.amd-article .entry-content .amd-more-card b,
.amd-article .entry-content .amd-pick-name { color: var(--green-ink); }
