/* @define CollapsibleSection */
.CollapsibleSection {
    border: 1px solid #ced4da;
    border-radius: 4px;
    margin-bottom: 15px;
}

.CollapsibleSection-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
}

.CollapsibleSection-header.is-enabled {
    cursor: pointer;
}

.CollapsibleSection-sectionHeaderLeft {
    display: flex;
    align-items: center;
}

.CollapsibleSection-expanderButton,
.CollapsibleSection-expanderButton:hover,
.CollapsibleSection-expanderButton:active {
    color: inherit !important; /* Would otherwise be overridden by Btn.css */
    padding: 3px 0 0;
    flex-shrink: 0;
}

.CollapsibleSection-chevron {
    font-size: 19px;
    transform: rotate(0);
    transition: transform 0.2s;
}

.CollapsibleSection-expanded .CollapsibleSection-chevron {
    transform: rotate(90deg);
}

.CollapsibleSection-headerText {
    margin: 0 0 0 5px;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-wrap: wrap;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.CollapsibleSection-sectionHeaderRight {
    cursor: default;
    flex-shrink: 0;
}

.CollapsibleSection-body {
    padding: 0 15px 15px;
}

/** Card variant overrides **/
.CollapsibleSection-card {
    background-color: var(--surface-default);
    border-color: var(--border-subtle);
    border-left: var(--border-sm) solid var(--border-dayshape);
    border-radius: var(--border-radius-lg);
    box-shadow: 0 1px 2px rgb(0 0 0 / 8%);
}

/* CSS-only flex reorder — chevron visually appears on the RIGHT of the header
   text for the card variant. DOM structure is unchanged so existing tests and
   accessibility semantics are preserved. The sectionHeaderRight slot is a
   sibling of sectionHeaderLeft and is unaffected. */
.CollapsibleSection-card .CollapsibleSection-sectionHeaderLeft {
    flex-direction: row-reverse;
    justify-content: space-between;
    flex: 1;
}

/* With row-reverse the headerText sits visually to the LEFT of the chevron,
   so flip the existing left margin onto the right side to preserve spacing. */
.CollapsibleSection-card .CollapsibleSection-headerText {
    margin: 0 5px 0 0;
}

/* Suppress the global rotate(90deg) for the card variant — the card uses
   class-swap (fa-chevron-down / fa-chevron-up) for its expanded-state icon,
   so the chevron element should never be rotated. */
.CollapsibleSection-card .CollapsibleSection-chevron {
    transform: none;
}

/** Sidebar variant overrides **/
.CollapsibleSection-sidebar {
    border-radius: 0;
    margin-bottom: 0;
    border-width: 1px 0 0;
    border-color: var(--border-subtle);
}

.CollapsibleSection-sidebar:last-child {
    border-bottom-width: 1px; /* gives the last list item a bottom border */
}

.CollapsibleSection-sidebar .CollapsibleSection-header {
    padding: 12px 0.5rem;
    align-items: baseline;
    color: var(--text-accent);
    text-transform: uppercase;
}

.CollapsibleSection-sidebar .CollapsibleSection-header.is-enabled:hover {
    background-color: var(--border-subtle);
}

.CollapsibleSection-sidebar .CollapsibleSection-header:not(.is-enabled) {
    background-color: var(--text-white);
    color: var(--text-disabled);
}

.CollapsibleSection-sidebar .CollapsibleSection-sectionHeaderLeft {
    align-items: baseline;
}

.CollapsibleSection-sidebar .CollapsibleSection-chevron {
    font-size: 1rem;
}

.CollapsibleSection-sidebar .CollapsibleSection-header:not(.is-enabled) .CollapsibleSection-chevron {
    visibility: hidden;
}

.CollapsibleSection-sidebar .CollapsibleSection-body {
    padding: 0;
}
