@layer components {
  /* ======================
   * COLLAPSIBLE SECTION
   * ======================
   * Expandable/collapsible content section with header toggle.
   * Pairs with the collapsible Stimulus controller.
   */
  .collapsible-section {
    margin-block-end: var(--block-space);
  }

  .collapsible-section:last-child {
    margin-block-end: 0;
  }

  .collapsible-section__header {
    display: flex;
    align-items: center;
    gap: var(--inline-space);
    padding: var(--block-space-sm) 0;
    cursor: pointer;
    user-select: none;
  }

  .collapsible-section__header:hover {
    color: var(--color-link);
  }

  .collapsible-section__icon {
    font-size: var(--text-sm);
    width: 1rem;
    text-align: center;
    color: var(--color-ink-muted);
    transition: transform 0.15s ease;
  }

  .collapsible-section__title {
    font-size: var(--text-lg);
    font-weight: 600;
    margin: 0;
  }

  .collapsible-section__count {
    font-size: var(--text-sm);
    color: var(--color-ink-muted);
    font-weight: 400;
  }

  .collapsible-section__action {
    margin-inline-start: auto;
  }

  .collapsible-section__content {
    padding-block-start: var(--block-space);
  }

  .collapsible-section__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block-start: var(--block-space-sm);
    margin-block-start: var(--block-space-sm);
    border-block-start: 1px solid var(--color-border-subtle);
  }

  /* Collapsed state - icon rotates */
  .collapsible-section--collapsed .collapsible-section__icon {
    transform: rotate(-90deg);
  }

  .collapsible-section--collapsed .collapsible-section__content {
    display: none;
  }
}
