/* ============================================================
   Neighborhood page — section CSS (NEW sections only).
   Shared components (nav, header, content-image, banner,
   footer-form, footer, animation layer) live in sections.css.
   Pairs with tokens.css.
   ============================================================ */

/* ---------- utility ---------- */
.text-center { text-align: center; }

/* ---------- SECTION: compact-content (intro) ---------- */
.compact-content-section { padding: var(--y-gap) var(--x-gap); }
.compact-content-section .content { max-width: 800px; margin-inline: auto; }
.compact-content-section .basic-content__content-wrapper p:last-child { margin-bottom: 0; }

/* ---------- SECTION: locations (map) ---------- */
.locations-section { padding: 0; }
.locations-section:last-child { margin-bottom: 0; }
section.content-image + .locations-section { margin-top: calc(var(--y-gap) * -1); }
.locations-section__map { width: 100%; overflow: hidden; }
.locations-section__map #map,
.locations-section__map iframe {
  display: block;
  aspect-ratio: 23 / 9;
  max-height: 800px;
  min-height: 400px;
  width: 100%;
  border: 0;
}

/* ---------- SECTION: faqs + accordion ---------- */
.faqs-section { padding: var(--y-gap) var(--x-gap); }
.faqs-section .basic-content { margin-bottom: 1.5rem; }

.accordion { max-width: 1000px; }
.accordion-item__inner {
  border-bottom: 1px solid #00000030;
  margin-bottom: 1rem;
  --spacing: calc(var(--x-gap) * 2);
  margin-left: var(--spacing);
}
.accordion-item--open .accordion-item__inner { border-bottom: none; }

.accordion-item__title {
  --h2: 27;
  --heading: var(--h2);
  font-weight: var(--font-weight-body);
  text-transform: capitalize;
  margin: 0 0 .5rem;
}
.accordion-item__button {
  position: relative;
  display: block;
  width: 100%;
  padding: .5rem 0;
  margin: 0;
  border: 0;
  background: none;
  text-align: left;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  cursor: pointer;
}
.accordion-item__button:before {
  position: absolute;
  top: .8em;
  left: calc(-1 * var(--spacing));
  content: '';
  display: inline-block;
  width: 12px; height: 12px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"/></svg>') no-repeat center center;
  background-size: contain;
  transform: rotate(0deg);
  transition: transform .15s ease;
}
.accordion-item--open .accordion-item__button:before { transform: rotate(45deg); }

.accordion-item__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}
.accordion-item__content > :first-child { margin-top: 0; }
.accordion-item__content p:last-child { margin-bottom: 1rem; }
.accordion-item__content a { color: var(--color-secondary); }

@media (min-width: 992px) {
  .accordion-item__title { --h2: 21; margin-bottom: .75rem; }
  .accordion-item__button { padding: .75rem 0; }
  .accordion-item__button:before { width: 18px; height: 18px; }
}
