/* FAQ accordion — Bootstrap 4 card-accordion styles for native <details>/<summary> */

/* Hide native disclosure triangle */
.faq-accordion details > summary {
  list-style: none;
  cursor: pointer;
}

.faq-accordion details > summary::-webkit-details-marker {
  display: none;
}

/* Card base — match Bootstrap 4 .card */
.faq-accordion .card {
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  position: relative;
  word-wrap: break-word;
}

/* Stacked cards — collapse borders like Bootstrap 4 accordion */
.faq-accordion .card:not(:first-of-type):not(:last-of-type) {
  border-bottom: 0;
  border-radius: 0;
}

.faq-accordion .card:first-of-type {
  border-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.faq-accordion .card:last-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.faq-accordion .card:not(:first-of-type) .card-header:first-child {
  border-radius: 0;
}

/* Card header — match Bootstrap 4 .card-header */
.faq-accordion .card-header {
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
  margin-bottom: -1px;
  padding: 0.75rem 1.25rem;
}

.faq-accordion .card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

/* Collapse wrapper */
.faq-accordion .card-collapse {
  overflow: hidden;
  transition: height 0.3s ease;
}

/* Chevron rotation */
.faq-accordion details:not([open]) .fa-chevron-up {
  transform: translateY(-50%) rotate(180deg);
}
