/* ==========================================================================
   FAQ accordion (templates: faq/includes/faq_accordion.html)

   Loaded by the include itself, so it looks the same on the FAQ, home and
   service pages. Questions are separate rounded cards: this keeps the
   corners right even when the live search hides some of them.
   ========================================================================== */

.pm-faq-accordion {
  --bs-accordion-bg: var(--pm-white);
  --bs-accordion-color: var(--pm-ink);
  --bs-accordion-border-color: var(--pm-border);
  --bs-accordion-border-radius: var(--pm-radius-sm);
  --bs-accordion-inner-border-radius: var(--pm-radius-sm);
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1.05rem;
  --bs-accordion-btn-color: var(--pm-ink);
  /* Keyboard focus is the solid outline from main.css (drawn inside the button);
     Bootstrap's pale ring would only add a second, weaker indicator on mouse focus. */
  --bs-accordion-btn-focus-box-shadow: none;
  /* The cards are always white, so the outline stays teal even when the
     accordion is placed inside a dark section. */
  --pm-focus-color: var(--pm-primary);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--pm-primary-dark);
  --bs-accordion-active-bg: var(--pm-primary-soft);
  display: grid;
  gap: 0.75rem;
}

/* Every item is a card of its own (Bootstrap joins them by default). */
.pm-faq-accordion .accordion-item,
.pm-faq-accordion .accordion-item:first-of-type,
.pm-faq-accordion .accordion-item:last-of-type,
.pm-faq-accordion .accordion-item:not(:first-of-type) {
  border: 1px solid var(--bs-accordion-border-color);
  border-radius: var(--bs-accordion-border-radius);
  overflow: hidden;
  box-shadow: var(--pm-shadow-sm);
  transition: box-shadow var(--pm-transition), border-color var(--pm-transition);
}
.pm-faq-accordion .accordion-item:hover { border-color: var(--pm-primary-light); }
.pm-faq-accordion .accordion-item:has(.accordion-collapse.show) {
  border-color: var(--pm-primary-light);
  box-shadow: var(--pm-shadow);
}

.pm-faq-accordion .accordion-header { margin: 0; font-size: 1.05rem; }
.pm-faq-accordion .accordion-button,
.pm-faq-accordion .accordion-item:first-of-type > .accordion-header .accordion-button,
.pm-faq-accordion .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
  font-size: inherit;
  font-weight: 600;
  line-height: 1.4;
  gap: 1rem;
}
.pm-faq-accordion .accordion-button:not(.collapsed) { box-shadow: none; }

.pm-faq-answer {
  color: var(--pm-ink);
  line-height: 1.7;
}
.pm-faq-answer p:last-child { margin-bottom: 0; }
