/* Menu Dropdown Avancé - f57f4c08 v3.0.0 */

.mda-f57f4c08-nav {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.mda-f57f4c08-nav.mda-f57f4c08-width-fit_content {
    width: auto;
    display: inline-block;
}

/* Toggle */
.mda-f57f4c08-toggle-wrap {
    display: none;
    width: 100%;
}

.mda-f57f4c08-toggle-btn {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 8px;
    transition: all 0.3s ease;
}

/* Menu List */
.mda-f57f4c08-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.mda-f57f4c08-layout-vertical .mda-f57f4c08-menu-list {
    flex-direction: column;
}

/* Menu Item */
.mda-f57f4c08-menu-item {
    position: relative;
    list-style: none;
}

.mda-f57f4c08-menu-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.3s ease;
    cursor: pointer;
    line-height: 1.4;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

/* Focus visible */
.mda-f57f4c08-menu-link:focus-visible,
.mda-f57f4c08-submenu-link:focus-visible,
.mda-f57f4c08-toggle-btn:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Hover Animations */
.mda-f57f4c08-underline {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.mda-f57f4c08-underline-el {
    bottom: 0;
    transform-origin: left center;
}

.mda-f57f4c08-overline-el {
    top: 0;
    transform-origin: right center;
}

.mda-f57f4c08-menu-link:hover .mda-f57f4c08-underline,
.mda-f57f4c08-menu-link:focus .mda-f57f4c08-underline {
    transform: scaleX(1);
}

/* Background slide */
.mda-f57f4c08-nav[data-hover-anim="background"] .mda-f57f4c08-menu-link::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: currentColor;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 0;
}

.mda-f57f4c08-nav[data-hover-anim="background"] .mda-f57f4c08-menu-link:hover::before,
.mda-f57f4c08-nav[data-hover-anim="background"] .mda-f57f4c08-menu-link:focus::before {
    transform: scaleX(1);
    opacity: 0.08;
}

.mda-f57f4c08-nav[data-hover-anim="background"] .mda-f57f4c08-menu-link > * {
    position: relative;
    z-index: 1;
}

/* Grow / Shrink / Float / Sink */
.mda-f57f4c08-nav[data-hover-anim="grow"] .mda-f57f4c08-menu-link:hover,
.mda-f57f4c08-nav[data-hover-anim="grow"] .mda-f57f4c08-menu-link:focus {
    transform: scale(1.08);
}
.mda-f57f4c08-nav[data-hover-anim="shrink"] .mda-f57f4c08-menu-link:hover,
.mda-f57f4c08-nav[data-hover-anim="shrink"] .mda-f57f4c08-menu-link:focus {
    transform: scale(0.92);
}
.mda-f57f4c08-nav[data-hover-anim="float"] .mda-f57f4c08-menu-link:hover,
.mda-f57f4c08-nav[data-hover-anim="float"] .mda-f57f4c08-menu-link:focus {
    transform: translateY(-4px);
}
.mda-f57f4c08-nav[data-hover-anim="sink"] .mda-f57f4c08-menu-link:hover,
.mda-f57f4c08-nav[data-hover-anim="sink"] .mda-f57f4c08-menu-link:focus {
    transform: translateY(4px);
}

/* Item Icon */
.mda-f57f4c08-item-icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    transition: color 0.3s ease, fill 0.3s ease;
}

/* Dropdown Indicator */
.mda-f57f4c08-dropdown-indicator {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Submenu */
.mda-f57f4c08-submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 100%;
    z-index: 1000;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: flex;
    flex-direction: column;
}

.mda-f57f4c08-submenu.mda-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Submenu Layouts */
.mda-f57f4c08-sublayout-horizontal {
    flex-direction: row;
    flex-wrap: wrap;
}

.mda-f57f4c08-sublayout-grid-2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
}

.mda-f57f4c08-sublayout-grid-3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
}

.mda-f57f4c08-sublayout-grid-2.mda-visible,
.mda-f57f4c08-sublayout-grid-3.mda-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Dropdown Content Panel */
.mda-f57f4c08-dropdown-content-panel {
    position: absolute;
    top: 100%;
    z-index: 1000;
    min-width: 300px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-sizing: border-box;
}

.mda-f57f4c08-dropdown-content-panel.mda-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Dropdown Width */
.mda-f57f4c08-dropdown-content-panel.mda-dd-width-full_width {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}

.mda-f57f4c08-dropdown-content-panel.mda-dd-width-full_width.mda-visible {
    transform: translateX(-50%);
}

/* Dropdown Positions */
.mda-dropdown-pos-left > .mda-f57f4c08-submenu,
.mda-dropdown-pos-left > .mda-f57f4c08-dropdown-content-panel:not(.mda-dd-width-full_width) {
    left: 0;
}

.mda-dropdown-pos-center > .mda-f57f4c08-submenu,
.mda-dropdown-pos-center > .mda-f57f4c08-dropdown-content-panel:not(.mda-dd-width-full_width) {
    left: 50%;
    transform: translateX(-50%);
}

.mda-dropdown-pos-center > .mda-f57f4c08-submenu.mda-visible,
.mda-dropdown-pos-center > .mda-f57f4c08-dropdown-content-panel.mda-visible:not(.mda-dd-width-full_width) {
    transform: translateX(-50%);
}

.mda-dropdown-pos-right > .mda-f57f4c08-submenu,
.mda-dropdown-pos-right > .mda-f57f4c08-dropdown-content-panel:not(.mda-dd-width-full_width) {
    right: 0;
}

.mda-dropdown-pos-stretch > .mda-f57f4c08-submenu,
.mda-dropdown-pos-stretch > .mda-f57f4c08-dropdown-content-panel {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}

.mda-dropdown-pos-stretch > .mda-f57f4c08-submenu.mda-visible,
.mda-dropdown-pos-stretch > .mda-f57f4c08-dropdown-content-panel.mda-visible {
    transform: translateX(-50%);
}

/* Submenu Items */
.mda-f57f4c08-submenu-item {
    list-style: none;
}

.mda-f57f4c08-submenu-link {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    white-space: normal;
    transition: all 0.3s ease;
}

.mda-f57f4c08-sub-icon {
    display: inline-flex;
    align-items: center;
    margin-right: 8px;
    flex-shrink: 0;
    margin-top: 2px;
    transition: color 0.3s ease, fill 0.3s ease;
}

.mda-f57f4c08-sub-text-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mda-f57f4c08-sub-title {
    display: block;
}

.mda-f57f4c08-sub-desc {
    display: block;
    font-size: 0.85em;
    opacity: 0.7;
    line-height: 1.3;
}

/* Full Width Dropdown Override */
.mda-f57f4c08-nav[data-full-width="true"] .mda-f57f4c08-submenu,
.mda-f57f4c08-nav[data-full-width="true"] .mda-f57f4c08-dropdown-content-panel {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}

.mda-f57f4c08-nav[data-full-width="true"] .mda-f57f4c08-submenu.mda-visible,
.mda-f57f4c08-nav[data-full-width="true"] .mda-f57f4c08-dropdown-content-panel.mda-visible {
    transform: translateX(-50%);
}

/* Mobile Styles */
.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-toggle-wrap {
    display: flex;
}

.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-menu-list {
    display: none;
    flex-direction: column;
    width: 100%;
}

.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-menu-list.mda-menu-open {
    display: flex;
}

.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-menu-link {
    white-space: normal;
}

.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-submenu,
.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-dropdown-content-panel {
    position: static;
    width: 100% !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.4s ease, visibility 0.3s ease;
}

.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-submenu.mda-visible,
.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-dropdown-content-panel.mda-visible {
    opacity: 1;
    visibility: visible;
    max-height: 2000px;
    pointer-events: auto;
}

.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-submenu {
    flex-direction: column !important;
    display: flex !important;
    grid-template-columns: none !important;
}

.mda-f57f4c08-nav.mda-mobile-active .mda-f57f4c08-submenu-link {
    padding-left: 32px;
}
