/* ---- WAU Accordion ---- */
/* CSS API */
:root {
  --accordion-spacing: 1rem;
  --accordion-border-color: var(--dotted-color);
  --accordion-color: var(--text-color);
  --accordion-background-color: var(--background);
  --accordion-transition-duration: 0.5s;
  --accordion-icon-width: var(--accordion-spacing);
  --accordion-font-size: var(--font-size);
  --accordion-border-bottom: 1px solid var(--accordion-border-color);
  --accordion-summary-height: 44px;
}
.details__content {
  padding-top: var(--accordion-spacing);
  padding-left: var(--accordion-spacing);
  padding-right: var(--accordion-spacing);
}
@supports selector(::details-content) and (block-size: calc-size(auto, size)) {
  .details::details-content {
    display: block;
    block-size: 0;
    overflow: hidden;
    transition-property: block-size, content-visibility;
    transition-duration: var(--accordion-transition-duration);
    transition-behavior: allow-discrete;
  }
  @media (prefers-reduced-motion) {
    .details::details-content {
      transition-property: none;
      transition-duration: none;
      transition-behavior: none;
    }
  }
  .details[open]::details-content {
    block-size: auto;
    block-size: calc-size(auto, size);
  }
}
.details[open] > .details__summary .details__svg {
  transition: rotate var(--accordion-transition-duration);
  rotate: 180deg;
}
@media (prefers-reduced-motion) {
  .details[open] > .details__summary .details__svg {
    transition: none;
  }
}
.details--no-padding .details__summary,
.details--no-padding .details__content:not(.details__content .details__content) {
  padding-left: 0;
  padding-right: 0;
}
.details__summary {
  padding-left: var(--accordion-spacing);
  padding-right: var(--accordion-spacing);
  height: var(--accordion-summary-height);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  /* Theming */
  background: var(--accordion-background-color);
  color: var(--accordion-color);
}
/* Only add border bottom to first level "details__summary" elements */
.details__summary:not(.details__content .details__summary) {
  border-bottom: var(--accordion-border-bottom);
}
.details__summary::-webkit-details-marker {
  display: none;
}
.details__summary::marker {
  content: none;
}
.details__title {
  margin: 0;
  font-size: var(--accordion-font-size);
}
.details__icon {
  margin-right: 0;
}
.details__svg {
  transition: rotate var(--accordion-transition-duration);
  width: var(--accordion-icon-width);
}
@media (prefers-reduced-motion) {
  .details__svg {
    transition: none;
  }
}

/* WIP: Add Fade in transition */
.product__section-details .details[open] > .details__content {
  animation: fadeIn .75s ease-in-out forwards;
}
@media (prefers-reduced-motion) {
  .product__section-details .details[open] > .details__content {
    animation: none;
  }
}

.details__content:has(.details__content),
.details__content:has(.details__content) .details__content {
  padding-left: var(--accordion-spacing);
  padding-right: 0;
  padding-top: 0;
}

.menu__link {
  display: block;
  color: var(--accordion-color);
  padding-left: var(--accordion-spacing);
  padding-right: var(--accordion-spacing);
  height: var(--accordion-summary-height);
  transition: none;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.menu__link:not(.menu__list .menu__list .menu__link, .mobile-menu__item .menu__link, .collection__page-sidebar .menu__link) {
  border-bottom: 1px solid var(--accordion-border-color);
}

.menu__list {
  margin: 0;
  list-style-type: none;
}
