/*
 * Unified accordion theme aligned with properties/lmnp_declaration.html.
 * Visual-only stylesheet: no functional behavior changes.
 */

.pm-lmnp-accordion-theme {
    gap: 0 !important;
}

.pm-lmnp-accordion-theme .accordion-item {
    border: none !important;
    border-bottom: 1px solid var(--pm-border-light) !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
    overflow: visible;
    box-shadow: none;
    transition: all var(--pm-transition-base);
}

.pm-lmnp-accordion-theme .accordion-item:first-child {
    border-top: 1px solid var(--pm-border-light) !important;
    border-top-left-radius: var(--pm-radius-sm) !important;
    border-top-right-radius: var(--pm-radius-sm) !important;
}

.pm-lmnp-accordion-theme .accordion-item:last-child {
    border-bottom: none !important;
    border-bottom-left-radius: var(--pm-radius-sm) !important;
    border-bottom-right-radius: var(--pm-radius-sm) !important;
}

.pm-lmnp-accordion-theme .accordion-item:hover {
    background-color: var(--pm-primary-light);
}

.pm-lmnp-accordion-theme .accordion-button {
    font-size: 1.1rem;
    font-weight: 600;
    padding: var(--pm-space-4) 1.25rem;
    background-color: var(--pm-surface-2);
    color: var(--pm-dark);
    border: none;
    border-radius: 0 !important;
    box-shadow: none;
    transition: all var(--pm-transition-base);
}

.pm-lmnp-accordion-theme .accordion-button.collapsed {
    background-color: var(--pm-surface-2);
    color: var(--pm-dark);
}

.pm-lmnp-accordion-theme .accordion-button:not(.collapsed) {
    background-color: var(--pm-primary) !important;
    color: var(--pm-surface-1) !important;
    box-shadow: none;
}

.pm-lmnp-accordion-theme .accordion-button:hover,
.pm-lmnp-accordion-theme .accordion-button.collapsed:hover {
    background-color: var(--pm-primary-light);
}

.pm-lmnp-accordion-theme .accordion-button:not(.collapsed):hover {
    background-color: var(--pm-primary-dark) !important;
}

.pm-lmnp-accordion-theme .accordion-button:focus {
    box-shadow: 0 0 0 0.25rem var(--pm-primary-light);
    border-color: var(--pm-primary);
    z-index: 3;
}

.pm-lmnp-accordion-theme .accordion-button:not(.collapsed)::after {
    filter: brightness(0) invert(1);
}

.pm-lmnp-accordion-theme .accordion-body {
    padding: var(--pm-space-5);
    background-color: var(--pm-surface-1);
}

.pm-lmnp-accordion-theme .accordion-collapse {
    transition: height var(--pm-transition-base);
}

@media (max-width: 768px) {
    .pm-lmnp-accordion-theme .accordion-button {
        font-size: 1rem;
        padding: 0.875rem var(--pm-space-4);
    }

    .pm-lmnp-accordion-theme .accordion-body {
        padding: var(--pm-space-4);
    }
}
