/* Altira FAQ.

   This section carries its own accordion styling rather than borrowing the
   product page's, so it renders correctly on any page that uses it. */

.alt-faq { background: var(--alt-fq-bg); }

/* ---------------------------------------------------------------- header */

.alt-faq__header {
  margin-bottom: var(--alt-fq-header-gap);
  text-align: var(--alt-fq-align);
}

.alt-faq__heading {
  margin: 0;
  color: var(--alt-fq-heading);
  font-family: var(--alt-font-heading);
  font-size: var(--alt-fq-h-size-d);
  font-weight: var(--alt-fw-heading);
  line-height: 1.167;
}

.alt-faq__sub { margin-top: 12px; }

/* ---------------------------------------------------------------- list */

.alt-faq__list { display: block; }

.alt-faq .alt-acc__item { border: 0; }

/* The reference puts the rule under the question itself, so an open answer
   sits below the line rather than inside a boxed row. */
.alt-faq .alt-acc__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  margin: 0;
  padding: var(--alt-fq-row-pad) 0;
  border: 0;
  border-bottom: var(--alt-fq-border-width) solid var(--alt-fq-border);
  background: none;
  color: var(--alt-fq-q);
  font-family: var(--alt-font-heading);
  font-size: var(--alt-fq-q-size);
  font-weight: var(--alt-fq-q-weight);
  line-height: 1.555;
  text-align: left;
  cursor: pointer;
  transition: color var(--alt-hover-duration, 0.2s) ease;
}
.alt-faq .alt-acc__trigger:hover { color: var(--alt-fq-q-hover); }

.alt-faq .alt-acc__trigger > span:first-child { flex: 1 1 auto; min-width: 0; }

.alt-faq__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: var(--alt-fq-icon-size);
  height: var(--alt-fq-icon-size);
  transition: transform 0.25s ease;
}
.alt-faq__icon svg { width: 100%; height: 100%; display: block; }

.alt-faq .alt-acc__trigger[aria-expanded="true"] .alt-faq__icon { transform: rotate(180deg); }

.alt-faq .alt-acc__panel[hidden] { display: none; }

.alt-faq .alt-acc__body {
  padding: var(--alt-fq-row-pad) 0;
  color: var(--alt-fq-a);
  font-size: var(--alt-fq-a-size);
  line-height: var(--alt-fq-a-lh);
}
.alt-faq .alt-acc__body > *:first-child { margin-top: 0; }
.alt-faq .alt-acc__body > *:last-child { margin-bottom: 0; }
.alt-faq .alt-acc__body p { margin: 0 0 12px; }
.alt-faq .alt-acc__body p:last-child { margin-bottom: 0; }
.alt-faq .alt-acc__body strong { color: var(--alt-fq-q); font-weight: 600; }
.alt-faq .alt-acc__body ul,
.alt-faq .alt-acc__body ol { margin: 0 0 12px; padding-left: 20px; }
.alt-faq .alt-acc__body li { margin-bottom: 6px; }
.alt-faq .alt-acc__body a { color: inherit; text-decoration: underline; }

/* ---------------------------------------------------------------- columns */

@media (min-width: 1280px) {
  .alt-faq__list {
    column-count: var(--alt-fq-cols);
    column-gap: 48px;
  }
  .alt-faq__list .alt-acc__item { break-inside: avoid; }
}

/* ---------------------------------------------------------------- mobile */

@media (max-width: 767px) {
  .alt-faq__header { margin-bottom: 24px; }
  .alt-faq__heading { font-size: var(--alt-fq-h-size-m); }
  .alt-faq .alt-acc__trigger { font-size: var(--alt-fq-q-size-m); }
}
