:host {
  display: block;
  cursor: pointer;
  font-family: var(--r-font-family-text, system-ui);
  outline: none;
}
:host slot {
  display: contents;
}

:host(:focus-visible) {
  box-shadow: 0 0 0 6px var(--r-border-focused-outlined, #fff);
  outline: 2px solid var(--r-border-focused, #0071e3);
  outline-offset: 2px;
}

:host(:hover:not([data-has-panel=false]):not([disabled]:not([disabled=false]))) {
  --r-accordion-trigger--background-color: var(--r-background-interactive-hovered, rgba(40,40,40,0.04));
}

:host(:active:not([data-has-panel=false]):not([disabled]:not([disabled=false]))) {
  --r-accordion-trigger--background-color: var(--r-background-interactive-pressed, rgba(40,40,40,0.12));
}

:host([expanded]:not([expanded=false]):not([splitted])) {
  --r-accordion-trigger--icon--background-color: var(--r-color-white-haze-400);
  --r-accordion-trigger--icon--transform: rotate(180deg);
}

:host([disabled]:not([disabled=false])) {
  cursor: not-allowed;
  --r-accordion-trigger--content--leading-slot--opacity: 0.4;
  --r-accordion-trigger--icon--opacity: 0.4;
  --r-accordion-trigger--background-color: transparent;
}

:host([data-has-panel=false]) {
  cursor: default;
  --r-accordion-trigger--icon--display: none;
}

.r-accordion-trigger {
  display: var(--r-accordion-trigger--display, flex);
  align-items: var(--r-accordion-trigger--align-items, center);
  flex-direction: var(--r-accordion-trigger--flex-direction, end);
  justify-content: var(--r-accordion-trigger--justify-content, space-between);
  gap: var(--r-accordion-trigger--gap, var(--r-spacing-150, 1.5rem));
  color: var(--r-accordion-trigger--color, var(--r-text-regular, #282828));
  padding-right: var(--r-accordion-trigger--padding-right, var(--r-spacing-100, 1rem));
  padding-left: var(--r-accordion-trigger--padding-left, var(--r-spacing-100, 1rem));
  padding-top: var(--r-accordion-trigger--padding-top, var(--r-spacing-150, 1.5rem));
  padding-bottom: var(--r-accordion-trigger--padding-bottom, var(--r-spacing-150, 1.5rem));
  background-color: var(--r-accordion-trigger--background-color, transparent);
}

.r-accordion-trigger--content {
  box-sizing: var(--r-accordion-trigger--content--box-sizing, border-box);
  width: var(--r-accordion-trigger--content--width, 100%);
  display: var(--r-accordion-trigger--content--display, flex);
  align-items: var(--r-accordion-trigger--content--align-items, center);
  gap: var(--r-accordion-trigger--content--gap, var(--r-spacing-100, 1rem));
  border-width: var(--r-accordion-trigger--content--border-width, 0);
  background-color: var(--r-accordion-trigger--content--background-color, transparent);
  color: var(--r-accordion-trigger--content--color, inherit);
  text-align: var(--r-accordion-trigger--content--text-align, left);
  text-transform: var(--r-accordion-trigger--content--text-transform, none);
  font-size: var(--r-accordion-trigger--content--font-size, var(--r-font-size-500));
  font-weight: var(--r-accordion-trigger--content--font-weight, var(--r-font-weight-regular));
  letter-spacing: var(--r-accordion-trigger--content--letter-spacing, normal);
}
.r-accordion-trigger--content ::slotted([slot=leading-icon]) {
  color: var(--r-accordion-trigger--content--leading-slot--color, var(--r-icon-soft, #686868));
  opacity: var(--r-accordion-trigger--content--leading-slot--opacity, 1);
}

.r-accordion-trigger--icon {
  display: var(--r-accordion-trigger--icon--display, flex);
  align-items: var(--r-accordion-trigger--icon--align-items, center);
  justify-content: var(--r-accordion-trigger--icon--justify-content, center);
  min-width: var(--r-accordion-trigger--icon--min-width, var(--r-spacing-150, 1.5rem));
  width: var(--r-accordion-trigger--icon--width, var(--r-spacing-150, 1.5rem));
  height: var(--r-accordion-trigger--icon--height, var(--r-spacing-150, 1.5rem));
  transition: var(--r-accordion-trigger--icon--transition, transform 0.25s cubic-bezier(0.25, 0.8, 0.5, 1) 0s);
  transform: var(--r-accordion-trigger--icon--transform, rotate(0deg));
  color: var(--r-accordion-trigger--icon--color, var(--r-text-regular, #282828));
  opacity: var(--r-accordion-trigger--icon--opacity, 1);
}

@media (prefers-reduced-motion) {
  .r-accordion-trigger--icon {
    transition: none;
  }
}
