.faq-section summary {
    display: flex;              /* caret + text inline */
    align-items: flex-start;    /* align caret with top of text block */
    cursor: pointer;
    font-weight: 600;
    font-size: 1.2rem;
    font-size: inherit;   
    color: var(--bs-primary-dark);
    margin: 0;
    padding: 0.75rem 0;
    list-style: none;
    border: none;
    outline: none;
    background: transparent;
    box-shadow: none;
}

/* caret */
.faq-section summary::before {
  content: "▶";
  font-size: 0.9em;
  margin-right: 0.5rem;
  margin-top: 0.2rem;
  color: var(--bs-primary-dark);
  transition: transform 0.2s ease;
}

.faq-section details[open] summary::before {
  content: "▼";
}

/* stack heading + description */
.faq-section .faq-summary-text {
  display: flex;
  flex-direction: column;
}

.faq-section .faq-summary-text h3 {
  font-size: 1em;
  font-weight: 500;
  margin: 0;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.faq-section .faq-summary-text .description {
  margin-top: 0.2rem;
  font-weight: normal;
  font-size: 1em;
  color: var(--text-dark);
}

.faq-section .answer {
    margin-left: 20px;
}

.faq-section .answer {
  font-size: inherit;     /* same as parent text size */
  line-height: 1.5em;     /* match your global p */
}

