/* Nubelo Mobile Footer Menu – styl */
:root{
  --nmfm-primary:#2A4B3C;
  --nmfm-bg:#ffffff;
  --nmfm-text:#2A4B3C;
  --nmfm-shadow:0 6px 20px rgba(0,0,0,.08);
}

@media (max-width: 768px){
  body{ padding-bottom: calc(72px + env(safe-area-inset-bottom)); }

  .nmfm-bar{
    position: fixed; left:0; right:0; bottom:0; z-index: 99999;
    display:flex; gap:6px; justify-content: space-around; align-items:center;
    background: var(--nmfm-bg); border-top:1px solid rgba(0,0,0,.06);
    box-shadow: var(--nmfm-shadow);
    padding:10px 10px calc(10px + env(safe-area-inset-bottom));
  }
  .nmfm-item{ position:relative; flex:1 1 0; display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-decoration:none !important; color: var(--nmfm-text); font-size:12px; line-height:1.1; padding:6px 4px; border-radius:12px; }
  .nmfm-icon{ display:block; line-height:0; margin-bottom:6px; }
  .nmfm-item:active{ transform: translateY(1px); }
  .nmfm-badge{ position:absolute; top:2px; right:18px; min-width:18px; height:18px; padding:0 4px; border-radius:999px;
    background:#d33; color:#fff; font-size:11px; line-height:18px; text-align:center; }

  /* backdrop */
  .nmfm-backdrop[hidden]{ display:none; }
  .nmfm-backdrop{ position:fixed; inset:0; background: rgba(0,0,0,.38); z-index: 99998; opacity:0; transition:opacity .25s ease; }
  .nmfm-backdrop.is-show{ opacity:1; }

  /* Drawer */
  .nmfm-overlay{ position: fixed; inset:0; z-index: 100000; pointer-events:none; }
  .nmfm-drawer{
    position:absolute; left:0; right:0; bottom:0;
    height: 85%; max-height: 720px; background:#fff;
    border-top-left-radius:16px; border-top-right-radius:16px;
    box-shadow: 0 -10px 30px rgba(0,0,0,.15);
    transform: translateY(100%); transition: transform .35s cubic-bezier(.2,.8,.2,1);
    display:flex; flex-direction:column; overflow:hidden;
  }
  .nmfm-overlay.is-open{ pointer-events:auto; }
  .nmfm-overlay.is-open .nmfm-drawer{ transform: translateY(0); }

  .nmfm-drawer-header{
    display:flex; align-items:center; justify-content:center;
    padding:12px 16px; border-bottom: 1px solid rgba(0,0,0,.08);
    position:relative;
  }
  .nmfm-drawer-title{ font-weight:700; font-size:18px; color:#25313b; letter-spacing:.02em; }
  .nmfm-overlay-close{ position:absolute; right:8px; top:8px; width:40px; height:40px; border-radius:50%; border:none; background:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.08); font-size:24px; color:#25313b; }

  .nmfm-drawer-body{ overflow:auto; -webkit-overflow-scrolling:touch; }
  .nmfm-drawer-menu{ list-style:none; margin:0; padding:0; }
  .nmfm-drawer-menu > li{ border-bottom:1px solid rgba(0,0,0,.06); }
  .nmfm-drawer-menu > li > a{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 16px; text-decoration:none; color:#1f2a2e; font-size:16px; font-weight:600;
  }
  /* toggle strzałka po prawej */
  .nmfm-toggle{
    display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px;
    margin-left:12px; border-radius:999px; border:1px solid rgba(0,0,0,.08); background:#fff; flex:0 0 28px;
  }
  .nmfm-toggle:after{ content:"›"; font-size:18px; line-height:1; transform: translateX(1px) rotate(0deg); transition: transform .2s ease; }
  .nmfm-has-child.open > a .nmfm-toggle:after{ transform: translateX(1px) rotate(90deg); }

  /* submenu (akordeon) */
  .nmfm-drawer-menu li ul{ margin:0; padding:0 0 10px 0; list-style:none; }
  .nmfm-drawer-menu li ul li a{
    display:block; padding:12px 20px 12px 24px; text-decoration:none; color:#2A4B3C; font-size:15px; font-weight:400;
    border-top:1px dashed rgba(0,0,0,.12);
  }

  /* akordeon animacja przez max-height */
  .nmfm-has-child > ul{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
  .nmfm-has-child.open > ul{ max-height: 800px; }

}

@media (min-width: 769px){
  .nmfm-bar, .nmfm-overlay, .nmfm-backdrop{ display:none !important; }
}
