/* Leidsens Mobile Menu v4.0.0 */
body:not(.leidsens-mobile-view) .leidsens-menu-button-wrapper,
body:not(.leidsens-mobile-view) .leidsens-menu-overlay { display: none !important; }

/* Default button position (will be overridden by dynamic CSS) */
.leidsens-menu-button-wrapper { position: fixed; top: 15px; right: 15px; z-index: 99998; }

/* Default styling for the hamburger button */
#leidsens-toggle {
    font-size: 24px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px 10px;
    cursor: pointer;
    line-height: 1;
    width: auto;
    height: auto;
    /* Basic background properties for the custom icon */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Specific styling for when a custom icon is uploaded */
#leidsens-toggle.has-custom-icon {
    width: 40px;  /* Set a fixed size */
    height: 40px; /* Set a fixed size */
    padding: 0;   /* Remove default padding */
    border: none; /* Remove default border */
    border-radius: 0;
    background-color: transparent; /* Make default background transparent */
    font-size: 0; /* Hide the default ☰ text if it's there */
}

.leidsens-menu-overlay { position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, 0.5); display: none; overflow: hidden; }
.leidsens-menu-overlay.active { display: block; }

/* --- Menu Direction & Animation --- */
#leidsens-overlay .leidsens-nav { position: absolute; top: 0; width: 85%; max-width: 400px; height: 100%; background: #fff; display: flex; flex-direction: column; transition: transform 0.3s ease-in-out; overflow: hidden; }
/* Default (Right) */
.leidsens-from-right .leidsens-nav { right: 0; transform: translateX(100%); }
.leidsens-from-right.active .leidsens-nav { transform: translateX(0) !important; }
/* Left */
.leidsens-from-left .leidsens-nav { left: 0; transform: translateX(-100%); }
.leidsens-from-left.active .leidsens-nav { transform: translateX(0) !important; }

/* Arrow & Back Button System */
.leidsens-back { font-weight: bold; }
.leidsens-from-right .leidsens-back::before { content: '← Back'; }
.leidsens-from-left .leidsens-back::before { content: '← Back'; }
a[data-pane]::after { content: '→'; font-weight: bold; font-size: 1.2rem; color: #888; padding-left: 15px; }

/* --- Layout & Panes --- */
.leidsens-header { flex-shrink: 0; border-bottom: 1px solid #eee; }
.leidsens-body { flex-grow: 1; position: relative; overflow: hidden; }
.leidsens-footer { flex-shrink: 0; border-top: 1px solid #eee; background: #f9f9f9; }
.leidsens-logo { padding: 1rem; text-align: center; }
.leidsens-logo img { max-width: 140px; height: auto; }

.leidsens-pane { position: absolute; top: 0; width: 100%; height: 100%; background: #fff; overflow-y: auto; transition: transform 0.3s ease-in-out; display: flex; flex-direction: column; z-index: 10; }
.leidsens-from-right .leidsens-pane { transform: translateX(100%); }
.leidsens-from-left .leidsens-pane { transform: translateX(-100%); }
.leidsens-pane.active { transform: translateX(0); z-index: 20; }

.leidsens-body > #leidsens-root-pane { position: static; transform: none; }
.leidsens-back { display: block; background: #f1f1f1; border: none; font-size: 1rem; color: #111; padding: 1rem 1.5rem; cursor: pointer; text-align: left; border-bottom: 1px solid #eee; flex-shrink: 0; }

/* --- Unified Styling for ALL Menu Items & Sub-Menus --- */
#leidsens-overlay .leidsens-menu,
#leidsens-overlay .sub-menu {
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 1.5rem !important;
}

#leidsens-overlay .leidsens-pane > .sub-menu {
    flex-grow: 1;
}

#leidsens-overlay .leidsens-menu li,
#leidsens-overlay .sub-menu li {
    border-bottom: 1px solid #eee;
}
#leidsens-overlay .leidsens-menu li:last-child,
#leidsens-overlay .sub-menu li:last-child {
    border-bottom: none;
}
#leidsens-overlay .leidsens-menu li a,
#leidsens-overlay .sub-menu li a {
    text-decoration: none !important;
    color: #111;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1rem 0;
}

/* --- Footer --- */
.leidsens-cta { padding: 1rem; text-align: center; font-weight: bold; background: #e9e9e9; }
.leidsens-cta a { text-decoration: none; color: #111; }
.leidsens-contact, .leidsens-social { padding: 1rem 1.5rem; font-size: 0.9rem; }
.leidsens-contact p { margin: 0.5rem 0; }
.leidsens-contact a, .leidsens-social a { color: #555; text-decoration: none; }
.leidsens-contact i, .leidsens-social i { margin-right: 10px; }
.leidsens-social a { margin-right: 15px; font-size: 1.4rem; }