/* =========================================
   MENU DESKTOP STANDARD
   ========================================= */
.mn-menu-desktop ul.mn-nav {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    /* Gap e Justify vengono gestiti inline dal JS se configurati, qui c'è il fallback */
    gap: 20px;
}

.mn-menu-desktop li { position: relative; }

.mn-menu-desktop a,
.mn-menu-desktop span.mn-separator {
    display: flex;
    align-items: center;
    color: var(--mn-text-dark);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
    white-space: nowrap;
    cursor: pointer;
}
.mn-menu-desktop span.mn-separator { cursor: default; }

/* Stati Attivi */
.mn-menu-desktop li.current > a,
.mn-menu-desktop li.current > span,
.mn-menu-desktop li.active-parent > a,
.mn-menu-desktop li.active-parent > span {
    color: var(--mn-accent);
    font-weight: 700;
}
.mn-menu-desktop a:hover,
.mn-menu-desktop span.mn-separator:hover {
    color: var(--mn-accent);
}

.mn-menu-desktop i, .mn-menu-desktop svg { margin-right: 6px; }

/* =========================================
   FRECCIA (CARET)
   ========================================= */
.mn-caret {
    display: inline-block;
    margin-left: 8px;
    font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", "FontAwesome", sans-serif;
    font-weight: 900;
    font-size: 0.8em;
    transition: transform 0.3s ease;
}
.mn-caret::before { content: "\f078"; }

/* Rotazioni */
.mn-menu-desktop > ul > li:hover > a .mn-caret,
.mn-menu-desktop > ul > li:hover > span .mn-caret { transform: rotate(180deg); }
.mn-subnav li > a .mn-caret,
.mn-subnav li > span .mn-caret { transform: rotate(-90deg); }
.mn-subnav li:hover > a .mn-caret { transform: rotate(-90deg) translateX(3px); }


/* =========================================
   SOTTOMENU (DROPDOWNS)
   ========================================= */
.mn-subnav {
    position: absolute;
    background: #fff;
    min-width: 220px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    list-style: none;
    padding: 10px 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s ease;
    z-index: 999;
    border-radius: 4px;
}

.mn-nav > li > .mn-subnav { top: 100%; left: 0; }
.mn-subnav .mn-subnav { top: 0; left: 100%; margin-left: 0; }

.mn-menu-desktop li:hover > .mn-subnav {
    opacity: 1; visibility: visible; transform: translateY(0);
}

.mn-subnav a, .mn-subnav span {
    padding: 8px 20px;
    font-size: 0.95em;
    color: var(--mn-text-dark);
    justify-content: space-between;
}
.mn-subnav li { border-bottom: 1px solid #f0f0f0; }
.mn-subnav li:last-child { border: none; }


/* =========================================
   SMART FLIP (EDGE DETECTION)
   ========================================= */
.mn-subnav.mn-flip {
    left: auto !important; right: 100% !important;
    margin-left: 0; margin-right: 0;
}
.mn-nav > li > .mn-subnav.mn-flip {
    left: auto !important; right: 0 !important;
    top: 100% !important; margin-top: 0;
}
.mn-subnav li.mn-flip-parent > a .mn-caret,
.mn-subnav li.mn-flip-parent > span .mn-caret {
    transform: rotate(90deg) !important;
}