.fmm{width:100%;box-sizing:border-box;padding:12px;font-family:inherit;text-align:left;background:var(--fmm-menu-bg,#f5f8fc);color:var(--fmm-text,#1b2a4a)}
.fmm *,.fmm *::before,.fmm *::after{box-sizing:border-box}
.fmm:not(.fmm--full){border-radius:var(--fmm-radius,10px)}
.fmm.fmm--shadow{box-shadow:0 16px 40px rgba(20,40,80,.12)}
.fmm .fmm-shell{display:flex;gap:12px;align-items:stretch;min-height:min(var(--fmm-min-height,430px),var(--fmm-max-h,10000px));max-height:var(--fmm-max-h,none);max-width:var(--fmm-content-width,none);margin:0 auto}
/* Never taller than the screen: each card scrolls on its own if it still doesn't fit */
.fmm .fmm-left,.fmm .fmm-right{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}

/* Left card - main categories */
.fmm .fmm-left{flex:0 0 var(--fmm-left-width,320px);width:var(--fmm-left-width,320px);padding:8px;background:var(--fmm-left-bg,#fff);border:1px solid var(--fmm-border,#dde5f0);border-radius:var(--fmm-radius,10px)}
.fmm .fmm-main{position:relative;display:flex;align-items:center;gap:14px;padding:10px 12px;color:var(--fmm-text,#1b2a4a);font-size:var(--fmm-item-size,15px);font-weight:500;line-height:1.3;text-decoration:none;border-radius:calc(var(--fmm-radius,10px) * .6);transition:background-color .2s ease,color .2s ease}
.fmm .fmm-main::after{content:"";position:absolute;left:12px;right:12px;bottom:0;border-bottom:1px solid var(--fmm-line,#e5eaf2);transition:opacity .2s ease}
.fmm .fmm-main:last-child::after,.fmm .fmm-main.is-active::after,.fmm .fmm-main:hover::after,.fmm .fmm-main:has(+ .fmm-main.is-active)::after{opacity:0}
.fmm .fmm-main:hover,.fmm .fmm-main:focus,.fmm .fmm-main.is-active{background:var(--fmm-active-bg,#eaf2fd);color:var(--fmm-accent,#1d5fd1);text-decoration:none;outline:none}
.fmm .fmm-icon{flex:0 0 var(--fmm-icon-size,26px);width:var(--fmm-icon-size,26px);height:var(--fmm-icon-size,26px);display:flex;align-items:center;justify-content:center}
.fmm .fmm-icon img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}
.fmm .fmm-main-name{flex:1;min-width:0}
.fmm .fmm-chev{flex:0 0 16px;width:16px;height:16px;opacity:.75;transition:transform .2s ease,opacity .2s ease}
.fmm .fmm-main.is-active .fmm-chev{opacity:1}

/* Right card - subcategories */
.fmm .fmm-right{flex:1;min-width:0;position:relative;background:var(--fmm-panel-bg,#fff);border:1px solid var(--fmm-border,#dde5f0);border-radius:var(--fmm-radius,10px)}
.fmm .fmm-panel{display:none;gap:28px;padding:22px 28px;min-height:100%}
.fmm .fmm-panel.is-active{display:flex}
.fmm .fmm-content{flex:1;min-width:0}
.fmm .fmm-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.fmm .fmm-title{display:block;min-width:0;color:var(--fmm-text,#1b2a4a);font-size:var(--fmm-title-size,28px);font-weight:700;line-height:1.2;text-decoration:none}
.fmm .fmm-viewall{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--fmm-accent,#1d5fd1);font-size:var(--fmm-sub-size,15px);font-weight:600;white-space:nowrap;text-decoration:none}
.fmm .fmm-viewall svg{transition:transform .2s ease}
.fmm .fmm-viewall:hover{color:var(--fmm-accent,#1d5fd1);text-decoration:none}
.fmm .fmm-viewall:hover svg{transform:translateX(3px)}
.fmm .fmm-title:hover{color:var(--fmm-accent,#1d5fd1);text-decoration:none}
.fmm .fmm-list{display:grid;grid-template-columns:repeat(var(--fmm-columns,1),minmax(0,1fr));column-gap:40px}
/* Automatic columns: fills top-to-bottom, JS sets --fmm-rows so the list fits the height */
.fmm .fmm-list.is-auto{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-template-rows:repeat(var(--fmm-rows,10),auto)}
.fmm .fmm-sub{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px;border-bottom:1px solid var(--fmm-line,#e5eaf2);color:var(--fmm-sub,#2b3a58);font-size:var(--fmm-sub-size,15px);line-height:1.35;text-decoration:none;transition:color .2s ease}
.fmm .fmm-sub:hover{color:var(--fmm-accent,#1d5fd1);text-decoration:none}
.fmm .fmm-sub:hover .fmm-chev{opacity:1;transform:translateX(2px)}
.fmm .fmm-banner{flex:0 0 var(--fmm-banner-width,300px);width:var(--fmm-banner-width,300px);display:flex;align-items:flex-start;justify-content:center}
.fmm .fmm-banner img{display:block;max-width:100%;height:auto;border-radius:calc(var(--fmm-radius,10px) * .6)}
.fmm .fmm-mobile-title{display:none;font-weight:700;padding:12px 15px}

/* Overlay mode (like plaisio.gr) - JS moves the menu to <body> and opens it under the top bar */
.fmm .fmm-left-head{display:none}
.fmm.fmm--overlay{position:fixed;left:0;right:0;z-index:100000;display:none;width:auto!important;max-width:none!important;transform:none!important;margin:0!important;border-radius:0;padding:16px 20px;box-shadow:none}
.fmm.fmm--overlay.is-open{display:block}
.fmm.fmm--overlay .fmm-shell{height:100%;max-height:none;min-height:0}
.fmm.fmm--overlay .fmm-left-head{display:flex;align-items:center;gap:10px;padding:6px 8px 12px;margin-bottom:6px;border-bottom:1px solid var(--fmm-line,#e5eaf2);font-size:calc(var(--fmm-item-size,15px) + 3px);font-weight:700;color:var(--fmm-text,#1b2a4a)}
.fmm .fmm-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background-color .2s ease}
.fmm .fmm-close:hover,.fmm .fmm-close:focus{background:var(--fmm-active-bg,#eaf2fd);color:var(--fmm-accent,#1d5fd1);outline:none}
html.fmm-lock,html.fmm-lock body{overflow:hidden!important}
@media(min-width:768px){
  /* Theme dropdown of the trigger item stays empty - hide it, the overlay replaces it */
  li.fmm-overlay-trigger > .dropdown-menu,li.fmm-overlay-trigger > .j-dropdown{display:none!important}
}

/* Compact mode - added by JS on short screens (laptops) */
.fmm.fmm--compact{padding:8px}
.fmm.fmm--compact .fmm-shell{gap:8px}
.fmm.fmm--compact .fmm-left{padding:4px}
.fmm.fmm--compact .fmm-left-head{padding:2px 6px 6px;margin-bottom:2px}
.fmm.fmm--compact .fmm-main{padding:6px 10px}
.fmm.fmm--compact .fmm-panel{padding:14px 22px}
.fmm.fmm--compact .fmm-head{margin-bottom:4px}
.fmm.fmm--compact .fmm-sub{padding:6px 4px}

@media(max-width:767px){
  .fmm{padding:0;box-shadow:none!important;border-radius:0}
  .fmm .fmm-mobile-title{display:block}
  .fmm .fmm-shell{display:block;min-height:0;max-height:none}
  .fmm .fmm-left{width:100%;border:0;border-radius:0;overflow:visible}
  .fmm .fmm-right{display:none}
}
