section.faq {
  --margin-block: clamp(2.5rem, 1.3vi + 1.5rem, 4rem);
  --line-color: var(--wp--preset--color--white);
}
section.faq.has-white-background-color {
  --line-color: var(--wp--preset--color--red);
}
section.faq h2 {
  margin-bottom: clamp(2.5rem, 1.3vi + 1.5rem, 4rem);
}
section.faq h2:where(:not(:first-of-type)) {
  margin-top: clamp(4rem, 3.3333rem + 0.8681vw, 5rem);
}
section.faq h2 + .faq-question:before {
  content: "";
  height: 1px;
  background-color: var(--line-color);
  position: absolute;
  left: 0;
  right: 0;
}
section.faq > .container {
  display: block;
}
section.faq > .container > .acf-innerblocks-container {
  display: contents;
}
section.faq > .container .faq-column:first-of-type {
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  section.faq > .container {
    display: flex;
    grid-gap: var(--block-padding);
    gap: var(--block-padding);
  }
  section.faq > .container .faq-column {
    flex: 1;
  }
  section.faq > .container .faq-column:first-of-type {
    margin-bottom: 0;
  }
}
section.faq .faq-question {
  position: relative;
}
section.faq .faq-question:after {
  content: "";
  height: 1px;
  background-color: var(--line-color);
  position: absolute;
  left: 0;
  right: 0;
}
section.faq .faq-question:is(:not(.active)) .question-heading::before, section.faq .faq-question:is(:not(.active)) .question-heading::after {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1.1) 0.2s;
}
section.faq .faq-question:is(:not(.active)) .question-heading::before {
  transform: translate(-50%, -50%) rotate(180deg);
}
section.faq .faq-question:is(:not(.active)) .question-heading::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
section.faq .faq-question .question-heading {
  align-items: center;
  padding: var(--margin-block) 45px var(--margin-block) 0;
  cursor: pointer;
  margin: 0;
  position: relative;
}
section.faq .faq-question .question-heading::before, section.faq .faq-question .question-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  height: 1px;
  width: 20px;
  background: var(--line-color);
  transform: translate(-50%, -50%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1.1);
  pointer-events: none;
}
section.faq .faq-question .faq-answer {
  overflow: hidden;
  transition: height 0.35s ease-in-out;
}
section.faq .faq-question .faq-answer:where(:not(.active)) {
  display: none;
}
section.faq .faq-question .faq-answer p {
  margin-bottom: var(--margin-block);
  margin-right: 90px;
}

[data-type="acf/faq"] section.faq .container > .acf-innerblocks-container {
  display: contents;
}
[data-type="acf/faq"] section.faq .container > .acf-innerblocks-container [data-type="acf/faqcolumn"] {
  flex: 1;
  padding: 20px 0;
}
[data-type="acf/faq"] section.faq .faq-question .faq-answer, [data-type="acf/faq"] section.faq .faq-question .faq-answer:where(:not(.active)) {
  display: block;
}