/* FAQ */
.ice-faq {
  background: var(--ice-faq-bg, #141a20);
  color: var(--ice-faq-text, #d0ccc6);
  padding-top: var(--ice-faq-pt-mobile, 80px);
  padding-bottom: var(--ice-faq-pb-mobile, 80px);
}
.ice-faq__container {
  width: min(var(--ice-faq-container-max, 1280px), calc(100% - (var(--ice-faq-side-mobile, 24px) * 2)));
  margin: 0 auto;
}
.ice-faq__heading-wrap {
  max-width: var(--ice-faq-content-max, 980px);
  margin: 0 auto 3rem;
  text-align: center;
}
.ice-faq__eyebrow {
  margin: 0 0 1rem;
  color: var(--ice-faq-accent, #c5a95e);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ice-faq__heading {
  margin: 0 0 1.25rem;
  color: var(--ice-faq-heading, #faf8f5);
  font-size: var(--ice-faq-heading-size-mobile, 40px);
  line-height: 1.1;
  font-weight: 700;
}
.ice-faq__description {
  margin: 0;
  color: var(--ice-faq-text, #d0ccc6);
  font-size: var(--ice-faq-description-size-mobile, 19px);
  line-height: 1.75;
}
.ice-faq__list {
  max-width: var(--ice-faq-content-max, 980px);
  margin: 0 auto;
  display: grid;
  gap: var(--ice-faq-item-gap, 16px);
}
.ice-faq__item {
  background: var(--ice-faq-item-bg, #1a1d23);
  border: 1px solid var(--ice-faq-item-border, rgba(255,255,255,0.10));
  border-radius: var(--ice-faq-item-radius, 12px);
  overflow: hidden;
}
.ice-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: var(--ice-faq-item-py, 22px) var(--ice-faq-item-px, 24px);
  background: transparent;
  border: 0;
  color: var(--ice-faq-heading, #faf8f5);
  cursor: pointer;
  text-align: left;
}
.ice-faq__question-text {
  font-size: var(--ice-faq-question-size-mobile, 18px);
  line-height: 1.5;
  font-weight: 600;
}
.ice-faq__icon-wrap {
  color: var(--ice-faq-icon-color, #c5a95e);
  flex: 0 0 auto;
}
.ice-faq__chevron {
  width: var(--ice-faq-icon-size, 20px);
  height: var(--ice-faq-icon-size, 20px);
  transition: transform .25s ease;
}
.ice-faq__item.is-open .ice-faq__chevron {
  transform: rotate(180deg);
}
.ice-faq__answer-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s ease;
}
.ice-faq__item.is-open .ice-faq__answer-wrap {
  grid-template-rows: 1fr;
}
.ice-faq__answer {
  overflow: hidden;
  padding: 0 var(--ice-faq-item-px, 24px);
  color: var(--ice-faq-text, #d0ccc6);
  font-size: var(--ice-faq-answer-size-mobile, 16px);
  line-height: 1.8;
}
.ice-faq__item.is-open .ice-faq__answer {
  padding-bottom: var(--ice-faq-item-py, 22px);
}
.ice-faq__answer p:first-child { margin-top: 0; }
.ice-faq__answer p:last-child { margin-bottom: 0; }


.ice-faq--animate .ice-faq__item:nth-child(1) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.10s); }
.ice-faq--animate .ice-faq__item:nth-child(2) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.18s); }
.ice-faq--animate .ice-faq__item:nth-child(3) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.26s); }
.ice-faq--animate .ice-faq__item:nth-child(4) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.34s); }
.ice-faq--animate .ice-faq__item:nth-child(5) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.42s); }
.ice-faq--animate .ice-faq__item:nth-child(6) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.50s); }

@keyframes iceFaqFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1024px) {
  .ice-faq {
    padding-top: var(--ice-faq-pt-desktop, 128px);
    padding-bottom: var(--ice-faq-pb-desktop, 128px);
  }
  .ice-faq__container {
    width: min(var(--ice-faq-container-max, 1280px), calc(100% - (var(--ice-faq-side-desktop, 48px) * 2)));
  }
  .ice-faq__heading {
    font-size: var(--ice-faq-heading-size-desktop, 56px);
  }
  .ice-faq__description {
    font-size: var(--ice-faq-description-size-desktop, 21px);
  }
  .ice-faq__question-text {
    font-size: var(--ice-faq-question-size-desktop, 20px);
  }
  .ice-faq__answer {
    font-size: var(--ice-faq-answer-size-desktop, 17px);
  }
}

/* v1.4.1.3 fixed faq animation */
.ice-faq--animate .ice-faq__heading-wrap {
  animation: iceFaqFadeUp var(--ice-faq-animation-duration, 0.8s) ease-out var(--ice-faq-animation-delay, 0s) both;
}
.ice-faq--animate .ice-faq__item {
  opacity: 0;
  animation: iceFaqFadeUp var(--ice-faq-animation-duration, 0.8s) ease-out both;
}
.ice-faq--animate .ice-faq__item:nth-child(1) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.10s); }
.ice-faq--animate .ice-faq__item:nth-child(2) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.18s); }
.ice-faq--animate .ice-faq__item:nth-child(3) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.26s); }
.ice-faq--animate .ice-faq__item:nth-child(4) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.34s); }
.ice-faq--animate .ice-faq__item:nth-child(5) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.42s); }
.ice-faq--animate .ice-faq__item:nth-child(6) { animation-delay: calc(var(--ice-faq-animation-delay, 0s) + 0.50s); }


/* v1.4.1.4 scroll-triggered animation */
.ice-faq.ice-animate-on-scroll .ice-faq__heading-wrap,
.ice-faq.ice-animate-on-scroll .ice-faq__item {
  animation-play-state: paused;
}
.ice-faq.ice-animate-on-scroll.is-visible .ice-faq__heading-wrap,
.ice-faq.ice-animate-on-scroll.is-visible .ice-faq__item {
  animation-play-state: running;
}

