/* Section 10 — FAQ accordion */
.ap-faq__list { display: grid; gap: 1rem; margin-top: 1rem; }
.ap-faq__item {
  background: #fff; border: 1px solid var(--ap-border);
  border-radius: var(--ap-radius); overflow: hidden;
  transition: border-color var(--ap-dur) var(--ap-ease), box-shadow var(--ap-dur) var(--ap-ease);
}
.ap-faq__item[open] { border-color: var(--ap-border-strong); box-shadow: var(--ap-shadow-sm); }
.ap-faq__q {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.6rem 1.9rem; cursor: pointer; list-style: none;
  font-family: var(--ap-font-head); font-weight: 600; font-size: 1.12rem; color: var(--ap-charcoal);
}
.ap-faq__q::-webkit-details-marker { display: none; }
.ap-faq__icon { position: relative; flex: none; width: 20px; height: 20px; }
.ap-faq__icon::before, .ap-faq__icon::after {
  content: ""; position: absolute; top: 50%; left: 50%; background: var(--ap-forest);
  border-radius: 2px; transition: transform var(--ap-dur) var(--ap-ease);
}
.ap-faq__icon::before { width: 14px; height: 2px; transform: translate(-50%, -50%); }
.ap-faq__icon::after  { width: 2px; height: 14px; transform: translate(-50%, -50%); }
.ap-faq__item[open] .ap-faq__icon::after { transform: translate(-50%, -50%) scaleY(0); }

.ap-faq__a { padding: 0 1.9rem 1.6rem; }
.ap-faq__a p { margin: 0; color: var(--ap-text-2); }

.ap-faq__cta { text-align: center; margin-top: 1.75rem; }
.ap-faq__cta a { font-weight: 600; }

/* Smooth open animation where supported */
@supports (interpolate-size: allow-keywords) {
  .ap-faq__item::details-content {
    height: 0; overflow: hidden;
    transition: height var(--ap-dur) var(--ap-ease), content-visibility var(--ap-dur) allow-discrete;
  }
  .ap-faq__item[open]::details-content { height: auto; }
}
