:root {
  --acc-margin-top: 2rem;
  --acc-border: 1px solid rgb(var(--color-border));
  --acc-trigger-padding: 1.2rem 0;
  --acc-content-padding: 0.5rem 0 1.5rem;
}

.m-accordion {
  margin-bottom: 0;
}
.m-accordion:not(.m-accordion--no-borders) {
  border-top: var(--acc-border);
  border-bottom: var(--acc-border);
}
.m-accordion.m-accordion--open .a-icon__icon,
.m-accordion.m-accordion--open .icon {
  transform: rotate(180deg);
}
.m-accordion.m-accordion--open .icon-plus rect:last-child {
  opacity: 0;
}
.m-accordion + .m-accordion {
  margin-top: var(--acc-margin-top);
  border-top: none;
}
.m-accordion__header {
  padding: var(--acc-trigger-padding);
  justify-content: space-between;
  cursor: pointer;
  display: flex;
}
.m-accordion__header h2,
.m-accordion__header .h2,
.m-accordion__header h3,
.m-accordion__header .h3 {
  font-family: var(--ff-primary);
  font-weight: 600;
  margin-bottom: 0;
  flex: 1;
}
.m-accordion .icon {
  transform: rotate(0deg);
  transition: transform var(--default-transition-timing) var(--default-transition-easing);
}
.m-accordion .icon-plus {
  height: 1.8rem;
  width: 1.8rem;
  margin-right: 0.4rem;
}
.m-accordion .icon-plus rect:last-child {
  opacity: 1;
  transition: opacity var(--default-transition-timing) var(--default-transition-easing);
}
.m-accordion--start-open .m-accordion__content {
  display: block;
}
.m-accordion__content {
  display: none;
  padding: var(--acc-content-padding);
}
.m-accordion__content * {
  margin: 0;
}
.m-accordion__content * + * {
  margin-top: 1rem;
}
@media screen and (min-width: 600px) {
  .m-accordion__mobile.m-accordion {
    margin-top: 0;
    border: none;
  }
  .m-accordion__mobile .m-accordion__content {
    display: block;
  }
  .m-accordion__mobile .icon {
    display: none;
  }
  .m-accordion__mobile .js-accordion-trigger {
    pointer-events: none;
  }
}
