/* Editorial pages and care hubs: one frame for every static page. */

/* Astra prints its own entry header on these templates; the hero owns the h1. */
body.patbuddy-editorial-page .entry-header {
  display: none;
}

/* ------------------------------------------------------------ page hero */

.patbuddy-page-hero {
  background: var(--color-paper-2);
  border-block-end: var(--rule-hair) solid var(--color-rule);
  padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 4vw, 3rem);
}

.patbuddy-page-hero .patbuddy-eyebrow {
  margin: 0 0 var(--space-sm);
}

.patbuddy-page-hero__title {
  font-size: clamp(2rem, 1.2rem + 2.6vw, 3.25rem);
  font-weight: 550;
  letter-spacing: -0.035em;
  line-height: 1.04;
  margin: 0;
  max-width: 20ch;
  text-wrap: balance;
}

.patbuddy-page-hero__lede {
  color: var(--color-muted);
  font-size: var(--text-md);
  line-height: 1.6;
  margin: var(--space-md) 0 0;
  max-width: 52ch;
}

/* ------------------------------------------------------------- content */

.patbuddy-editorial {
  padding-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 7vw, 5rem);
}

/* Prose keeps a reading measure; the wrapper and the link lists may run wider. */
.patbuddy-editorial p,
.patbuddy-editorial h2,
.patbuddy-editorial h3,
.patbuddy-editorial h4,
.patbuddy-editorial blockquote,
.patbuddy-editorial table {
  max-width: 46rem;
}

.patbuddy-editorial__inner {
  max-width: none;
}

.patbuddy-editorial h2 {
  border-block-start: var(--rule-hair) solid var(--color-rule);
  font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2rem);
  letter-spacing: -0.025em;
  margin: clamp(2.5rem, 5vw, 3.5rem) 0 var(--space-sm);
  padding-block-start: var(--space-lg);
}

.patbuddy-editorial > h2:first-child {
  border-block-start: 0;
  margin-block-start: 0;
  padding-block-start: 0;
}

.patbuddy-editorial h3 {
  font-size: var(--text-lg);
  letter-spacing: -0.02em;
  margin: var(--space-xl) 0 var(--space-xs);
}

.patbuddy-editorial p,
.patbuddy-editorial li {
  line-height: 1.7;
}

.patbuddy-editorial p {
  margin-block: 0 var(--space-md);
}

.patbuddy-editorial a {
  text-decoration: underline;
  text-decoration-thickness: var(--rule-hair);
  text-underline-offset: 0.22em;
}

/* Link lists read as a quiet table of contents. */
.patbuddy-editorial ul {
  list-style: none;
  margin: 0 0 var(--space-lg);
  padding: 0;
}

.patbuddy-editorial ul li {
  border-block-end: var(--rule-hair) solid var(--color-rule);
  display: grid;
  gap: 0.15rem var(--space-sm);
  padding-block: var(--space-sm);
}

.patbuddy-editorial ul li:first-child {
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.patbuddy-editorial ul li {
  position: relative;
}

.patbuddy-editorial ul li::after {
  color: var(--color-accent-deep);
  content: "→";
  font-size: var(--text-base);
  inset-block-start: 0.85rem;
  inset-inline-end: 0;
  position: absolute;
}

.patbuddy-editorial ul li > a {
  color: var(--color-ink);
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 600;
  letter-spacing: -0.02em;
  padding-inline-end: 2rem;
  text-decoration: none;
}

.patbuddy-editorial ul li > a:hover {
  color: var(--color-accent-deep);
}

/*
 * Running-text lists. The default editorial `ul` above is a link list: hairline
 * rows, a trailing arrow and every direct link promoted to a large display
 * heading. That is right for the Ratgeber index, but wrong for an article whose
 * list items are sentences with one inline link. Mark such a list with
 * `patbuddy-prose-list` and it keeps normal list semantics and normal links.
 */
.patbuddy-editorial ul.patbuddy-prose-list {
  list-style: disc;
  margin: 0 0 var(--space-lg);
  padding-inline-start: 1.25em;
}

.patbuddy-editorial ul.patbuddy-prose-list li {
  border: 0;
  display: list-item;
  margin-block: 0 var(--space-sm);
  padding-block: 0;
}

.patbuddy-editorial ul.patbuddy-prose-list li:first-child {
  border-block-start: 0;
}

.patbuddy-editorial ul.patbuddy-prose-list li::after {
  content: none;
}

.patbuddy-editorial ul.patbuddy-prose-list li > a {
  color: var(--color-accent-deep);
  display: inline;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: normal;
  padding-inline-end: 0;
  text-decoration: underline;
  text-decoration-thickness: var(--rule-hair);
  text-underline-offset: 0.2em;
}

.patbuddy-editorial ul.patbuddy-prose-list li > a:hover {
  color: var(--color-ink);
}

/* Legal pages carry long tables and nested lists. */
.patbuddy-editorial table {
  border-collapse: collapse;
  font-size: var(--text-sm);
  margin-block: var(--space-md) var(--space-lg);
  width: 100%;
}

.patbuddy-editorial th,
.patbuddy-editorial td {
  border-block-end: var(--rule-hair) solid var(--color-rule);
  padding: var(--space-xs) var(--space-sm);
  text-align: start;
  vertical-align: top;
}

.patbuddy-editorial th {
  color: var(--color-muted);
  font-weight: 650;
}

.patbuddy-editorial ol {
  margin: 0 0 var(--space-lg);
  padding-inline-start: 1.25rem;
}

.patbuddy-editorial ol li {
  margin-block-end: var(--space-xs);
}

/* ------------------------------------------------------------ care hub */

/* The page hero carries the summary, so the in-content kicker and lead go. */
.patbuddy-editorial .patbuddy-care-guide__kicker,
.patbuddy-editorial .patbuddy-care-guide__lead {
  display: none;
}

/* The care modules use the full column: the prose measure above is for reading
   text, not for a three-up product grid. */
body.patbuddy-editorial-page .patbuddy-editorial > .patbuddy-care-guide,
.patbuddy-editorial .patbuddy-care-guide section,
.patbuddy-editorial .patbuddy-care-guide section.patbuddy-tasks-section,
.patbuddy-editorial .patbuddy-tasks-section {
  display: block;
  margin-inline: 0;
  max-width: none;
  width: 100%;
}

.patbuddy-editorial .patbuddy-tasks-section > h2 {
  border: 0;
  font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem);
  letter-spacing: -0.03em;
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  max-width: none;
  padding: 0;
}

.patbuddy-editorial .patbuddy-task {
  border-block-start: var(--rule-hair) solid var(--color-rule);
  display: block;
  margin-block-start: clamp(2rem, 4vw, 3rem);
  max-width: none;
  padding-block-start: clamp(1.5rem, 3vw, 2rem);
}

.patbuddy-task__head {
  align-items: end;
  display: grid;
  gap: var(--space-sm) var(--space-lg);
  margin-block-end: clamp(1rem, 2vw, 1.5rem);
}

.patbuddy-task__title {
  font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem);
  letter-spacing: -0.025em;
  margin: 0 0 var(--space-2xs);
}

.patbuddy-task__intro {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.6;
  margin: 0;
  max-width: 62ch;
}

.patbuddy-task__link {
  color: var(--color-accent-deep);
  font-size: var(--text-sm);
  font-weight: 650;
  white-space: nowrap;
}

.patbuddy-editorial .patbuddy-task__products {
  display: grid;
  gap: clamp(var(--space-md), 1.6vw, var(--space-lg));
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Card look matches the catalogue: no border, image bed, price and CTA at the
   bottom so the three cards in a row stay level. */
.patbuddy-editorial .patbuddy-care-hub__card {
  background: transparent;
  border: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.patbuddy-care-hub__media {
  background: var(--color-image-bed);
  border-radius: var(--radius-card);
  display: block;
  overflow: clip;
}

.patbuddy-care-hub__media img {
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  transition: transform var(--dur-long) var(--ease-out);
  width: 100%;
}

.patbuddy-care-hub__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding-block-start: var(--space-sm);
}

.patbuddy-care-hub__category {
  color: var(--color-muted);
  font-size: var(--text-eyebrow);
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  margin: 0;
  text-transform: uppercase;
}

.patbuddy-care-hub__title {
  font-family: var(--font-body);
  font-size: var(--text-card-title);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  margin: var(--space-2xs) 0 0;
}

.patbuddy-care-hub__title a {
  color: var(--color-ink);
  text-decoration: none;
}

.patbuddy-care-hub__reason {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
  margin: var(--space-2xs) 0 0;
}

.patbuddy-editorial .patbuddy-care-hub__foot {
  align-items: center;
  display: flex;
  gap: var(--space-sm);
  justify-content: space-between;
  margin-block-start: auto;
  padding-block-start: var(--space-sm);
}

.patbuddy-care-hub__price {
  font-size: var(--text-price-card);
  font-variant-numeric: tabular-nums;
  font-weight: 750;
}

.patbuddy-care-hub__cta {
  background: transparent;
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-control);
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 700;
  min-height: 2.5rem;
  padding: var(--space-xs) var(--space-md);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.patbuddy-care-circles {
  margin-block: clamp(2rem, 4vw, 3rem) 0;
  max-width: none;
}

@media (min-width: 48rem) {
  .patbuddy-editorial .patbuddy-task__products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .patbuddy-task__head {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (hover: hover) and (pointer: fine) {
  .patbuddy-care-hub__card:hover .patbuddy-care-hub__media img {
    transform: scale(1.04);
  }

  .patbuddy-care-hub__cta:hover {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-accent-ink);
  }

  .patbuddy-task__link:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}

/* Component headings must not inherit the prose h2 rule (rule + big margins). */
.patbuddy-editorial .patbuddy-task__title {
  border: 0;
  font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem);
  letter-spacing: -0.025em;
  margin: 0 0 var(--space-2xs);
  padding: 0;
}

/* Tighter rhythm inside the care modules. */
.patbuddy-editorial .patbuddy-tasks-section {
  margin-block-start: clamp(1rem, 2vw, 1.5rem);
  padding-block-start: 0;
}

.patbuddy-editorial .patbuddy-task {
  margin-block-start: clamp(1.5rem, 3vw, 2.25rem);
  padding-block-start: clamp(1rem, 2vw, 1.5rem);
}

.patbuddy-editorial .patbuddy-task:first-of-type {
  margin-block-start: 0;
}

/* Page content still carries the old section wrapper; inside the editorial
   frame its block padding doubles the spacing. */
.patbuddy-editorial .patbuddy-basic-page.patbuddy-section {
  padding-block: 0;
}

.patbuddy-editorial .patbuddy-editorial__inner {
  padding-inline: 0;
  width: 100%;
}

/* Link lists are navigation, not prose: they may use the wider measure. */
.patbuddy-editorial ul {
  max-width: 60rem;
}

.patbuddy-editorial > p:first-of-type {
  margin-block-start: 0;
}

/* ==================================================================
 * Search results, blog archives, account and 404.
 *
 * These templates come from Astra, so the theme restyles the markup Astra
 * prints instead of overriding the templates: the result cards, the archive
 * heading, the login and account panels and the not-found block all follow the
 * storefront vocabulary.
 * ================================================================== */

/* -------------------------------------------------- search + archives */

/* Astra paints this template with its own slate/blue palette. */
html body.search,
html body.archive,
html body.blog,
html body.error404 {
  background: var(--color-paper);
}

body.search .site-content,
body.archive .site-content,
body.blog .site-content,
body.error404 .site-content {
  background: var(--color-paper);
}

body.search .ast-archive-description,
body.archive .ast-archive-description,
body.blog .ast-archive-description {
  background: var(--color-paper-2);
  border-block-end: var(--rule-hair) solid var(--color-rule);
  border-radius: 0;
  margin-block-end: clamp(1.5rem, 3vw, 2.5rem);
  padding-block: clamp(1.75rem, 4vw, 2.75rem);
  text-align: start;
}

body.search .ast-archive-description .page-title,
body.archive .ast-archive-description .page-title,
body.blog .ast-archive-description .page-title,
body.search .page-title.ast-archive-title {
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
  font-weight: 550;
  letter-spacing: -0.03em;
  line-height: 1.08;
  margin: 0;
  text-align: start;
}

body.search .ast-archive-description .ast-archive-title,
body.archive .ast-archive-description .ast-archive-title,
body.blog .ast-archive-description .ast-archive-title {
  color: var(--color-muted);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  letter-spacing: 0;
  margin: var(--space-2xs) 0 0;
  text-align: start;
}

body.search .ast-archive-description .taxonomy-description,
body.archive .ast-archive-description .taxonomy-description {
  color: var(--color-muted);
  font-size: var(--text-sm);
  text-align: start;
}

/* Astra prints no archive heading on search results, so the theme adds the
   catalogue header band. It carries the page H1 and the result count. */
.patbuddy-search-header {
  padding-block-start: 0;
}

.patbuddy-search-header h1 {
  font-size: clamp(1.75rem, 1.1rem + 2.2vw, 3rem);
  letter-spacing: -0.03em;
  line-height: 1.05;
  max-width: 26ch;
}

/* Result and archive cards: same radius, border and type as the catalogue. */
body.search .ast-row > article,
body.archive .ast-row > article,
body.blog .ast-row > article {
  background: var(--color-paper);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  display: flex;
  flex-direction: column;
  margin: 0;
  max-width: none;
  overflow: clip;
  padding: 0;
}

body.search .ast-row > article .post-thumb,
body.archive .ast-row > article .post-thumb,
body.blog .ast-row > article .post-thumb {
  margin: 0;
}

body.search .ast-row > article .post-thumb img,
body.archive .ast-row > article .post-thumb img,
body.blog .ast-row > article .post-thumb img {
  aspect-ratio: 16 / 10;
  border-radius: 0;
  object-fit: cover;
  width: 100%;
}

body.search .ast-row > article .ast-blog-single-element,
body.archive .ast-row > article .ast-blog-single-element,
body.blog .ast-row > article .ast-blog-single-element {
  padding-inline: var(--space-md);
}

body.search .ast-row > article .entry-title,
body.archive .ast-row > article .entry-title,
body.blog .ast-row > article .entry-title {
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--text-lg);
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: var(--space-md) 0 var(--space-2xs);
  padding-inline: var(--space-md);
}

body.search .ast-row > article .entry-title a,
body.archive .ast-row > article .entry-title a,
body.blog .ast-row > article .entry-title a {
  color: var(--color-ink);
  text-decoration: none;
}

body.search .ast-row > article .ast-taxonomy-container a,
body.archive .ast-row > article .ast-taxonomy-container a,
body.blog .ast-row > article .ast-taxonomy-container a,
body.search .ast-row > article .entry-meta a,
body.archive .ast-row > article .entry-meta a,
body.blog .ast-row > article .entry-meta a {
  color: var(--color-accent-deep);
  text-decoration: none;
}

body.search .ast-row > article .ast-taxonomy-container,
body.archive .ast-row > article .ast-taxonomy-container,
body.blog .ast-row > article .ast-taxonomy-container {
  font-size: var(--text-eyebrow);
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  margin-block-start: var(--space-sm);
  text-transform: uppercase;
}

body.search .ast-row > article .entry-meta,
body.archive .ast-row > article .entry-meta,
body.blog .ast-row > article .entry-meta {
  color: var(--color-muted);
  font-size: var(--text-xs);
}

body.search .ast-row > article .ast-excerpt-container,
body.archive .ast-row > article .ast-excerpt-container,
body.blog .ast-row > article .ast-excerpt-container {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.55;
  padding: var(--space-2xs) var(--space-md) 0;
}

body.search .ast-row > article .ast-read-more-container,
body.archive .ast-row > article .ast-read-more-container,
body.blog .ast-row > article .ast-read-more-container {
  margin-block-start: auto;
  padding: var(--space-sm) var(--space-md) var(--space-md);
}

body.search .ast-row > article .ast-read-more-container a,
body.archive .ast-row > article .ast-read-more-container a,
body.blog .ast-row > article .ast-read-more-container a {
  color: var(--color-accent-deep);
  font-size: var(--text-sm);
  font-weight: 650;
}
/* ---------------------------------------------------------- account */

.woocommerce-account .woocommerce {
  display: grid;
  gap: var(--space-xl);
  grid-template-columns: minmax(0, 1fr);
}

.woocommerce-account .woocommerce > * {
  max-width: none;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword {
  background: var(--color-paper-2);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  padding: clamp(var(--space-md), 3vw, var(--space-xl));
}

.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row {
  padding: 0;
}

.woocommerce-account .woocommerce-form-login .button,
.woocommerce-account .woocommerce-form-register .button {
  width: 100%;
}

.woocommerce-account .u-column1.col-1,
.woocommerce-account .u-column2.col-2 {
  float: none;
  width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  list-style: none;
  margin: 0 0 var(--space-lg);
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  max-width: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-pill);
  color: var(--color-ink);
  display: inline-flex;
  font-size: var(--text-sm);
  font-weight: 600;
  padding: var(--space-xs) var(--space-md);
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-accent-ink);
}

.woocommerce-account .woocommerce-MyAccount-content {
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  padding: clamp(var(--space-md), 3vw, var(--space-xl));
}

@media (min-width: 48rem) {
  /* auto-fit keeps a single form full width and puts login + register side by side. */
  .woocommerce-account .woocommerce {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  }

  .woocommerce-account.logged-in .woocommerce {
    grid-template-columns: minmax(14rem, 0.3fr) minmax(0, 1fr);
  }
}

/* ------------------------------------------------------------- 404 */

.error404 .site-main {
  padding-block: clamp(3rem, 8vw, 6rem);
}

.error404 .page-content > p:first-child,
.error404 .entry-title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  max-width: 24ch;
}

.error404 .page-content p {
  color: var(--color-muted);
  max-width: 52ch;
}

.error404 .page-content a {
  color: var(--color-accent-deep);
  font-weight: 650;
}

/* -------------------------------------------------- single post body */

.single-post .entry-content > * {
  max-width: 46rem;
}

.single-post .entry-content h2 {
  border-block-start: var(--rule-hair) solid var(--color-rule);
  font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2rem);
  letter-spacing: -0.025em;
  margin: clamp(2.5rem, 5vw, 3rem) 0 var(--space-sm);
  padding-block-start: var(--space-lg);
}

.single-post .entry-content p,
.single-post .entry-content li {
  line-height: 1.7;
}

.single-post .entry-title {
  font-size: clamp(1.875rem, 1.2rem + 2.4vw, 3rem);
  letter-spacing: -0.035em;
  line-height: 1.06;
  max-width: 28ch;
}

/* Astra prints the archive heading twice around the search summary box. */
.search .ast-archive-description .ast-archive-title {
  font-size: var(--text-sm);
  margin: 0;
}

/* Astra links every result meta in its global blue; keep them on the palette. */
body.search .ast-row > article a,
body.archive .ast-row > article a,
body.blog .ast-row > article a {
  color: var(--color-accent-deep);
}

body.search .ast-row > article .entry-title a,
body.archive .ast-row > article .entry-title a,
body.blog .ast-row > article .entry-title a {
  color: var(--color-ink);
}

body.search .ast-archive-description .ast-breadcrumbs,
body.archive .ast-archive-description .ast-breadcrumbs,
body.blog .ast-archive-description .ast-breadcrumbs {
  color: var(--color-muted);
  font-size: var(--text-xs);
  margin-block-start: var(--space-xs);
  text-align: start;
}

body.search .ast-archive-description .ast-breadcrumbs a,
body.archive .ast-archive-description .ast-breadcrumbs a,
body.blog .ast-archive-description .ast-breadcrumbs a {
  color: var(--color-muted);
}

/* Search cards line up: the snippet is the content, so the thumbnails are
   dropped and every card starts at the same height. */
body.search .site-main article .post-thumb {
  display: none;
}

body.search .site-main article {
  min-height: 16rem;
  padding-block-start: var(--space-xs);
}

body.search .site-main article .ast-blog-single-element:first-of-type {
  margin-block-start: var(--space-sm);
}

/* Inside the editorial frame the account templates are a single column. */
body.patbuddy-editorial-page.woocommerce-account .woocommerce,
body.patbuddy-editorial-page.woocommerce-account .woocommerce .u-columns,
body.patbuddy-editorial-page.woocommerce-account .woocommerce .col2-set {
  display: block;
}

body.patbuddy-editorial-page.woocommerce-account .woocommerce .col-1,
body.patbuddy-editorial-page.woocommerce-account .woocommerce .col-2 {
  float: none;
  margin-block-end: var(--space-lg);
  max-width: 30rem;
  width: 100%;
}

body.patbuddy-editorial-page.woocommerce-account .woocommerce h2 {
  border: 0;
  margin-block: 0 var(--space-sm);
  padding: 0;
}

/*
 * Astra's dynamic CSS paints the archive cards white and links the meta in its
 * global blue after every theme file has loaded. These two declarations carry
 * !important for that reason and are scoped to the result/archive cards only.
 */
body.search .ast-row > article,
body.archive .ast-row > article,
body.blog .ast-row > article {
  background: var(--color-paper) !important;
  border-color: var(--color-rule) !important;
}

body.search .ast-row > article a,
body.archive .ast-row > article a,
body.blog .ast-row > article a {
  color: var(--color-accent-deep) !important;
}

body.search .ast-row > article .entry-title a,
body.archive .ast-row > article .entry-title a,
body.blog .ast-row > article .entry-title a {
  color: var(--color-ink) !important;
}

/* Astra paints an inner wrapper white and colours the meta line, not only the
   anchors. Both are reset here for the result and archive cards. */
body.search .ast-row > article > div,
body.archive .ast-row > article > div,
body.blog .ast-row > article > div {
  background: transparent !important;
}

body.search .ast-row > article .ast-taxonomy-container,
body.search .ast-row > article .ast-taxonomy-container *,
body.archive .ast-row > article .ast-taxonomy-container,
body.archive .ast-row > article .ast-taxonomy-container *,
body.blog .ast-row > article .ast-taxonomy-container,
body.blog .ast-row > article .ast-taxonomy-container * {
  color: var(--color-accent-deep) !important;
  font-size: var(--text-eyebrow) !important;
  font-weight: 700 !important;
  letter-spacing: var(--tracking-eyebrow) !important;
  text-transform: uppercase;
}

body.search .ast-row > article .entry-meta,
body.search .ast-row > article .entry-meta *,
body.archive .ast-row > article .entry-meta,
body.archive .ast-row > article .entry-meta *,
body.blog .ast-row > article .entry-meta,
body.blog .ast-row > article .entry-meta * {
  color: var(--color-muted) !important;
  font-size: var(--text-xs) !important;
}
