/* Olszany.pl v1.1.57 — wspólna dolna belka publiczna, poprawka iOS/PWA */
.portal-mobile-nav{display:none}

@media (max-width:900px){
  html{
    min-height:100%;
    background:var(--bg,#f3f6f3);
    overscroll-behavior-y:none;
  }
  body{
    min-height:100vh;
    min-height:100dvh;
    padding-bottom:calc(68px + env(safe-area-inset-bottom))!important;
    overflow-x:clip;
    overscroll-behavior-y:none;
  }
  footer{padding-bottom:24px}

  .mobile-nav.portal-mobile-nav{
    --mobile-nav-accent:#0b5f46;
    position:fixed!important;
    z-index:100;
    inset:auto 0 0 0!important;
    width:100%!important;
    max-width:none!important;
    height:calc(68px + env(safe-area-inset-bottom))!important;
    min-height:calc(68px + env(safe-area-inset-bottom));
    margin:0!important;
    padding:0 6px env(safe-area-inset-bottom)!important;
    box-sizing:border-box;
    background:rgba(255,255,255,.985);
    border-top:1px solid #dfe8e3;
    box-shadow:0 -8px 28px rgba(18,63,49,.10);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    align-items:stretch;
    transform:translate3d(0,0,0);
    -webkit-transform:translate3d(0,0,0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    will-change:transform;
    isolation:isolate;
    touch-action:manipulation;
  }
  .mobile-nav.portal-mobile-nav-public{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .mobile-nav.portal-mobile-nav-admin{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}

  .mobile-nav.portal-mobile-nav>a{
    min-width:0;
    height:68px;
    padding:8px 2px 7px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    color:#64756f;
    font-size:18px;
    line-height:1;
    text-decoration:none;
    border:0;
    background:transparent;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-nav.portal-mobile-nav>a .mobile-nav-icon{font-size:21px;line-height:1}
  .mobile-nav.portal-mobile-nav>a>span:last-child{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
    line-height:1.15;
    font-weight:800;
  }
  .mobile-nav.portal-mobile-nav>a.active{color:var(--mobile-nav-accent)}
  .mobile-nav.portal-mobile-nav>a.active .mobile-nav-icon{font-weight:900}

  .mobile-admin-quick{
    position:relative;
    height:68px;
    display:grid;
    place-items:center;
  }
  .mobile-admin-quick>summary{
    list-style:none;
    width:54px;
    height:54px;
    margin:0;
    transform:translateY(-10px);
    border-radius:50%;
    display:grid;
    place-items:center;
    cursor:pointer;
    background:var(--mobile-nav-accent);
    color:#fff;
    border:4px solid #fff;
    box-shadow:0 8px 22px rgba(18,63,49,.24);
    box-shadow:0 8px 22px color-mix(in srgb,var(--mobile-nav-accent) 38%, transparent);
    font-size:31px;
    line-height:1;
    font-weight:500;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-admin-quick>summary::-webkit-details-marker{display:none}
  .mobile-admin-quick>summary::marker{display:none;content:''}
  .mobile-admin-quick[open]>summary{transform:translateY(-10px) rotate(45deg)}

  .mobile-admin-quick-menu{
    position:absolute;
    left:50%;
    bottom:76px;
    transform:translateX(-50%);
    width:min(270px,calc(100vw - 28px));
    padding:10px;
    border:1px solid #dfe8e3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 45px rgba(18,63,49,.18);
    max-height:min(72dvh,520px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-admin-quick-menu:after{
    content:'';
    position:absolute;
    left:50%;
    bottom:-7px;
    width:14px;
    height:14px;
    transform:translateX(-50%) rotate(45deg);
    background:#fff;
    border-right:1px solid #dfe8e3;
    border-bottom:1px solid #dfe8e3;
  }
  .mobile-admin-quick-menu small{
    display:block;
    padding:2px 7px 7px;
    color:#7a8b85;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .mobile-admin-quick-menu a{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:9px 10px;
    border-radius:12px;
    color:#17332b;
    text-decoration:none;
  }
  .mobile-admin-quick-menu a+a{border-top:1px solid #edf2ef}
  .mobile-admin-quick-menu a span{font-size:20px}
  .mobile-admin-quick-menu a b{font-size:14px}

  /* Stare reguły .mobile-nav z app.css nie mogą zmieniać nowego przycisku +. */
  .mobile-nav.portal-mobile-nav .mobile-admin-quick a{
    height:auto;
    padding:9px 10px;
    display:flex;
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    font-size:14px;
  }
}

/* W zainstalowanej aplikacji iOS belka zawsze należy do viewportu aplikacji. */
@media (display-mode:standalone) and (max-width:900px){
  html,body{min-height:100dvh}
  .mobile-nav.portal-mobile-nav{position:fixed!important;bottom:0!important}
}

@media (max-width:370px){
  .mobile-nav.portal-mobile-nav{padding-left:2px!important;padding-right:2px!important}
  .mobile-nav.portal-mobile-nav>a>span:last-child{font-size:9px}
  .mobile-nav.portal-mobile-nav>a .mobile-nav-icon{font-size:19px}
  .mobile-admin-quick>summary{width:50px;height:50px;font-size:29px}
}
