/**
 * acf-featured-blog-section — featured blog grid + local split hero (Figma 7230:3703, 7230:4803).
 */

.acf-featured-blog-section {
  position: relative;
  overflow: hidden;
}

.acf-featured-blog-section:not([class*="bpa-local-grass-color--"]) {
  background-color: var(--color-off-white);
}

.acf-featured-blog-section.alignfull,
.acf-featured-blog-section.alignwide {
  inline-size: 100%;
  max-inline-size: none;
  margin-inline: 0;
}

.acf-featured-blog-section__wave {
  display: block;
  line-height: 0;
}

.acf-featured-blog-section__wave--top {
  margin-inline: 0;
  inline-size: 100%;
}

.acf-featured-blog-section__wave--top svg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  min-block-size: 50px; /* styleguide-exception: wave decorative min */
  transform: scaleY(-1);
}

.acf-featured-blog-section__body {
  position: relative;
  padding-inline: var(--block-pad-inline);
  overflow: hidden;
  background-color: inherit;
}

.acf-featured-blog-section:not([class*="bpa-local-grass-color--"]) .acf-featured-blog-section__body {
  background-color: var(--color-off-white);
}

.acf-featured-blog-section__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  padding-inline: 0;
  padding-block: var(--space-2xl);
}

.acf-featured-blog-section--has-top-wave .acf-featured-blog-section__inner {
  padding-block-start: var(--space-2xl);
}

.acf-featured-blog-section--has-bottom-wave .acf-featured-blog-section__inner {
  padding-block-end: var(--space-2xl);
}

.acf-featured-blog-section--has-top-wave.acf-featured-blog-section--has-bottom-wave .acf-featured-blog-section__inner {
  padding-block: var(--space-2xl);
}

.acf-featured-blog-section__wave--bottom {
  margin-inline: calc(-1 * var(--block-pad-inline));
  inline-size: calc(100% + (2 * var(--block-pad-inline)));
}

.acf-featured-blog-section__wave--bottom svg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  min-block-size: 50px; /* styleguide-exception: wave decorative min */
  transform: scaleY(-1);
}

.acf-featured-blog-section:has(> .bpa-local-grass-divider):not(.acf-featured-blog-section--has-bottom-wave) .acf-featured-blog-section__body {
  padding-block-end: var(--space-xl);
}

.acf-featured-blog-section--has-bottom-wave:has(> .bpa-local-grass-divider) > .bpa-local-grass-divider {
  margin-block-start: 0;
}

/* Header — centered serif title + intro (Figma Frame 44). */
.acf-featured-blog-section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  text-align: center;
}

.acf-featured-blog-section h2.acf-featured-blog-section__heading {
  margin: 0;
  max-inline-size: 48rem; /* styleguide-exception: Figma heading max ~768px */
  text-align: center;
  color: var(--color-brand-forest);
}

.acf-featured-blog-section__intro {
  max-inline-size: 60.375rem; /* styleguide-exception: Figma intro max ~966px */
  font-weight: var(--font-weight-medium);
  color: var(--color-dark);
}

.acf-featured-blog-section__intro p {
  margin: 0;
}

/* 3-column post grid (Figma Frame 1707478673). */
.acf-featured-blog-section__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--featured-blog-grid-gap, var(--spacing-12));
  inline-size: 100%;
}

.acf-featured-blog-section__card {
  display: flex;
  flex-direction: column;
  /* Stretch to the tallest card in the row so CTAs can pin to the bottom. */
  block-size: 100%;
  gap: var(--featured-blog-card-gap, var(--spacing-6));
  padding: var(--featured-blog-card-pad, var(--spacing-6));
  box-sizing: border-box;
  border: var(--border-card-accent, var(--border-width-card-accent, 2px) solid var(--color-franchise-green-bright));
  border-radius: var(--radius-leaf-lg);
  overflow: hidden;
  background-color: var(--color-off-white);
}

.acf-featured-blog-section__card-media {
  overflow: hidden;
  border-radius: var(--radius-leaf-sm);
  background-color: var(--color-placeholder-bg);
  aspect-ratio: var(--featured-blog-card-media-aspect, 347 / 211);
  line-height: 0;
}

.acf-featured-blog-section__card-media picture,
.acf-featured-blog-section__card-media img,
.acf-featured-blog-section__card-img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.acf-featured-blog-section__card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 auto;
  text-align: left;
}

.acf-featured-blog-section__card-date {
  margin: 0;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-normal);
  color: var(--color-dark);
}

.acf-featured-blog-section__card-date + .acf-featured-blog-section__card-title {
  margin-block-start: var(--featured-blog-card-copy-gap, var(--spacing-2));
}

/* Beat .entry-content h3 (32px) — Figma H5 20px / forest. */
.acf-featured-blog-section .acf-featured-blog-section__card-title,
.acf-featured-blog-section h3.acf-featured-blog-section__card-title,
.entry-content .acf-featured-blog-section h3.acf-featured-blog-section__card-title,
.wp-block-post-content .acf-featured-blog-section h3.acf-featured-blog-section__card-title {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: var(--font-size-h5);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-snug);
  color: var(--color-brand-forest);
}

.acf-featured-blog-section__card-title + .acf-featured-blog-section__card-text {
  margin-block-start: var(--featured-blog-card-title-gap, var(--spacing-4));
}

.acf-featured-blog-section__card-text {
  margin: 0;
  color: var(--color-dark);
  font-weight: var(--font-weight-normal);
}

.acf-featured-blog-section__card-text p {
  margin: 0;
}

/* Pin the CTA to the card bottom so all three links line up. */
.acf-featured-blog-section__card-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  max-inline-size: 100%;
  margin-block-start: auto;
  padding-block-start: var(--featured-blog-card-body-gap, var(--spacing-8));
  border-radius: var(--radius-button);
  color: var(--color-brand-forest);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-normal);
  text-decoration: none;
}

.acf-featured-blog-section__card-link-label {
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-color: var(--color-brand-green-alt);
}

.acf-featured-blog-section__card-link-icon {
  inline-size: 14px;
  block-size: 14px;
  flex-shrink: 0;
  color: var(--color-brand-green);
}

/* Dark band — light copy when section background is a dark token. */
.acf-featured-blog-section--dark-band {
  color: var(--color-light);
}

.acf-featured-blog-section--dark-band h2.acf-featured-blog-section__heading,
.acf-featured-blog-section--dark-band .acf-featured-blog-section__intro,
.acf-featured-blog-section--dark-band .acf-featured-blog-section__card-date,
.acf-featured-blog-section--dark-band .acf-featured-blog-section__card-title,
.acf-featured-blog-section--dark-band .acf-featured-blog-section__card-text {
  color: var(--color-light);
}

.acf-featured-blog-section--dark-band .acf-featured-blog-section__card {
  background-color: var(--color-light);
}

.acf-featured-blog-section--dark-band .acf-featured-blog-section__card-date,
.acf-featured-blog-section--dark-band .acf-featured-blog-section__card-title,
.acf-featured-blog-section--dark-band .acf-featured-blog-section__card-text {
  color: var(--color-dark);
}

/* Handoff: white section above → blog top wave (future Certified / 149 /). */
.acf-about-us-guarantees-section--has-bottom-wave + .acf-featured-blog-section.acf-featured-blog-section--has-top-wave .acf-featured-blog-section__wave--top,
.wp-block-acf-acf-about-us-guarantees-section:has(.acf-about-us-guarantees-section--has-bottom-wave) + .wp-block-acf-acf-featured-blog-section .acf-featured-blog-section--has-top-wave .acf-featured-blog-section__wave--top {
  display: none;
}

.acf-about-us-guarantees-section--has-bottom-wave + .acf-featured-blog-section.acf-featured-blog-section--has-top-wave,
.wp-block-acf-acf-about-us-guarantees-section:has(.acf-about-us-guarantees-section--has-bottom-wave) + .wp-block-acf-acf-featured-blog-section .acf-featured-blog-section--has-top-wave {
  margin-block-start: -4px; /* styleguide-exception: flush wave handoff */
}

/* Flush handoff from any local block grass → this section. */
section:has(> .bpa-local-grass-divider) + .acf-featured-blog-section,
.wp-block[class*="wp-block-acf-acf-"]:has(.bpa-local-grass-divider) + .wp-block-acf-acf-featured-blog-section .acf-featured-blog-section {
  margin-block-start: -4px; /* styleguide-exception: seam cover */
  position: relative;
  z-index: 1;
}

.wp-block[class*="wp-block-acf-acf-"]:has(.bpa-local-grass-divider) + .wp-block-acf-acf-featured-blog-section {
  margin-block-start: 0 !important;
}

.wp-block[class*="wp-block-acf-acf-"]:has(.bpa-local-grass-divider):has(+ .wp-block-acf-acf-featured-blog-section) .bpa-local-grass-divider__img,
section:has(+ .acf-featured-blog-section) > .bpa-local-grass-divider .bpa-local-grass-divider__img {
  margin-block-end: -4px; /* styleguide-exception: seam cover */
}

@media (min-width: 1024px) {
  .acf-featured-blog-section__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .acf-featured-blog-section__body {
    padding-inline: var(--space-sm);
  }

  .acf-featured-blog-section__inner {
    padding-block: var(--space-xl);
    gap: var(--space-lg);
  }

  .acf-featured-blog-section--has-top-wave .acf-featured-blog-section__inner {
    padding-block-start: var(--space-xl);
  }

  .acf-featured-blog-section--has-bottom-wave .acf-featured-blog-section__inner {
    padding-block-end: var(--space-xl);
  }

  .acf-featured-blog-section__wave--bottom {
    margin-inline: calc(-1 * var(--space-sm));
    inline-size: calc(100% + (2 * var(--space-sm)));
  }

  section:has(> .bpa-local-grass-divider) + .acf-featured-blog-section,
  .wp-block[class*="wp-block-acf-acf-"]:has(.bpa-local-grass-divider) + .wp-block-acf-acf-featured-blog-section .acf-featured-blog-section {
    margin-block-start: -6px; /* styleguide-exception: tighter mobile grass seam */
  }

  section:has(+ .acf-featured-blog-section) > .bpa-local-grass-divider .bpa-local-grass-divider__img,
  .wp-block[class*="wp-block-acf-acf-"]:has(.bpa-local-grass-divider):has(+ .wp-block-acf-acf-featured-blog-section) .bpa-local-grass-divider__img {
    margin-block-end: -6px; /* styleguide-exception: tighter mobile grass seam */
  }
}

/* Split layout — Figma Layout / Featured blog / Section (7230:4803). */
.acf-featured-blog-section--layout-split .acf-featured-blog-section__inner {
  gap: 0;
  padding-block: 6.25rem; /* styleguide-exception: Figma spacing-25 (100px) */
}

.acf-featured-blog-section--layout-split .acf-featured-blog-section__header {
  display: none;
}

.acf-featured-blog-section--layout-split .acf-featured-blog-section__split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--spacing-12);
  align-items: start;
  inline-size: 100%;
}

.acf-featured-blog-section__split-media {
  display: block;
  overflow: hidden;
  line-height: 0;
  min-block-size: 16rem; /* styleguide-exception: mobile featured image min */
  border-radius: var(--radius-leaf-lg);
  text-decoration: none;
}

.acf-featured-blog-section__split-media picture,
.acf-featured-blog-section__split-media img,
.acf-featured-blog-section__split-img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: 16rem;
  object-fit: cover;
  border-radius: inherit;
}

.entry-content .acf-featured-blog-section__split-media,
.wp-block-post-content .acf-featured-blog-section__split-media {
  border-radius: var(--radius-leaf-lg);
}

.acf-featured-blog-section__split-copy {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12); /* styleguide-exception: Figma 48px pill → copy */
  align-items: flex-start;
  justify-content: flex-start;
}

/* Category pill — global rules in assets/css/base/site.css (.bpa-blog-category-pill). */

.acf-featured-blog-section__split-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-6); /* styleguide-exception: Figma 24px title → excerpt */
  inline-size: 100%;
}

.acf-featured-blog-section .acf-featured-blog-section__split-title,
.acf-featured-blog-section h2.acf-featured-blog-section__split-title,
.entry-content .acf-featured-blog-section h2.acf-featured-blog-section__split-title,
.wp-block-post-content .acf-featured-blog-section h2.acf-featured-blog-section__split-title {
  margin: 0;
  font-family: var(--font-family-serif);
  font-size: var(--font-size-h2-display);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  letter-spacing: 0;
  color: var(--color-brand-forest);
}

.acf-featured-blog-section__split-title a,
.entry-content .acf-featured-blog-section__split-title a,
.wp-block-post-content .acf-featured-blog-section__split-title a {
  font: inherit;
  color: inherit;
  text-decoration: none;
}

.acf-featured-blog-section__split-title a:hover,
.acf-featured-blog-section__split-title a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* Figma body — Roboto Regular 16px / 150%. */
.acf-featured-blog-section__split-excerpt,
.entry-content .acf-featured-blog-section__split-excerpt,
.wp-block-post-content .acf-featured-blog-section__split-excerpt {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  letter-spacing: 0;
  color: var(--color-dark);
}

.acf-featured-blog-section__split-read-time {
  margin: var(--spacing-6) 0 0; /* styleguide-exception: Figma 48px excerpt → read time */
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: rgb(0 0 0 / 30%);
}

@media (min-width: 1024px) {
  .acf-featured-blog-section--layout-split .acf-featured-blog-section__split {
    grid-template-columns: minmax(0, 593fr) minmax(0, 639fr);
    gap: 3rem; /* styleguide-exception: Figma ~48px column gap */
  }

  .acf-featured-blog-section__split-media,
  .acf-featured-blog-section__split-media picture,
  .acf-featured-blog-section__split-media img,
  .acf-featured-blog-section__split-img {
    min-block-size: 26.4375rem; /* styleguide-exception: Figma 423px image height */
  }
}

/* Handoff: split featured band grass → blog section below. */
.acf-featured-blog-section--layout-split:has(> .bpa-local-grass-divider) + .acf-blog-section,
.wp-block-acf-acf-featured-blog-section:has(.acf-featured-blog-section--layout-split > .bpa-local-grass-divider) + .wp-block-acf-acf-blog-section .acf-blog-section {
  margin-block-start: -4px; /* styleguide-exception: grass seam cover */
  position: relative;
  z-index: 1;
}

.acf-featured-blog-section--layout-split:has(> .bpa-local-grass-divider) + .acf-blog-section.acf-blog-section--has-top-wave .acf-blog-section__wave--top,
.wp-block-acf-acf-featured-blog-section:has(.acf-featured-blog-section--layout-split > .bpa-local-grass-divider) + .wp-block-acf-acf-blog-section .acf-blog-section--has-top-wave .acf-blog-section__wave--top {
  display: none;
}

@media (max-width: 639px) {
  .acf-featured-blog-section--layout-split .acf-featured-blog-section__inner {
    padding-block: var(--space-xl);
  }

  .acf-featured-blog-section--layout-split:has(> .bpa-local-grass-divider) + .acf-blog-section,
  .wp-block-acf-acf-featured-blog-section:has(.acf-featured-blog-section--layout-split > .bpa-local-grass-divider) + .wp-block-acf-acf-blog-section .acf-blog-section {
    margin-block-start: -6px; /* styleguide-exception: tighter mobile grass seam */
  }
}
