/* Mobilne menu kancelarii — hamburger + submenu Alimenty */

/* ===== MOBILNE MENU: niezależne od menu desktopowego ===== */
.mobile-menu-toggle,
.mobile-menu { display:none; }

@media (max-width:768px){
  .topbar { position:relative; }
  .topbar-inner {
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    position:relative !important;
    width:min(var(--container), calc(100% - 20px)) !important;
  }

  .phone{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  /* chowamy całe stare menu desktopowe */
  .desktop-nav,
  .legacy-desktop-nav{
    display:none !important;
  }

  .mobile-menu-toggle{
    display:flex !important;
    width:46px;
    height:42px;
    padding:9px 8px;
    border:0;
    border-radius:10px;
    background:transparent;
    cursor:pointer;
    flex-direction:column;
    justify-content:space-between;
    margin-left:auto;
    color:#111;
  }

  .mobile-menu-toggle span{
    display:block;
    height:3px;
    border-radius:3px;
    background:currentColor;
    transition:transform .2s ease, opacity .2s ease;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(10px) rotate(45deg);
  }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-10px) rotate(-45deg);
  }

  .mobile-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:2000;
    background:#fff;
    box-shadow:0 14px 28px rgba(0,0,0,.18);
    padding:8px 14px 14px;
    text-align:left;
  }

  .mobile-menu.is-open{
    display:block !important;
  }

  .mobile-menu > a,
  .mobile-group-title,
  .mobile-group > a{
    display:block;
    text-decoration:none;
    color:#111;
  }

  .mobile-menu > a{
    padding:11px 4px;
    border-bottom:1px solid rgba(0,0,0,.08);
    font-weight:600;
  }

  .mobile-group{
    border-bottom:1px solid rgba(0,0,0,.08);
    padding:7px 0 9px;
  }

  .mobile-group-title{
    padding:5px 4px 7px;
    font-weight:700;
  }

  .mobile-group > a{
    padding:7px 4px 7px 18px;
    font-weight:400;
  }
}

/* cienkie zielone separatory między elementami menu mobilnego */
@media (max-width:768px){
  .mobile-menu{padding:10px 14px 14px !important;}
  .mobile-menu > a,
  .mobile-group-title,
  .mobile-group > a{border-top:1px solid #2f7a5a !important;border-bottom:0 !important;}
  .mobile-menu > a:first-child{border-top:1px solid #2f7a5a !important;}
  .mobile-group{border-top:1px solid #2f7a5a !important;border-bottom:0 !important;padding:0 !important;}
  .mobile-group-title{padding:12px 4px 10px !important;}
  .mobile-group > a{padding:10px 4px 10px 18px !important;}
  .mobile-menu > a{padding:12px 4px !important;}
  .mobile-menu > a:last-child{border-bottom:1px solid #2f7a5a !important;}
}

/* ===== MOBILE FIX v4: hamburger zawsze widoczny ===== */
@media (max-width:768px){
  .topbar{
    position:relative !important;
    overflow:visible !important;
  }

  .topbar-inner{
    position:relative !important;
    display:block !important;
    width:calc(100% - 20px) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding-right:58px !important;
    box-sizing:border-box !important;
  }

  .topbar-inner .phone{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }

  .mobile-menu-toggle{
    display:flex !important;
    position:absolute !important;
    right:4px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:9999 !important;
    width:46px !important;
    height:42px !important;
    margin:0 !important;
    padding:9px 8px !important;
    border:0 !important;
    border-radius:9px !important;
    background:#ffffff !important;
    color:#0f5132 !important;
    box-shadow:0 1px 4px rgba(0,0,0,.18) !important;
    flex-direction:column !important;
    justify-content:space-between !important;
  }

  .mobile-menu-toggle span{
    display:block !important;
    width:100% !important;
    height:3px !important;
    background:#0f5132 !important;
  }

  .mobile-menu{
    left:0 !important;
    right:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
}

/* ===== MOBILE v5 — telefon + hamburger w dwóch osobnych kolumnach ===== */
@media (max-width:768px){
  html, body { overflow-x:hidden !important; }

  .topbar{
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .topbar .topbar-inner{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;

    display:grid !important;
    grid-template-columns:minmax(0,1fr) 48px !important;
    column-gap:8px !important;
    align-items:center !important;
  }

  .topbar .phone{
    grid-column:1 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  .topbar .mobile-menu-toggle{
    grid-column:2 !important;
    display:flex !important;
    position:static !important;
    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    width:48px !important;
    height:44px !important;
    margin:0 !important;
    padding:9px 8px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#0f5132 !important;
    z-index:99999 !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    cursor:pointer !important;
  }

  .topbar .mobile-menu-toggle span{
    display:block !important;
    width:100% !important;
    height:3px !important;
    background:#0f5132 !important;
    border-radius:3px !important;
  }

  .topbar .mobile-menu{
    grid-column:1 / -1 !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
}

/* ===== MOBILE v6 — kompaktowe menu + submenu Alimenty ===== */
@media (max-width:768px){
  .topbar .phone{
    font-size:18px !important;
    font-weight:700 !important;
  }

  .mobile-menu{
    padding:7px 14px 10px !important;
  }

  .mobile-menu > a,
  .mobile-group-title,
  .mobile-group > a,
  .mobile-submenu-toggle{
    font-size:15px !important;
  }

  .mobile-menu > a{padding:9px 4px !important;}
  .mobile-group-title{padding:9px 4px 7px !important;}
  .mobile-group > a{padding:8px 4px 8px 18px !important;}

  .mobile-alimenty{
    border-top:1px solid #2f7a5a !important;
  }

  .mobile-submenu-toggle{
    width:100%;
    border:0;
    background:transparent;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:8px 4px 8px 18px !important;
    font-family:inherit;
    text-align:left;
    cursor:pointer;
  }

  .mobile-chevron{
    font-size:22px;
    line-height:1;
    margin-right:8px;
    transition:transform .2s ease;
  }

  .mobile-submenu-toggle[aria-expanded="true"] .mobile-chevron{
    transform:rotate(90deg);
  }

  .mobile-alimenty-submenu{
    display:none;
    padding:0 0 3px 0;
  }

  .mobile-alimenty-submenu.is-open{
    display:block;
  }

  .mobile-alimenty-submenu a{
    display:block;
    color:#111;
    text-decoration:none;
    font-size:14px;
    padding:8px 4px 8px 34px;
    border-top:1px solid rgba(47,122,90,.45);
  }
}
