.lincluden-menu-list li a.is-current {
    font-weight: bold !important;
}

/* Menu List Accordion */
.lincluden-menu-accordion {
    --accordion-header-display: none;
    --accordion-panel-display: block;
}

.lincluden-menu-accordion .accordion-header {
    display: var(--accordion-header-display);
    width: 100%;
    text-align: left;
    border: 0;
    padding: 0.75rem 1rem;
    background: transparent;
    cursor: pointer;
}

.lincluden-menu-accordion .accordion-header .accordion-header-inner {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.lincluden-menu-accordion .accordion-panel {
    display: var(--accordion-panel-display);
    overflow: hidden;
}

.lincluden-menu-accordion .accordion-panel[hidden] {
    display: none !important;
}

/* When header is hidden (desktop typically), show panel by default via JS safeguard too */
.lincluden-menu-accordion.is-open .accordion-panel {
    display: block;
}

/* Responsive enable classes: show header on respective breakpoints */
/* Mobile first: on small screens, show header if has-acc-mobile */
@media (max-width: 767px) {
    .lincluden-menu-accordion.has-acc-mobile,
    .lincluden-menu-accordion.has-acc-tablet {
        --accordion-header-display: block;
        --accordion-panel-display: none;
    }

    .lincluden-menu-accordion.has-acc-mobile[data-start-open="1"],
    .lincluden-menu-accordion.has-acc-tablet[data-start-open="1"] {
        --accordion-panel-display: block;
    }

    /* Apply accordion text alignment to the inner list when accordion is active (header visible) */
    .lincluden-acc-align-left .lincluden-menu-accordion.has-acc-mobile .lincluden-menu-list,
    .lincluden-acc-align-left .lincluden-menu-accordion.has-acc-tablet .lincluden-menu-list {
        justify-content: flex-start;
        text-align: left;
    }

    .lincluden-acc-align-center .lincluden-menu-accordion.has-acc-mobile .lincluden-menu-list,
    .lincluden-acc-align-center .lincluden-menu-accordion.has-acc-tablet .lincluden-menu-list {
        justify-content: center;
        text-align: center;
    }

    .lincluden-acc-align-right .lincluden-menu-accordion.has-acc-mobile .lincluden-menu-list,
    .lincluden-acc-align-right .lincluden-menu-accordion.has-acc-tablet .lincluden-menu-list {
        justify-content: flex-end;
        text-align: right;
    }
}

/* Tablet: 768-1024 (Elementor common) */
@media (min-width: 768px) and (max-width: 1024px) {
    .lincluden-menu-accordion.has-acc-tablet {
        --accordion-header-display: block;
        --accordion-panel-display: none;
    }

    .lincluden-menu-accordion.has-acc-tablet[data-start-open="1"] {
        --accordion-panel-display: block;
    }

    /* Apply accordion text alignment when active on tablet */
    .lincluden-acc-align-left .lincluden-menu-accordion.has-acc-tablet .lincluden-menu-list {
        justify-content: flex-start;
        text-align: left;
    }

    .lincluden-acc-align-center .lincluden-menu-accordion.has-acc-tablet .lincluden-menu-list {
        justify-content: center;
        text-align: center;
    }

    .lincluden-acc-align-right .lincluden-menu-accordion.has-acc-tablet .lincluden-menu-list {
        justify-content: flex-end;
        text-align: right;
    }
}

/* Desktop: 1025+ */
@media (min-width: 1025px) {
    .lincluden-menu-accordion.has-acc-desktop {
        --accordion-header-display: block;
        --accordion-panel-display: none;
    }

    .lincluden-menu-accordion.has-acc-desktop[data-start-open="1"] {
        --accordion-panel-display: block;
    }

    /* Apply accordion text alignment when active on desktop */
    .lincluden-acc-align-left .lincluden-menu-accordion.has-acc-desktop .lincluden-menu-list {
        justify-content: flex-start;
        text-align: left;
    }

    .lincluden-acc-align-center .lincluden-menu-accordion.has-acc-desktop .lincluden-menu-list {
        justify-content: center;
        text-align: center;
    }

    .lincluden-acc-align-right .lincluden-menu-accordion.has-acc-desktop .lincluden-menu-list {
        justify-content: flex-end;
        text-align: right;
    }
}

/* Accessibility and icon state styles for Menu List Accordion */
.lincluden-menu-accordion .accordion-header:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Ensure icons size relative to font-size and align properly */
.lincluden-menu-accordion .accordion-header .accordion-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.lincluden-menu-accordion .accordion-header .accordion-icon svg {
    width: 1em;
    height: 1em;
}

/* Show closed icon by default; swap when open */
.lincluden-menu-accordion .accordion-header .accordion-icon--open {
    display: none;
}

.lincluden-menu-accordion.is-open .accordion-header .accordion-icon--open {
    display: inline-flex;
}

.lincluden-menu-accordion.is-open .accordion-header .accordion-icon--closed {
    display: none;
}


/* Label state handling: show closed text by default; swap when open */
.lincluden-menu-accordion .accordion-header .accordion-label--open {
    display: none;
}

.lincluden-menu-accordion.is-open .accordion-header .accordion-label--open {
    display: inline;
}

.lincluden-menu-accordion.is-open .accordion-header .accordion-label--closed {
    display: none;
}

/* Ensure correct initial label when starting open at breakpoints where header is visible */
@media (max-width: 767px) {
    .lincluden-menu-accordion.has-acc-mobile[data-start-open="1"] .accordion-header .accordion-label--open,
    .lincluden-menu-accordion.has-acc-tablet[data-start-open="1"] .accordion-header .accordion-label--open {
        display: inline;
    }

    .lincluden-menu-accordion.has-acc-mobile[data-start-open="1"] .accordion-header .accordion-label--closed,
    .lincluden-menu-accordion.has-acc-tablet[data-start-open="1"] .accordion-header .accordion-label--closed {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .lincluden-menu-accordion.has-acc-tablet[data-start-open="1"] .accordion-header .accordion-label--open {
        display: inline;
    }

    .lincluden-menu-accordion.has-acc-tablet[data-start-open="1"] .accordion-header .accordion-label--closed {
        display: none;
    }
}

@media (min-width: 1025px) {
    .lincluden-menu-accordion.has-acc-desktop[data-start-open="1"] .accordion-header .accordion-label--open {
        display: inline;
    }

    .lincluden-menu-accordion.has-acc-desktop[data-start-open="1"] .accordion-header .accordion-label--closed {
        display: none;
    }
}
