/**
 * Accordion (<details>)
 */
:where(:scope, [data-theme="light"], [data-theme="dark"]),
:host {
  --pico-accordion-border-color: var(--pico-muted-border-color);
  --pico-accordion-active-summary-color: var(--pico-primary-hover);
  --pico-accordion-close-summary-color: var(--pico-color);
  --pico-accordion-open-summary-color: var(--pico-muted-color);
}

details {
  display: block;
  margin-bottom: var(--pico-spacing);
}
details summary {
  line-height: 1rem;
  list-style-type: none;
  cursor: pointer;
  transition: color var(--pico-transition);
}
details summary:not([role]) {
  color: var(--pico-accordion-close-summary-color);
}
details summary::-webkit-details-marker {
  display: none;
}
details summary::marker {
  display: none;
}
details summary::-moz-list-bullet {
  list-style-type: none;
}
details summary::after {
  display: block;
  width: 1rem;
  height: 1rem;
  margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5);
  float: right;
  transform: rotate(-90deg);
  background-image: var(--pico-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
  transition: transform var(--pico-transition);
}
details summary:focus {
  outline: none;
}
details summary:focus:not([role]) {
  color: var(--pico-accordion-active-summary-color);
}
details summary:focus-visible:not([role]) {
  outline: var(--pico-outline-width) solid var(--pico-primary-focus);
  outline-offset: calc(var(--pico-spacing, 1rem) * 0.5);
  color: var(--pico-primary);
}
details summary[role="button"] {
  width: 100%;
  text-align: start;
}
details summary[role="button"]::after {
  height: calc(1rem * var(--pico-line-height, 1.5));
}
details[open] > summary {
  margin-bottom: var(--pico-spacing);
}
details[open] > summary:not([role]):not(:focus) {
  color: var(--pico-accordion-open-summary-color);
}
details[open] > summary::after {
  transform: rotate(0);
}

[dir="rtl"] details summary {
  text-align: end;
}
[dir="rtl"] details summary::after {
  float: left;
  background-position: left center;
}
