/* ================================================================
   FEF NAVIGATION WIDGET
   ================================================================ */
.fef-nav{position:relative;z-index:100}
.fef-nav-menu,.fef-nav-submenu{list-style:none;margin:0;padding:0}
.fef-nav-link{display:flex;align-items:center;gap:6px;text-decoration:none;color:inherit;white-space:nowrap;transition:all 0.3s ease;position:relative;cursor:pointer;box-sizing:border-box}
.fef-nav-link i,.fef-nav-link svg{flex-shrink:0}
.fef-nav-arrow{font-size:10px;margin-left:auto;transition:transform 0.3s ease}
.fef-nav-text{flex:1}

/* ── Arrow swap mode: show normal, hide active — toggle on open ── */
.fef-nav-arrow-swap .fef-nav-arrow-active{display:none}
.fef-nav-arrow-swap .fef-nav-item.fef-nav-open>.fef-nav-link .fef-nav-arrow-normal{display:none}
.fef-nav-arrow-swap .fef-nav-item.fef-nav-open>.fef-nav-link .fef-nav-arrow-active{display:inline-flex}
/* Horizontal hover: also swap on hover */
.fef-nav-arrow-swap.fef-nav-horizontal .fef-nav-item:hover>.fef-nav-link .fef-nav-arrow-normal{display:none}
.fef-nav-arrow-swap.fef-nav-horizontal .fef-nav-item:hover>.fef-nav-link .fef-nav-arrow-active{display:inline-flex}

/* ── Arrow animate mode: rotate on open/hover ── */
.fef-nav-arrow-animate .fef-nav-item.fef-nav-open>.fef-nav-link .fef-nav-arrow{transform:rotate(180deg)}
.fef-nav-arrow-animate.fef-nav-horizontal .fef-nav-item:hover>.fef-nav-link .fef-nav-arrow{transform:rotate(180deg)}

/* ── Horizontal ── */
.fef-nav-horizontal .fef-nav-menu{display:flex;flex-wrap:wrap;align-items:stretch}
.fef-nav-horizontal .fef-nav-item{position:relative}
.fef-nav-horizontal .fef-nav-link-0{padding:12px 16px;font-weight:500}

/* ── Vertical ── */
.fef-nav-vertical .fef-nav-menu{display:flex;flex-direction:column}
.fef-nav-vertical .fef-nav-link-0{padding:10px 16px;font-weight:500}
.fef-nav-vertical .fef-nav-submenu{position:relative;top:0;left:0;box-shadow:none;border:none;padding-left:16px;opacity:1;visibility:visible;pointer-events:auto;display:none;transform:none!important}
.fef-nav-vertical .fef-nav-item.fef-nav-open>.fef-nav-submenu{display:block}
.fef-nav-vertical .fef-nav-arrow{transition:transform 0.3s ease}

/* ── Dropdown Containers ── */
.fef-nav-horizontal .fef-nav-submenu{
    position:absolute;top:100%;left:0;min-width:200px;z-index:200;
    background:#fff;border:1px solid #e2e8f0;border-radius:6px;
    box-shadow:0 4px 16px rgba(0,0,0,0.1);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity 0.25s ease,transform 0.25s ease,visibility 0.25s
}
.fef-nav-horizontal .fef-nav-submenu .fef-nav-submenu{top:0;left:100%}
/* Flip classes: JS adds these when viewport space is blocked */
.fef-nav-horizontal .fef-nav-submenu.fef-nav-flip-h{left:auto;right:100%}
.fef-nav-horizontal .fef-nav-submenu.fef-nav-flip-v{top:auto;bottom:0}
/* Hover bridge: invisible hitbox so mouse can travel from parent item to nested submenu */
.fef-nav-horizontal .fef-nav-submenu .fef-nav-has-children::after{content:'';position:absolute;right:-8px;top:0;width:16px;height:100%;z-index:1}
.fef-nav-horizontal .fef-nav-submenu .fef-nav-has-children.fef-nav-flip-parent::after{right:auto;left:-8px}
.fef-nav-horizontal .fef-nav-submenu .fef-nav-submenu::before{content:'';position:absolute;left:-8px;top:0;width:8px;height:100%}
.fef-nav-horizontal .fef-nav-submenu.fef-nav-flip-h::before{left:auto;right:-8px}
.fef-nav-horizontal .fef-nav-item:hover>.fef-nav-submenu,
.fef-nav-horizontal .fef-nav-item.fef-nav-open>.fef-nav-submenu{opacity:1;visibility:visible;pointer-events:auto}
.fef-nav-submenu .fef-nav-link{padding:8px 16px;font-size:14px;color:#334155;transition:all 0.2s ease}

/* ── Effects ── */
.fef-nav-effect-none .fef-nav-submenu{transition:none!important}
.fef-nav-effect-fade .fef-nav-submenu{transform:none}
.fef-nav-effect-slidedown .fef-nav-submenu{transform:translateY(-8px)}
.fef-nav-effect-slidedown .fef-nav-item:hover>.fef-nav-submenu,.fef-nav-effect-slidedown .fef-nav-item.fef-nav-open>.fef-nav-submenu{transform:translateY(0)}
.fef-nav-effect-slideup .fef-nav-submenu{transform:translateY(8px)}
.fef-nav-effect-slideup .fef-nav-item:hover>.fef-nav-submenu,.fef-nav-effect-slideup .fef-nav-item.fef-nav-open>.fef-nav-submenu{transform:translateY(0)}
.fef-nav-effect-slow-slide .fef-nav-submenu{transform:translateY(-12px);transition-duration:500ms!important}
.fef-nav-effect-slow-slide .fef-nav-item:hover>.fef-nav-submenu,.fef-nav-effect-slow-slide .fef-nav-item.fef-nav-open>.fef-nav-submenu{transform:translateY(0)}
.fef-nav-effect-scale .fef-nav-submenu{transform:scale(0.9);transform-origin:top left}
.fef-nav-effect-scale .fef-nav-item:hover>.fef-nav-submenu,.fef-nav-effect-scale .fef-nav-item.fef-nav-open>.fef-nav-submenu{transform:scale(1)}
.fef-nav-effect-flip .fef-nav-submenu{transform:perspective(600px) rotateX(-10deg);transform-origin:top center}
.fef-nav-effect-flip .fef-nav-item:hover>.fef-nav-submenu,.fef-nav-effect-flip .fef-nav-item.fef-nav-open>.fef-nav-submenu{transform:perspective(600px) rotateX(0)}
.fef-nav-effect-elastic .fef-nav-submenu{transform:translateY(-10px) scale(0.95);transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)!important}
.fef-nav-effect-elastic .fef-nav-item:hover>.fef-nav-submenu,.fef-nav-effect-elastic .fef-nav-item.fef-nav-open>.fef-nav-submenu{transform:translateY(0) scale(1)}

/* ── Sticky mode: delay submenu close ── */
.fef-nav-sticky .fef-nav-submenu{transition-delay:0s,0s,0.15s}
.fef-nav-sticky .fef-nav-item:hover>.fef-nav-submenu{transition-delay:0s}

/* ── Icon Placement: Above ── */
.fef-nav-icons-above .fef-nav-link-0{flex-direction:column;text-align:center}
.fef-nav-icons-above .fef-nav-link-0 .fef-nav-icon{order:-1}
.fef-nav-icons-above .fef-nav-arrow{position:absolute;right:4px;top:50%;transform:translateY(-50%)}

/* ── Hover Underline / Overline ── */
.fef-nav-hover-underline .fef-nav-link-0::after,.fef-nav-hover-overline .fef-nav-link-0::after{content:'';position:absolute;left:50%;width:0;height:2px;background:currentColor;transition:all 0.3s ease;transform:translateX(-50%)}
.fef-nav-hover-underline .fef-nav-link-0::after{bottom:0}
.fef-nav-hover-overline .fef-nav-link-0::after{top:0}
.fef-nav-hover-underline .fef-nav-item:hover>.fef-nav-link-0::after,.fef-nav-hover-overline .fef-nav-item:hover>.fef-nav-link-0::after,
.fef-nav-hover-underline .fef-nav-item.current-menu-item>.fef-nav-link-0::after,.fef-nav-hover-overline .fef-nav-item.current-menu-item>.fef-nav-link-0::after{width:80%}

/* ── Hover BG slide ── */
.fef-nav-hover-bg-slide .fef-nav-link-0::before{content:'';position:absolute;inset:0;background:var(--fef-nav-hover-bg,rgba(0,0,0,0.05));transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease;z-index:-1;border-radius:inherit}
.fef-nav-hover-bg-slide .fef-nav-item:hover>.fef-nav-link-0::before{transform:scaleX(1)}

/* ── Dividers ── */
.fef-nav-dividers.fef-nav-horizontal .fef-nav-menu>.fef-nav-item+.fef-nav-item{border-left:1px solid #e2e8f0}
.fef-nav-dividers.fef-nav-vertical .fef-nav-menu>.fef-nav-item+.fef-nav-item{border-top:1px solid #e2e8f0}

/* ── Active ── */
.fef-nav-item.current-menu-item>.fef-nav-link,.fef-nav-item.current-menu-ancestor>.fef-nav-link{font-weight:600}

/* ── Post Count Badge ── */
.fef-nav-count{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;line-height:1;padding:1px 6px;border-radius:10px;background:#f1f5f9;color:#64748b;margin-left:6px;white-space:nowrap}
.fef-nav-count-sup{position:absolute;top:-4px;right:-4px;margin-left:0;font-size:10px;min-width:16px;text-align:center}

/* ── Mobile Toggle ── */
.fef-nav-toggle{display:none;align-items:center;justify-content:center;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:20px;cursor:pointer;color:inherit;transition:all 0.3s ease;line-height:1;box-sizing:border-box;z-index:9990}
.fef-nav-toggle img{object-fit:contain}

/* Toggle text wrapper */
.fef-nav-toggle-wrap{display:none;align-items:center;gap:8px}
.fef-nav-toggle-wrap .fef-nav-toggle{display:flex}
.fef-nav-toggle-label{font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer}
.fef-nav-toggle-text-top{flex-direction:column}
.fef-nav-toggle-text-top .fef-nav-toggle-label{order:-1}

/* Toggle predefined placements */
.fef-nav-toggle-placed{z-index:9990}
.fef-nav-toggle-pos-absolute{position:absolute}
.fef-nav-toggle-pos-fixed{position:fixed}
.fef-nav-toggle-top-left{top:16px;left:16px}
.fef-nav-toggle-top-right{top:16px;right:16px;left:auto}
.fef-nav-toggle-bottom-left{bottom:16px;left:16px;top:auto}
.fef-nav-toggle-bottom-right{bottom:16px;right:16px;top:auto;left:auto}

/* ── Vertical Hamburger Mode ── */
.fef-nav-vert-hamburger .fef-nav-toggle{display:flex}
.fef-nav-vert-hamburger .fef-nav-toggle-wrap{display:flex}
.fef-nav-vert-hamburger .fef-nav-toggle-wrap .fef-nav-toggle{display:flex}
.fef-nav-vert-hamburger .fef-nav-menu{display:none}
.fef-nav-vert-hamburger .fef-nav-menu.fef-nav-mobile-open{display:flex}
.fef-nav-vert-no-hamburger .fef-nav-toggle,.fef-nav-vert-no-hamburger .fef-nav-toggle-wrap{display:none!important}
.fef-nav-vert-no-hamburger .fef-nav-menu{display:flex!important;flex-direction:column}

/* ── Mobile (applied via inline <style> per widget breakpoint) ── */
.fef-nav-mobile .fef-nav-toggle{display:flex}
.fef-nav-mobile.fef-nav-horizontal .fef-nav-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:300;max-height:80vh;overflow-y:auto}
.fef-nav-mobile.fef-nav-horizontal .fef-nav-menu.fef-nav-mobile-open{display:flex}
.fef-nav-mobile .fef-nav-submenu{position:relative!important;top:0!important;left:0!important;box-shadow:none!important;border:none!important;border-radius:0!important;padding-left:16px;opacity:1!important;visibility:visible!important;pointer-events:auto!important;display:none;transform:none!important}
.fef-nav-mobile .fef-nav-item.fef-nav-open>.fef-nav-submenu{display:block}
.fef-nav-mobile .fef-nav-link-0{padding:12px 16px}