:root {
  --container-width: 1450px;
  --small-container-width: calc(1170px + var(--block-padding) * 2);
}

section.faq {
  --margin-block: clamp(2.5rem, 1.3vi + 1.5rem, 4rem);
  --line-color: var(--wp--preset--color--black);
}
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);
  opacity: 0.4;
  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);
  opacity: 0.4;
  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 {
  opacity: 1;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1.1) 0.2s, opacity 0.2s ease-in-out;
}
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;
  font-weight: bold;
}
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%);
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1.1), opacity 0.2s ease-in-out 0.3s;
  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;
}