/**
 * acf-local-trust-logos-section — memberships + awards trust logos (Html-css-components/trust-logos).
 */

.acf-local-trust-logos-section--layout-memberships_awards {
  /* Overlap perks wave fringe — py-section on same node needs longhand override below. */
  margin-block-start: -6px;
  padding-block-start: calc(var(--block-pad-block) + 6px);
  padding-block-end: var(--block-pad-block);
  padding-inline: var(--block-pad-inline);
}

/* Beat .py-section { padding-block } when memberships_awards follows perks wave handoff. */
.acf-local-trust-logos-section--layout-memberships_awards.py-section {
  padding-block-start: calc(var(--block-pad-block) + 6px);
  padding-block-end: var(--block-pad-block);
}

.acf-local-trust-logos-section--layout-memberships_awards.acf-local-trust-logos-section--bg-off-white {
  /* Handoff toward FAQ section below. */
  margin-block-end: -1px;
}

.acf-local-trust-logos-section.alignfull,
.acf-local-trust-logos-section.alignwide {
  inline-size: 100%;
  max-inline-size: none;
  margin-inline: 0;
}

.acf-local-trust-logos-section__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-inline: 0;
}

.acf-local-trust-logos-section__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  align-items: center;
  inline-size: 100%;
}

.acf-local-trust-logos-section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  inline-size: 100%;
  text-align: center;
}

/* Beat .entry-content h2 from reset.css */
.acf-local-trust-logos-section--layout-memberships_awards h2.acf-local-trust-logos-section__heading {
  margin: 0;
  inline-size: 100%;
  max-inline-size: none;
  font-family: var(--font-family-serif);
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  color: var(--color-brand-forest);
}

.acf-local-trust-logos-section--layout-memberships_awards .acf-local-trust-logos-section__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xl);
  inline-size: 100%;
}

.acf-local-trust-logos-section__groups {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
  inline-size: 100%;
}

.acf-local-trust-logos-section__group {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-xl);
  inline-size: max-content;
  max-inline-size: 100%;
  padding-block: var(--space-xs);
}

.acf-local-trust-logos-section__label {
  flex: 0 0 auto;
  font-family: var(--font-family-serif);
  font-size: 22px; /* styleguide-exception: italic group label */
  font-style: italic;
  font-weight: 500;
  line-height: 33px;
  color: var(--color-brand-forest);
  white-space: nowrap;
}

.acf-local-trust-logos-section__carousel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  flex: 0 0 auto;
}

.acf-local-trust-logos-section__viewport {
  flex: 0 0 auto;
  overflow: visible;
}

.acf-local-trust-logos-section__track {
  display: flex;
  align-items: center;
  gap: var(--space-xl);
}

.acf-local-trust-logos-section__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.acf-local-trust-logos-section__slide img {
  display: block;
  inline-size: auto;
  block-size: auto;
  max-inline-size: 100%;
  object-fit: contain; /* Keep manufacturer/partner wordmarks from stretching. */
}

.acf-local-trust-logos-section__group--memberships .acf-local-trust-logos-section__slide img {
  max-block-size: 66px; /* styleguide-exception: membership logo height */
}

.acf-local-trust-logos-section__group--awards .acf-local-trust-logos-section__slide img {
  max-block-size: 90px; /* styleguide-exception: award logo height */
}

.acf-local-trust-logos-section__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 40px; /* styleguide-exception: carousel nav hit area */
  block-size: 40px;
  border: 1px solid var(--color-franchise-green);
  border-radius: var(--radius-button);
  background: transparent;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
  color: var(--color-franchise-green);
}

.acf-local-trust-logos-section__nav img {
  display: block;
  inline-size: 14px; /* styleguide-exception: chevron asset */
  block-size: 14px;
}

.acf-local-trust-logos-section__nav:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.acf-local-trust-logos-section__actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  inline-size: max-content;
  max-inline-size: 100%;
  text-align: center;
}

.acf-local-trust-logos-section__copy {
  margin: 0;
  flex: 0 0 auto;
  max-inline-size: none;
  font-weight: 500;
  color: var(--color-brand-forest);
  text-align: start;
  white-space: nowrap;
}

.acf-local-trust-logos-section__cta {
  flex-shrink: 0;
  gap: var(--space-xs);
  white-space: nowrap;
}

.acf-local-trust-logos-section__cta-icon {
  flex-shrink: 0;
  inline-size: 0.875rem;
  block-size: 0.875rem;
  color: var(--color-brand-green);
}

@media (max-width: 1023px) {
  .acf-local-trust-logos-section__group {
    flex-direction: column;
    align-items: center;
    inline-size: 100%;
    gap: var(--space-xs);
  }

  .acf-local-trust-logos-section__label {
    text-align: center;
  }

  .acf-local-trust-logos-section__carousel {
    inline-size: 100%;
    justify-content: space-between;
  }

  .acf-local-trust-logos-section__viewport {
    flex: 1 1 auto;
    min-inline-size: 0;
    overflow: hidden;
  }

  .acf-local-trust-logos-section__track {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    gap: 0;
  }

  .acf-local-trust-logos-section__track::-webkit-scrollbar {
    display: none;
  }

  .acf-local-trust-logos-section__slide {
    flex: 0 0 100%;
    scroll-snap-align: center;
  }

  .acf-local-trust-logos-section__actions {
    flex-direction: column;
    flex-wrap: wrap;
    inline-size: 100%;
  }

  .acf-local-trust-logos-section__copy {
    max-inline-size: none;
    text-align: center;
    white-space: normal;
  }

  .acf-local-trust-logos-section--layout-memberships_awards h2.acf-local-trust-logos-section__heading {
    white-space: normal;
  }
}

@media (min-width: 1024px) {
  .acf-local-trust-logos-section--layout-memberships_awards,
  .acf-local-perks-section + .acf-local-trust-logos-section.acf-local-trust-logos-section--layout-memberships_awards,
  .wp-block-acf-acf-local-perks-section + .wp-block-acf-acf-local-trust-logos-section .acf-local-trust-logos-section--layout-memberships_awards {
    margin-block-start: -8px;
  }

  .acf-local-trust-logos-section--layout-memberships_awards.py-section,
  .acf-local-perks-section + .acf-local-trust-logos-section.acf-local-trust-logos-section--layout-memberships_awards.py-section {
    padding-block-start: calc(var(--block-pad-block) + 8px);
  }

  .acf-local-trust-logos-section__nav {
    display: none;
  }

  .acf-local-trust-logos-section__carousel {
    gap: var(--space-xl);
  }

  .acf-local-trust-logos-section__track {
    flex-wrap: nowrap;
    gap: var(--space-xl);
  }
}

@media (max-width: 640px) {
  .acf-local-trust-logos-section--layout-memberships_awards {
    padding-inline: var(--space-sm);
  }

  .acf-local-perks-section + .acf-local-trust-logos-section.acf-local-trust-logos-section--layout-memberships_awards,
  .wp-block-acf-acf-local-perks-section + .wp-block-acf-acf-local-trust-logos-section .acf-local-trust-logos-section--layout-memberships_awards {
    margin-block-start: -8px;
  }

  .acf-local-perks-section:has(+ .acf-local-trust-logos-section) .acf-local-perks-section__wave,
  .wp-block-acf-acf-local-perks-section:has(+ .wp-block-acf-acf-local-trust-logos-section) .acf-local-perks-section__wave {
    margin-block-end: -2px; /* styleguide-exception: cover wave fringe on phones */
  }

  .acf-local-trust-logos-section--layout-memberships_awards.py-section,
  .acf-local-perks-section + .acf-local-trust-logos-section.acf-local-trust-logos-section--layout-memberships_awards.py-section {
    padding-block-start: calc(var(--block-pad-block) + 8px);
  }

  .acf-local-trust-logos-section--layout-memberships_awards .acf-local-trust-logos-section__actions {
    gap: var(--space-sm);
  }
}

/* --- Layout 149 — manufacturer logo strip (Figma 7270:4695) --- */
.acf-local-trust-logos-section--layout-layout_149 {
  position: relative;
  overflow: hidden;
  margin-block-start: 0;
  padding-block: 0;
  padding-inline: 0;
}

.acf-local-trust-logos-section--layout-layout_149:not([class*="bpa-local-grass-color--"]) {
  background-color: var(--color-light);
}

.acf-local-trust-logos-section--layout-layout_149.alignfull,
.acf-local-trust-logos-section--layout-layout_149.alignwide {
  inline-size: 100%;
  max-inline-size: none;
  margin-inline: 0;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__body {
  position: relative;
  padding-inline: var(--block-pad-inline);
  overflow: hidden;
  background-color: inherit;
}

.acf-local-trust-logos-section--layout-layout_149:not([class*="bpa-local-grass-color--"]) .acf-local-trust-logos-section__body {
  background-color: var(--color-light);
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__container {
  padding-block: var(--block-pad-block);
  padding-inline: 0;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__content--layout-149 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xl);
  inline-size: 100%;
  text-align: center;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__header--layout-149 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  inline-size: 100%;
  max-inline-size: 49.375rem; /* styleguide-exception: Figma intro column ~790px */
}

.acf-local-trust-logos-section--layout-layout_149 h2.acf-local-trust-logos-section__heading--layout-149,
.entry-content .acf-local-trust-logos-section--layout-layout_149 h2.acf-local-trust-logos-section__heading--layout-149,
.wp-block-post-content .acf-local-trust-logos-section--layout-layout_149 h2.acf-local-trust-logos-section__heading--layout-149 {
  margin: 0;
  inline-size: 100%;
  max-inline-size: none;
  font-family: var(--font-family-serif);
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  text-align: center;
  white-space: normal;
  color: var(--color-brand-forest);
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__intro {
  margin: 0;
  inline-size: 100%;
  color: var(--color-black);
  font-weight: 400;
  text-align: center;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__intro p {
  margin: 0;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo-groups {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  inline-size: 100%;
  max-inline-size: 77.5rem; /* styleguide-exception: Figma logos row ~1240px */
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xl);
  inline-size: 100%;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo-row-label {
  /* Keep Certifications / Brand Partners on one line, like the Memberships/Awards labels. */
  flex: 0 0 auto;
  min-inline-size: 12rem; /* styleguide-exception: row label column wide enough for Brand Partners */
  font-family: var(--font-family-serif);
  font-size: 22px; /* styleguide-exception: same italic group label as Memberships/Awards */
  font-style: italic;
  font-weight: 500;
  line-height: 33px;
  text-align: start;
  white-space: nowrap;
  color: var(--color-brand-forest);
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo-row--plain {
  justify-content: center;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-xl);
  flex: 1 1 auto;
  min-inline-size: 0;
  min-block-size: 6rem; /* styleguide-exception: Figma logos frame 96px */
  padding-block: var(--space-xs);
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo-row--plain .acf-local-trust-logos-section__logos {
  justify-content: center;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo-img {
  display: block;
  inline-size: auto;
  block-size: auto;
  max-inline-size: 100%;
  max-block-size: 5rem; /* styleguide-exception: Figma tallest logo 80px */
  object-fit: contain;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__footer-line {
  margin: 0;
  inline-size: 100%;
  max-inline-size: 55.6875rem; /* styleguide-exception: Figma footer line ~891px */
  font-weight: 500;
  text-align: center;
  color: var(--color-brand-forest);
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__actions--layout-149 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__button-icon {
  flex-shrink: 0;
  inline-size: 0.875rem;
  block-size: 0.875rem;
  color: var(--color-brand-green);
}

.acf-local-trust-logos-section--layout-layout_149.acf-local-trust-logos-section--dark-band {
  color: var(--color-light);
}

.acf-local-trust-logos-section--layout-layout_149.acf-local-trust-logos-section--dark-band h2.acf-local-trust-logos-section__heading--layout-149,
.acf-local-trust-logos-section--layout-layout_149.acf-local-trust-logos-section--dark-band .acf-local-trust-logos-section__footer-line {
  color: var(--color-light);
}

.acf-local-trust-logos-section--layout-layout_149.acf-local-trust-logos-section--dark-band .acf-local-trust-logos-section__intro {
  color: var(--color-light);
}

/* Waves — Layout 149 band handoffs */
.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__wave {
  display: block;
  line-height: 0;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__wave--top {
  margin-inline: 0;
  inline-size: 100%;
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-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-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__wave--bottom {
  margin-inline: calc(-1 * var(--block-pad-inline));
  inline-size: calc(100% + (2 * var(--block-pad-inline)));
}

.acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-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-local-trust-logos-section--layout-layout_149.acf-local-trust-logos-section--has-bottom-wave .acf-local-trust-logos-section__container {
  padding-block-end: var(--space-xl);
}

.acf-local-trust-logos-section--layout-layout_149:has(> .bpa-local-grass-divider) .acf-local-trust-logos-section__body {
  padding-block-end: var(--space-xl);
}

@media (max-width: 1023px) {
  .acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__body {
    padding-inline: var(--spacing-12);
  }

  .acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__wave--bottom {
    margin-inline: calc(-1 * var(--spacing-12));
    inline-size: calc(100% + (2 * var(--spacing-12)));
  }
}

@media (max-width: 640px) {
  .acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__body {
    padding-inline: var(--space-sm);
  }

  .acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__wave--bottom {
    margin-inline: calc(-1 * var(--space-sm));
    inline-size: calc(100% + (2 * var(--space-sm)));
  }

  .acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo-row {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
  }

  .acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logo-row-label {
    flex-basis: auto;
    text-align: center;
  }

  .acf-local-trust-logos-section--layout-layout_149 .acf-local-trust-logos-section__logos {
    justify-content: center;
    gap: var(--space-md);
  }

  .acf-local-trust-logos-section--layout-layout_149 h2.acf-local-trust-logos-section__heading--layout-149 {
    font-size: var(--font-size-3xl);
  }
}
