/**
 * Accordion Final Fix CSS - Enhanced Version
 * Stronger enforcement of accordion states to prevent Bootstrap interference
 */

/* Force immediate transition - prevent transition interference */
.accordion-button,
.accordion-collapse,
.accordion-body,
.mobile-accordion *,
.accordion * {
    transition: none !important;
    animation: none !important;
}

/* Make sure show state works properly - with enhanced specificity */
.accordion .accordion-collapse.show,
.accordion-collapse.show,
div.accordion-collapse.show,
.collapse.show,
div.collapse.show {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    max-height: 10000px !important; /* Arbitrary large value */
}

/* Make sure hidden state works properly - with enhanced specificity */
.accordion .accordion-collapse:not(.show),
.accordion-collapse:not(.show),
div.accordion-collapse:not(.show),
.collapse:not(.show),
div.collapse:not(.show) {
    display: none !important;
    height: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    max-height: 0 !important;
}

/* Remove collapsing state that can interfere with toggling */
.accordion-collapse.collapsing,
.collapse.collapsing,
div.accordion-collapse.collapsing,
div.collapse.collapsing {
    height: 0 !important;
    transition: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Force collapsed button styling with higher specificity */
.accordion-button.collapsed,
.accordion button.accordion-button.collapsed,
button.accordion-button.collapsed {
    color: #666 !important;
    background-color: #f8f9fa !important;
}

/* Force expanded button styling with higher specificity */
.accordion-button:not(.collapsed),
.accordion button.accordion-button:not(.collapsed),
button.accordion-button:not(.collapsed) {
    color: #333 !important;
    background-color: #f0f7ff !important;
    box-shadow: none !important;
}

/* Fix arrow rotation with higher specificity */
.accordion-button::after,
button.accordion-button::after {
    transition: none !important;
    transform: rotate(0deg) !important;
}

.accordion-button:not(.collapsed)::after,
button.accordion-button:not(.collapsed)::after {
    transform: rotate(180deg) !important;
}

/* Add clearer hover state with higher specificity */
.accordion-button:hover,
button.accordion-button:hover {
    background-color: #e9ecef !important;
    cursor: pointer !important;
    z-index: 5 !important;
}

/* Override any Bootstrap transitions */
.fade,
.collapse,
.collapsing {
    transition: none !important;
}

/* Prevent Bootstrap animation classes */
.fade:not(.show) {
    opacity: 0 !important;
    display: none !important;
}

/* Ensure pointer events work */
.accordion-header,
.accordion-button {
    pointer-events: auto !important;
}

/* Prevent Bootstrap from messing with z-index */
.accordion-button::after {
    z-index: 4 !important;
} 