.ipm-faq {
  margin: var(--ipm-space-8) 0;
}
.ipm-faq__title {
  margin-bottom: var(--ipm-space-4);
}
.ipm-faq__items {
  border-top: 1px solid var(--ipm-c-border);
}
.ipm-faq__item {
  border-bottom: 1px solid var(--ipm-c-border);
}
.ipm-faq__question {
  cursor: pointer;
  padding: var(--ipm-space-4) var(--ipm-space-8) var(--ipm-space-4) 0;
  font-weight: 600;
  list-style: none;
  position: relative;
  color: var(--ipm-c-text);
}
.ipm-faq__question::-webkit-details-marker { display: none; }
.ipm-faq__question::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--ipm-c-link);
  font-weight: 400;
}
details[open] > .ipm-faq__question::after { content: "−"; }
.ipm-faq__answer {
  padding: 0 0 var(--ipm-space-4);
  color: var(--ipm-c-text);
}
.ipm-faq__answer p:last-child { margin-bottom: 0; }
.ipm-faq__question:focus-visible {
  outline: 2px solid var(--ipm-c-link);
  outline-offset: 2px;
}
