button.accordion-toggle {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-family: inherit;
    font-size: 16px;
    font-weight: inherit;
    line-height: 1.5;
    color: inherit;
    text-align: left;
    width: 100%;
    cursor: pointer;
}
/* Reset heading margins when used as accordion header wrappers */
h2.panel-heading-white,
h3.panel-heading-white {
    margin-top: 0;
    margin-bottom: 0;
}
.accordion-title {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.headerCtrlContainer {
    display: flex;
    align-items: stretch;
}
.headerCtrlContainer > .panel-heading-white {
    flex-grow: 1;
}
.accordion-title-control {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: #f5f5f5;
}
.accordion-caret {
    color: inherit;
    margin: 5px 10px;
    font-size: 2rem;
}
.panel-white {
    margin-bottom: 0;
    border-color: #ddd;
}
.panel-heading-white {
    padding: 10px 15px 10px 5px;
    background-color: #f5f5f5;
    color: black;
    border-bottom: 1px solid #ddd;
}
.panel-heading-white:active {
    background-color: var(--site-bg-subtle);
}

/* Variant: subtle grey, no border */
.accordion-subtle > .panel > .panel-heading-white,
.accordion-subtle > .panel > .headerCtrlContainer > .panel-heading-white {
    border-bottom: none;
    padding: 5px 0;
}

/* Variant: dark blue header */
.accordion-dark > .panel > .panel-heading-white,
.accordion-dark > .panel > .headerCtrlContainer > .panel-heading-white {
    background-color: #374c65;
    color: white;
}
.accordion-dark > .panel > .headerCtrlContainer > .accordion-title-control {
    background-color: #374c65;
    color: white;
}

/* Variant: compact — no padding or border on header */
.accordion-compact > .panel > .panel-heading-white,
.accordion-compact > .panel > .headerCtrlContainer > .panel-heading-white {
    margin: 0;
    padding: 0;
    border-bottom: none;
}

.no-accordion-animation .accordion-collapse,
.no-accordion-animation .collapsing {
    transition: none !important;
}

.accordionTopCaret {
    border-top: 6px dashed;
    border-top: 6px solid \9;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    float: left;
    margin-top:8px;
    margin-right:13px;
}
.carretSm {
    margin-top:5px !important;
}
.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-top: 4px solid \9;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    float:right;
    margin-top:10px;
}
