/* Accordion Item — SD-74
 * Figma: text / 2-clmns → Accordion variant (node 6920:59078)
 * Answer sits inside the bordered content box, above the bottom line.
 * Icon column sits outside the border, aligned with the question row.
 */

.accordion-item {
  width: 100%;
}

.accordion-item__row {
  display: flex;
  align-items: flex-start;
  gap: var(--dk-space-05); /* 24px — Figma spacing-05 */
}

.accordion-item__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--dk-space-05); /* 24px between question and answer */
  border-bottom: 1px solid var(--dk-color-black);
  padding-bottom: var(--dk-space-05);
}

.accordion-item__row:hover .accordion-item__content,
.accordion-item__row:focus-within .accordion-item__content {
  /* Extra 1px via shadow — avoids layout jump from border-width change */
  box-shadow: inset 0 -1px 0 var(--dk-color-black);
}

.accordion-item__heading {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
}

.accordion-item__trigger {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--dk-color-black);
}

.accordion-item__trigger:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px var(--dk-color-black),
    0 0 0 4px var(--dk-color-white),
    0 0 0 8px #008eff;
}

.accordion-item__title {
  display: block;
  line-height: 1.2;
}

.accordion-item__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.accordion-item__icon svg {
  width: 100%;
  height: 100%;
}

.accordion-item:has(.accordion-item__trigger[aria-expanded="true"]) .accordion-item__icon {
  transform: rotate(180deg);
}

.accordion-item__panel[hidden] {
  display: none;
}

.accordion-item__answer {
  line-height: 1.3;
}

/* Rich-text spacing — global reset zeroes p/ul margins and list-style */
.accordion-item__answer > :first-child { margin-block-start: 0; }
.accordion-item__answer > :last-child  { margin-block-end: 0; }
.accordion-item__answer p {
  margin-block: var(--dk-space-04) 0;
}
.accordion-item__answer ul,
.accordion-item__answer ol {
  list-style: revert;
  margin-block: var(--dk-space-04) 0;
  padding-inline-start: 1.25em;
}
.accordion-item__answer li {
  list-style: inherit;
}

@media (prefers-reduced-motion: reduce) {
  .accordion-item__icon {
    transition: none;
  }
}
