/* Mobile Accordion Navigation Styles */

/* Mobile Menu Container */
.offcm .mobile-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.offcm .mobile-menu-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Menu Items */
.offcm .mobile-menu-item-has-children {
    margin-bottom: 0.5rem;
}

.offcm .mobile-menu-item {
    margin-bottom: 0;
}

/* Links */
.offcm .nav-link {
    padding: 0.75rem 1.5rem !important;
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
    color: #0071A9;
    font-weight: 600;
    text-transform: uppercase;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0 !important;
}

.offcm .nav-link:hover {
    background-color: #f9f9f9;
}

.offcm .accordion-header-link {
    padding: 0.75rem 0 !important;
    text-decoration: none;
    transition: all 0.3s ease;
    color: #0071A9;
    font-weight: 600;
    text-transform: uppercase;
}

.offcm .accordion-header-link:hover {
    background-color: transparent;
}

/* Accordion Icon */
.offcm .accordion-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.3s ease;
    color: #0071A9;
}

.offcm .accordion-header-link[aria-expanded="true"] .accordion-icon {
    transform: rotate(180deg);
}

/* Submenu Styles */
.offcm .mobile-submenu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.offcm .mobile-submenu.depth_1 {
    padding-left: 1rem;
}

.offcm .mobile-submenu.depth_1 .nav-link,
.offcm .mobile-submenu.depth_1 .submenu-link {
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
    border-bottom: 1px solid #efefef;
}

.offcm .mobile-submenu.depth_2 {
    padding-left: 1rem;
}

.offcm .mobile-submenu.depth_2 .nav-link,
.offcm .mobile-submenu.depth_2 .submenu-link {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
}

/* Submenu Links (items with children) */
.offcm .submenu-link {
    padding: 0.6rem 1rem !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer;
    text-decoration: none;
    color: #0071A9;
    font-weight: 600;
    text-transform: uppercase;
    border-bottom: 1px solid #efefef;
    transition: all 0.3s ease;
}

.offcm .submenu-link .accordion-icon {
    margin-left: 0.5rem;
    font-size: 0.85rem;
    transition: transform 0.3s ease;
}

.offcm .submenu-link .accordion-icon.open {
    transform: rotate(180deg);
}

/* Nested Submenu - Hidden by Default */
.offcm .nested-submenu {
    display: none;
}

/* Accordion Collapse Animation */
.offcm .accordion-collapse {
    transition: height 0.35s ease, visibility 0.35s ease !important;
}

.offcm .accordion-collapse.show {
    visibility: visible;
}

/* RTL Support */
.offcm [dir="rtl"] .accordion-icon {
    margin-right: 0.5rem;
}

.offcm [dir="rtl"] .accordion-header-link,
.offcm [dir="rtl"] .submenu-link {
    text-align: right;
}

.offcm [dir="rtl"] .mobile-submenu {
    border-left: none;
    padding-left: 0;
    padding-right: 1rem;
}

/* Mobile Specific Breakpoint */
@media (max-width: 991.98px) {
    .offcm .mobile-menu-list {
        width: 100%;
    }

    .offcm .nav-link {
        font-size: 1rem;
    }

    .offcm .mobile-submenu.depth_1 {
        margin-left: 0;
        margin-right: 0;
    }
}

/* Offcanvas Body Adjustments */
.offcm .offcanvas-body .mobile-menu-list {
    padding-top: 0.5rem;
}

.offcm .offcanvas-body .nav-link {
    padding: 0.75rem 0;
    border-radius: 0 !important;
}

.offcm .submenu-link {
    padding-left: 20px !important;
}

/* Active Menu Items */
.offcm .menu-item-active.accordion-header-link,
.offcm .menu-item-active.submenu-link {
    color: #2EAE49 !important;
}

.offcm .mobile-menu-item a.active,
.offcm .mobile-menu-item a.current-menu-item,
.offcm .mobile-menu-item a.current-menu-parent {
    background-color: #DDF4FF;
    padding-left: calc(1rem - 3px);
}

.offcm [dir="rtl"] .mobile-menu-item a.active,
.offcm [dir="rtl"] .mobile-menu-item a.current-menu-item,
.offcm [dir="rtl"] .mobile-menu-item a.current-menu-parent {
    border-left: none;
    padding-left: 1rem;
    padding-right: calc(1rem - 3px);
}
