/* ──────────────────────────────────────────────
   Accordion
────────────────────────────────────────────── */

.accordion {
  width: 100%;
}

.accordion-item {
  border-bottom: 1px solid var(--stone);
}

.accordion-heading {
  margin: 0;
}

.accordion-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding: 24px 0;
  background: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  text-align: left;
  box-shadow: none !important;
  transition: padding-bottom 0.3s ease-in-out;
  @media (max-width: 1179px) {
    padding: 20px 0;
  }
  @media (max-width: 767px) {
    padding: 16px 0;
  }
}

.accordion-item.is-open .accordion-btn {
  padding-bottom: 16px;
}

.accordion-btn:hover,
.accordion-btn:focus,
.accordion-btn:active,
.accordion-btn.focus-visible {
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
}

.accordion-btn:focus-visible {
  outline: none;
}

.accordion-label {
  flex: 1;
  color: var(--dark);
  font: var(--heading-h6);
  letter-spacing: var(--letter-spacing-m0-5);
  transition: color 0.3s ease-in-out;
}

.accordion-btn:hover .accordion-label,
.accordion-btn:focus-visible .accordion-label {
  color: var(--burnt-orange);
}

.accordion-icon {
  display: flex;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.accordion-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.accordion-icon .plus-icon-vertical {
  transform-box: view-box;
  transform-origin: 50% 50%;
  transition: transform 0.3s ease-in-out;
}

.accordion-item.is-open .accordion-icon .plus-icon-vertical {
  transform: rotate(90deg);
}

.accordion-panel {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transition:
    max-height 0.3s ease-in-out,
    opacity 0.3s ease-in-out,
    visibility 0s linear 0.3s;
}

.accordion-item.is-open .accordion-panel {
  max-height: var(--panel-height, 1000px);
  opacity: 1;
  visibility: visible;
  transition:
    max-height 0.3s ease-in-out,
    opacity 0.3s ease-in-out,
    visibility 0s linear 0s;
}

.accordion-panel-inner {
  padding: 0 0 24px 0;
  color: var(--off-black);
  font: var(--body-b3);
  @media (max-width: 1179px) {
    padding: 0 0 20px 0;
  }
  @media (max-width: 767px) {
    padding: 0 0 16px 0;
  }
}

.accordion-panel-inner > *:first-child {
  margin-top: 0;
}

.accordion-panel-inner > *:last-child {
  margin-bottom: 0;
}

/* ── Rich text inside the answer ──
   `content` runs through wp_kses_post(), so answers may carry any standard
   post HTML. These rules give those tags a house style. */

.accordion-panel-inner p {
  margin: 0 0 12px;
  color: var(--off-black);
  font: var(--body-b3);
}

.accordion-panel-inner a {
  color: var(--burnt-orange);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: text-decoration-color 0.3s ease-in-out;
}

.accordion-panel-inner a:hover,
.accordion-panel-inner a:focus-visible {
  text-decoration: none;
}

.accordion-panel-inner ul,
.accordion-panel-inner ol {
  margin: 0 0 12px;
  padding-left: 20px;
}

.accordion-panel-inner li {
  margin-bottom: 8px;
}

.accordion-panel-inner li:last-child {
  margin-bottom: 0;
}

.accordion-panel-inner strong,
.accordion-panel-inner b {
  font-weight: 500;
}

.accordion-panel-inner h4,
.accordion-panel-inner h5,
.accordion-panel-inner h6 {
  margin: 20px 0 8px;
  color: var(--dark);
}

.accordion-panel-inner h4 {
  font: var(--heading-h6);
}

.accordion-panel-inner h5,
.accordion-panel-inner h6 {
  font: var(--body-b2);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-btn,
  .accordion-label,
  .accordion-icon .plus-icon-vertical,
  .accordion-panel,
  .accordion-item.is-open .accordion-panel {
    transition: none;
  }
}
