/* FAQ – full viewport width on ALL pages (main + subpages e.g. slots, registration) */
.faq-wrapper {
  padding: 50px 0 0;
  margin-bottom: 0;
  background: var(--clr-body);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  box-sizing: border-box;
}

.faq-wrapper .container {
  background: var(--color-bg-footer);
  border-radius: 30px;
  padding: 32px 16px 24px;
}

.faq-wrapper .container h2 {
  color: var(--clr-text-light);
  margin: 0px 0px 30px 0px;
  text-align: center;
}

.faq-item {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--clr-bg-border);
}

.faq-item .faq-title {
  cursor: pointer;
  padding: 16px;
  font-weight: 600;
  font-size: 20px;
  line-height: 26px;
  margin: 0;
  color: var(--clr-text-light);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 16px;
}

.faq-item .faq-title .faq-expand {
  border-right: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
}

.faq-item .faq-title img {
  max-width: 36px;
  max-height: 36px;
  transition: .3s;
  rotate: 90deg;
}

.faq-item.open .faq-title img {
  rotate: 180deg;
}

.faq-item:not(:last-of-type) {
  margin-bottom: 16px;
}

.faq-item .faq-text {
  display: none;
  visibility: hidden;
  height: 0;
  font-size: 17px;
  padding: 16px 16px 24px;
  color: white;
  animation: faqAnimation .4s;
  animation-fill-mode: forwards;
}

.faq-item.open .faq-text {
  display: block;
  visibility: visible;
  height: auto;
}

@keyframes faqAnimation {
  0% {
    opacity: .3;
    transform: translateY(-10%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .faq-item .faq-title {

    font-size: 18px;

  }
}


/* end FAQ */