.section.accordion-container {
  padding: 0;
}

.accordion-item-label {
  color: var(--accordion-label-color, var(--brand-color-primary-1));
  font-size: 1.5rem;
  padding-block: .5rem;
}

.accordion-item-label p {
  padding-block: 1.5rem;
  margin: 0;
}

.accordion details {
  border-bottom: 1px solid rgba(0 0 0 / 25%);
}

.accordion details summary {
  position: relative;
  padding: 0 16px 0 10px;
  padding-right: 48px;
  cursor: pointer;
  list-style: none;
  transition: background-color 0.2s;
}

.accordion details summary::-webkit-details-marker {
  display: none;
}

.accordion details summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%) rotate(135deg);
  width: 9px;
  height: 9px;
  border: 2px solid;
  border-width: 2px 2px 0 0;
}

.accordion details[open] summary::after {
  transform: translateY(-50%) rotate(-45deg);
}

.accordion details[open]:not(.reference) summary > p {
  padding-bottom: 0;
}

.accordion details .accordion-item-body > ul {
  margin-block: 0;
}

.accordion details[open]:not(.reference) .accordion-item-body-content > ul {
  margin-block: 0;
}

.accordion details .accordion-item-body {
  padding: 0 16px 20px;
  display: grid;
  animation-duration: .2s;
}

.accordion details .accordion-item-body.animation {
  animation-name: grid-expand;
}

.accordion details .accordion-item-body.collapsing {
  animation-direction: reverse;
}

.accordion details .accordion-item-body > * {
  min-height: 0;
}

@keyframes grid-expand {
  0% {
    grid-template-rows: 0fr;
  }

  100% {
    grid-template-rows: 1fr;
  }
}

.accordion-item-body-content {
  overflow: hidden;
}

.accordion-item-body-content.table-icon-visible {
  overflow: visible;
}

.accordion details.reference .accordion-item-body {
  padding: 0;
}

.accordion details[open] .accordion-item-body {
  --animation-padding: 1rem;

  border-bottom: 1px solid var(--dark-color);
}

.accordion-container {
  padding: 0;
}

.wide-product-site .accordion-item-label {
  font-size: var(--heading-font-size-l);
  color: var(--brand-color-primary-1);
}

@media (width >= 768px) {
  .accordion-item-label {
    font-size: 2rem;
  }
}