/* Container framework - Dictates the viewing window */
.kb-sliding-menu-wrapper {
    position: relative !important;
    overflow: hidden !important; 
    width: 100% !important;
    box-sizing: border-box;
    transition: height 0.35s ease-in-out !important; 
}

/* Clear default styles */
.kb-sliding-menu-wrapper ul.kb-menu-root, 
.kb-sliding-menu-wrapper ul.sub-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box;
    display: block !important;
}

/* The Root Menu sliding track */
.kb-sliding-menu-wrapper ul.kb-menu-root {
    position: relative !important;
    transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1) !important;
    transform: translateX(0); 
}

/* Submenu Stack Overlay */
.kb-sliding-menu-wrapper ul.sub-menu {
    position: absolute !important;
    top: 0 !important;
    left: 100% !important; 
    height: auto !important; 
    background-color: inherit !important; 
    z-index: 10 !important;
    visibility: hidden !important;
    transition: visibility 0s linear 0.35s !important;
}

.kb-sliding-menu-wrapper ul.sub-menu.is-active {
    visibility: visible !important;
    z-index: 99 !important;
    transition: visibility 0s linear 0s !important; 
}

/* Individual list items */
.kb-sliding-menu-wrapper li {
    position: static !important;
    border-bottom: 1px solid #eeeeee; 
    padding: 0 !important;
    width: 100% !important;
}

/* Standard menu item links - Upgraded to pure Flexbox */
.kb-sliding-menu-wrapper li a {
    display: flex !important;
    align-items: center !important;
    padding: 16px 20px; 
    color: #111111; 
    font-size: 16px; 
    text-decoration: none !important;
    box-sizing: border-box !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
    white-space: normal !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* SVG Icon Structure */
.kb-sliding-menu-wrapper svg {
    display: block;
    fill: #888888; 
    width: 16px; 
    transition: fill 0.2s ease;
}

/* Remove all hardcoded margins. Flexbox handles the gaps now! */
.kb-parent-icon, .kb-back-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
}

/* Back Button Layout Specifics */
.kb-sliding-menu-wrapper .kb-back-btn a {
    font-weight: 700;
    /* Alignment is now 100% handled by Elementor settings */
}