/**
 * acf-locations-browse-by-state-section — Figma 7230:5174.
 * Spacing, type, and sizes: var(--locations-browse-*) in tokens.css.
 */

.acf-locations-browse-by-state-section {
  position: relative;
  overflow: hidden;
}

.acf-locations-browse-by-state-section[class*="bpa-local-grass-color--"] {
  background-color: inherit;
}

.acf-locations-browse-by-state-section.bpa-local-grass-color--off-white {
  background-color: var(--color-off-white);
}

.acf-locations-browse-by-state-section.bpa-local-grass-color--white {
  background-color: var(--color-light);
}

.acf-locations-browse-by-state-section.bpa-local-grass-color--franchise-green {
  background-color: var(--color-franchise-green);
}

.acf-locations-map--layout-local + .acf-locations-browse-by-state-section {
  margin-block-start: -4px;
}

.acf-locations-browse-by-state-section__body {
  position: relative;
  padding-block: var(--locations-browse-pad-block);
  padding-inline: var(--block-pad-inline);
  overflow: hidden;
  background-color: inherit;
}

.acf-locations-browse-by-state-section:has(> .bpa-local-grass-divider):not(.acf-locations-browse-by-state-section--has-bottom-wave) .acf-locations-browse-by-state-section__body {
  padding-block-end: var(--space-xl);
}

.acf-locations-browse-by-state-section__wave {
  display: block;
  line-height: 0;
}

.acf-locations-browse-by-state-section__wave--top {
  margin-inline: 0;
  inline-size: 100%;
}

.acf-locations-browse-by-state-section__wave--top svg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  min-block-size: 50px; /* styleguide-exception: wave decorative min */
}

.acf-locations-browse-by-state-section__wave--bottom {
  margin-inline: calc(-1 * var(--block-pad-inline));
  inline-size: calc(100% + (2 * var(--block-pad-inline)));
}

.acf-locations-browse-by-state-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-locations-browse-by-state-section__container {
  display: flex;
  flex-direction: column;
  gap: var(--locations-browse-section-gap);
  inline-size: 100%;
  max-inline-size: var(--container-main);
  margin-inline: auto;
}

.acf-locations-browse-by-state-section__header {
  display: flex;
  flex-direction: column;
  gap: var(--block-content-gap);
  align-items: center;
  text-align: center;
}

.acf-locations-browse-by-state-section h2.acf-locations-browse-by-state-section__heading {
  margin: 0;
  color: var(--color-brand-forest);
}

.acf-locations-browse-by-state-section__sub-heading {
  max-inline-size: var(--locations-browse-subheading-max-width);
  margin: 0;
  color: var(--color-dark);
}

.acf-locations-browse-by-state-section__sub-heading p {
  margin: 0;
}

.acf-locations-browse-by-state-section__accordion {
  display: flex;
  flex-direction: column;
  gap: var(--locations-browse-accordion-gap);
  inline-size: 100%;
}

.acf-locations-browse-by-state-section__state {
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--color-off-white);
}

.acf-locations-browse-by-state-section__state-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--locations-browse-state-trigger-gap);
  min-block-size: var(--locations-browse-state-min-height);
  padding: var(--locations-browse-state-trigger-pad-block) var(--locations-browse-state-trigger-pad-inline);
  font-family: var(--font-family-sans);
  font-size: var(--locations-browse-card-title-size);
  font-weight: var(--locations-browse-card-title-weight);
  line-height: var(--locations-browse-card-title-leading);
  color: var(--color-brand-forest);
  background: var(--color-off-white);
  cursor: pointer;
  list-style: none;
}

.acf-locations-browse-by-state-section__state-trigger::-webkit-details-marker {
  display: none;
}

.acf-locations-browse-by-state-section__state-name {
  flex: 1 1 auto;
  min-inline-size: 0;
}

.acf-locations-browse-by-state-section__state[open] > .acf-locations-browse-by-state-section__state-trigger {
  color: var(--color-light);
  background: var(--color-franchise-green);
}

.acf-locations-browse-by-state-section__state-icon {
  box-sizing: border-box;
  display: inline-flex;
  flex-shrink: 0;
  inline-size: var(--locations-browse-icon-well-size);
  block-size: var(--locations-browse-icon-well-size);
  align-items: center;
  justify-content: center;
  padding: var(--locations-browse-icon-well-pad);
  background: var(--color-light);
  border: var(--locations-browse-icon-well-border);
  border-radius: var(--radius-card);
  line-height: 0;
}

/* Figma arrow graphic — fixed 10×10 inside 26×26 well (not stretched img). */
.acf-locations-browse-by-state-section__state-icon-arrow {
  display: block;
  flex: 0 0 auto;
  inline-size: var(--locations-browse-icon-arrow-size);
  block-size: var(--locations-browse-icon-arrow-size);
  background-repeat: no-repeat;
  background-position: center;
  background-size: var(--locations-browse-icon-arrow-size) var(--locations-browse-icon-arrow-size);
}

.acf-locations-browse-by-state-section__state-icon-arrow--down {
  background-image: var(--locations-browse-icon-down-url);
}

.acf-locations-browse-by-state-section__state-icon-arrow--up {
  display: none;
  background-image: var(--locations-browse-icon-up-url);
}

.acf-locations-browse-by-state-section__state[open] .acf-locations-browse-by-state-section__state-icon-arrow--down {
  display: none;
}

.acf-locations-browse-by-state-section__state[open] .acf-locations-browse-by-state-section__state-icon-arrow--up {
  display: block;
}

.acf-locations-browse-by-state-section__state-panel {
  padding: var(--locations-browse-panel-pad-block-start) var(--locations-browse-panel-pad-inline) var(--locations-browse-panel-pad-block-end);
  background: var(--color-light);
}

.acf-locations-browse-by-state-section__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--locations-browse-grid-gap);
}

@media (min-width: 768px) {
  .acf-locations-browse-by-state-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .acf-locations-browse-by-state-section__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.acf-locations-browse-by-state-section__card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-block-size: var(--locations-browse-card-min-height);
  background: var(--color-off-white);
  border: var(--border-card);
  border-radius: var(--radius-leaf-sm);
  overflow: hidden;
}

.entry-content .acf-locations-browse-by-state-section__card,
.wp-block-post-content .acf-locations-browse-by-state-section__card,
.editor-styles-wrapper .acf-locations-browse-by-state-section__card {
  border-radius: var(--radius-leaf-sm);
}

.acf-locations-browse-by-state-section__card-inner {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--locations-browse-card-inner-gap);
  padding: var(--locations-browse-card-pad);
  min-block-size: 0;
}

.acf-locations-browse-by-state-section__card-content {
  display: flex;
  flex-direction: column;
  gap: var(--locations-browse-card-content-gap);
}

.acf-locations-browse-by-state-section h3.acf-locations-browse-by-state-section__card-title {
  margin: 0;
  font-family: var(--font-family-sans);
  font-size: var(--locations-browse-card-title-size);
  font-weight: var(--locations-browse-card-title-weight);
  line-height: var(--locations-browse-card-title-leading);
  color: var(--color-brand-forest);
}

.acf-locations-browse-by-state-section__card-address {
  margin: 0;
  font-family: var(--font-family-sans);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  color: var(--color-dark);
}

.acf-locations-browse-by-state-section__card-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--locations-browse-card-content-gap);
  min-block-size: var(--locations-browse-card-footer-min-height);
  margin-block-start: auto;
}

.acf-locations-browse-by-state-section__card-link {
  font-family: var(--font-family-sans);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-normal);
  color: var(--color-dark);
  text-decoration: none;
}

.acf-locations-browse-by-state-section__card-link--schedule {
  color: var(--color-dark);
  text-decoration: underline;
}

.acf-locations-browse-by-state-section__card-link--phone:hover,
.acf-locations-browse-by-state-section__card-link--phone:focus-visible {
  text-decoration: underline;
}

.acf-locations-browse-by-state-section__card-link--schedule:hover,
.acf-locations-browse-by-state-section__card-link--schedule:focus-visible {
  text-decoration: underline;
}

.acf-locations-browse-by-state-section__card-cta.bpa-button {
  flex-shrink: 0;
  margin-inline-start: auto;
}

.acf-locations-browse-by-state-section:has(> .bpa-local-grass-divider) + .acf-locations-cta-section {
  margin-block-start: -4px;
}

.acf-locations-browse-by-state-section:has(> .bpa-local-grass-divider) + .acf-locations-cta-section.acf-locations-cta-section--has-top-wave .acf-locations-cta-section__wave--top {
  display: none;
}

.acf-locations-browse-by-state-section > .bpa-local-grass-divider .bpa-local-grass-divider__img {
  margin-block-end: -4px;
}

.acf-locations-browse-by-state-section__empty {
  margin: 0;
  padding: var(--space-md);
  font-size: var(--font-size-base);
  color: var(--color-muted-text);
  background: var(--color-light);
  border: var(--border-card-accent);
  border-radius: var(--radius-leaf-sm);
}

@media (max-width: 767px) {
  .acf-locations-browse-by-state-section > .bpa-local-grass-divider .bpa-local-grass-divider__img {
    margin-block-end: -6px;
  }
}
