/* TAF 2026 — Recipe post footer zone
   Full file header, design notes and per-rule rationale: docs/design/css-rationale/taf-postfooter.css.md */

/* .single-post .entry-content .feast-modern-prev-next, .sing… — !! DELIBERATE VALUE, DO NOT "FIX" WITHOUT READING: docs/design/css-rationale/taf-postfooter.css.md#single-post-entry-content-feast-modern-prev-next-single-post */
.single-post .entry-content .feast-modern-prev-next,
.single-post .entry-footer .entry-tags,
.single-post nav.navigation.post-navigation,
.single-post .entry-related { display: none; }

/* .taf-pf — rationale: docs/design/css-rationale/taf-postfooter.css.md#taf-pf */
.taf-pf { margin-top: var(--space-16); }

/* ---- Tags: "FILED UNDER" label + rose-tint pills ---- */
.taf-pf-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-8);
  /* .taf-pf-tags — rationale: docs/design/css-rationale/taf-postfooter.css.md#taf-pf-tags */
  padding-bottom: var(--space-16);
}
.taf-pf-tags__label {
  font-family: var(--display);
  font-size: var(--fs-12);
  font-weight: var(--w-bold);
  letter-spacing: var(--ls-08em);
  text-transform: uppercase;
  color: var(--cocoa);
  margin-right: var(--space-4);
}
.taf-pf-tag {
  background: var(--rose-tint);
  color: var(--rose-deep);
  font-family: var(--display);
  font-size: var(--fs-15);
  font-weight: var(--w-bold);
  padding: var(--space-8) var(--space-12);
  border-radius: var(--radius-full); /* handoff: pills fully rounded (supersedes the 6px chip) */
  text-decoration: none;
  transition: background var(--speed) var(--ease);
}
.taf-pf-tag:hover,
.taf-pf-tag:focus-visible { background: var(--cream); color: var(--rose-deep); }

/* ---- Prev/next cards ---- */
.taf-pf-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  padding: var(--space-32) 0 0;
}
.taf-pf-navcard {
  display: flex;
  align-items: center;
  gap: var(--space-16);
  background: var(--paper);
  border: var(--bw-1) solid var(--line);
  border-radius: var(--radius);
  padding: var(--space-12) var(--space-16);
  text-decoration: none;
  color: var(--chocolate);
  transition: box-shadow var(--speed) var(--ease);
  min-width: 0;
}
.taf-pf-navcard:hover,
.taf-pf-navcard:focus-visible { box-shadow: var(--shadow-hover); color: var(--chocolate); }
.taf-pf-navcard__thumb {
  width: 64px;
  height: 64px;
  border-radius: var(--radius-sm);
  object-fit: cover;
  flex: none;
  background: var(--cream);
}
.taf-pf-navcard__text {
  min-width: 0;
  /* Top-aligned so PREVIOUS/NEXT eyebrows sit at the same y in both cards
     regardless of title line count. Thumbs stay
     vertically centered via the card's own align-items. */
  align-self: flex-start;
}
.taf-pf-navcard__eyebrow {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  font-family: var(--display);
  font-size: var(--fs-12);
  font-weight: var(--w-bold);
  letter-spacing: var(--ls-08em);
  text-transform: uppercase;
  color: var(--cocoa);
}
.taf-pf-navcard__title {
  display: block;
  font-family: var(--display);
  font-size: var(--fs-16);
  font-weight: var(--w-bold);
  line-height: var(--lh-13);
  margin-top: var(--space-4);
}
.taf-pf-arrow { width: 13px; height: 13px; flex: none; }

/* Next card mirrors: text right-aligned, thumb on the right */
.taf-pf-navcard--next { justify-content: flex-end; text-align: right; }
.taf-pf-navcard--next .taf-pf-navcard__eyebrow { justify-content: flex-end; }

/* .taf-pf-band — rationale: docs/design/css-rationale/taf-postfooter.css.md#taf-pf-band */
.taf-pf-band {
  background: var(--cream);
  width: 100vw;
  /* .taf-pf-band — !! DELIBERATE VALUE, DO NOT "FIX" WITHOUT READING: docs/design/css-rationale/taf-postfooter.css.md#taf-pf-band-2 */
  margin: var(--space-24) 0 0 calc(50% - 50vw);
  padding: var(--space-32) var(--space-20);
}
@media (min-width: 1024px) {
  /* body.single-post .taf-pf-band — rationale: docs/design/css-rationale/taf-postfooter.css.md#body-single-post-taf-pf-band */
  body.single-post .taf-pf-band { margin-left: calc(50% - 50vw + 184px); /* token-exempt: hand-computed geometric offset, not a spacing step */ }
}
@media (min-width: 900px) {
  .taf-pf-band { padding-left: var(--space-32); padding-right: var(--space-32); }
}
/* .taf-pf-band__inner — rationale: docs/design/css-rationale/taf-postfooter.css.md#taf-pf-band-inner */
.taf-pf-band__inner {
  max-width: var(--maxw);
  margin: 0 auto;
}
@media (min-width: 1024px) {
  /* body.single-post .taf-pf-band__inner — rationale: docs/design/css-rationale/taf-postfooter.css.md#body-single-post-taf-pf-band-inner */
  body.single-post .taf-pf-band__inner {
    margin-left: calc(50% - var(--maxw) / 2 - 184px); /* token-exempt: hand-computed geometric offset, not a spacing step */
    margin-right: 0;
  }
}

/* ---- Header row: eyebrow + adaptive H2 left, "All N ..." link right ---- */
.taf-pf-band__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-12) var(--space-24);
  flex-wrap: wrap;
  margin-bottom: var(--space-20);
}
/* .taf-pf-band__title — rationale: docs/design/css-rationale/taf-postfooter.css.md#taf-pf-band-title */
.taf-pf-band__title {
  font-family: var(--display);
  font-size: var(--fs-30);
  font-weight: var(--w-semibold);
  letter-spacing: var(--ls-display);
  color: var(--chocolate);
  margin: 0;
}
.taf-pf-band__all {
  font-family: var(--display);
  font-size: var(--fs-15);
  font-weight: var(--w-bold);
  color: var(--rose-link);
  text-decoration: underline; /* canvas: default-underlined link */
  text-underline-offset: 3px;
  white-space: nowrap;
  position: relative; /* anchors the 44px tap extension */
}
.taf-pf-band__all::after {
  /* .taf-pf-band__all::after — !! DELIBERATE VALUE, DO NOT "FIX" WITHOUT READING: docs/design/css-rationale/taf-postfooter.css.md#taf-pf-band-all-after */
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: var(--space-44);
  transform: translateY(-50%); /* 44px tap target */
}
.taf-pf-band__all:hover,
.taf-pf-band__all:focus-visible { color: var(--rose-deep); }

/* .taf-rr-more — rationale: docs/design/css-rationale/taf-postfooter.css.md#taf-rr-more */
.taf-rr-more {
  margin-top: var(--space-12);
  text-align: right;
}

/* ---- Tile grid: 4-up desktop/tablet, 2-up phone ---- */
.taf-pf-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-20);
}
.taf-pf-tile {
  display: block;
  color: var(--chocolate);
  text-decoration: none;
  min-width: 0;
}
.taf-pf-tile__imgwrap {
  display: block;
  aspect-ratio: var(--ar-4-5);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--rose-tint);
  transition: box-shadow var(--speed) var(--ease);
}
.taf-pf-tile__img,
.taf-pf-tile__imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--radius);
}
.taf-pf-tile__title {
  display: block;
  font-family: var(--display);
  font-size: var(--fs-17);
  /* 400: in-flow tile titles are regular sitewide;
     the drawer tile labels keep 600 as a white-on-scrim legibility exception. */
  font-weight: var(--w-regular);
  line-height: var(--lh-13);
  margin-top: var(--space-8);
}
.taf-pf-tile__meta {
  display: block;
  font-family: var(--display);
  font-size: var(--fs-13);
  font-weight: var(--w-regular);
  color: var(--cocoa);
  margin-top: var(--space-4);
}

/* Hover: title underline + shadow lift on the photo. Photos never zoom. */
.taf-pf-tile:hover,
.taf-pf-tile:focus-visible { color: var(--chocolate); }
.taf-pf-tile:hover .taf-pf-tile__title,
.taf-pf-tile:focus-visible .taf-pf-tile__title {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.taf-pf-tile:hover .taf-pf-tile__imgwrap,
.taf-pf-tile:focus-visible .taf-pf-tile__imgwrap { box-shadow: var(--shadow-hover); }
.taf-pf-tile:hover .taf-pf-tile__img,
.taf-pf-tile__imgwrap img { transform: none; } /* guard: no photo zoom, ever */

/* @media (max-width: 699.98px) — rationale: docs/design/css-rationale/taf-postfooter.css.md#media-max-width-699-98px */
@media (max-width: 699.98px) {
  .taf-pf-nav { grid-template-columns: 1fr; }

  .taf-pf-grid { grid-template-columns: 1fr 1fr; gap: var(--space-16); }

  .taf-pf-band__title { font-size: var(--fs-24); }

  .taf-pf-tag { position: relative; }
  .taf-pf-tag::after { content: ""; position: absolute; inset: -4px 0; }

}

/* .single-post .taf-post-content :is(h1, h2, h3, h4, h5, h6) — rationale: docs/design/css-rationale/taf-postfooter.css.md#single-post-taf-post-content-is-h1-h2-h3-h4-h5-h6 */
.single-post .taf-post-content :is(h1, h2, h3, h4, h5, h6) { font-style: normal; font-weight: var(--w-semibold); }
.single-post .taf-post-content :is(h1, h2, h3, h4, h5, h6) :is(em, i) { font-style: normal; }
.single-post .taf-post-content :is(h1, h2, h3, h4, h5, h6) :is(strong, b) { font-weight: var(--w-semibold); }

/* .main-navigation .primary-menu-container > ul > li.menu-it… — rationale: docs/design/css-rationale/taf-postfooter.css.md#main-navigation-primary-menu-container-ul-li-menu-item-taf-n */
.main-navigation .primary-menu-container > ul > li.menu-item.taf-nav-seasonal > a { color: var(--chocolate); }
.main-navigation .primary-menu-container > ul > li.menu-item.taf-nav-seasonal > a:hover,
.main-navigation .primary-menu-container > ul > li.menu-item.taf-nav-seasonal > a:focus-visible { color: var(--accent); }

/* @media (prefers-reduced-motion: reduce) — rationale: docs/design/css-rationale/taf-postfooter.css.md#media-prefers-reduced-motion-reduce */
@media (prefers-reduced-motion: reduce) {
  .taf-pf-tag,
  .taf-pf-navcard,
  .taf-pf-tile__imgwrap { transition: none; }
}
