/* =========================================
   MOBILE / TABLET ≤ 768px
   Top bar + hamburger, naturalny scroll, 1-col layout.
   Importer: head.php (po premium.css — nadpisuje desktop).
   ========================================= */

/* === TOP BAR (zawsze widoczny ≤768px) === */
.mobile-bar{
  display: none; /* ukryty na desktop */
}

@media (max-width: 768px){

  /* ===========================================================
     MOBILE BAR
     =========================================================== */
  .mobile-bar{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: #1c1f24;
    color: #fff;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    box-shadow: 0 2px 12px rgba(0,0,0,.15);
    box-sizing: border-box;
  }
  .mobile-bar__brand{
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: .04em;
    font-size: 14px;
    text-transform: uppercase;
  }
  .mobile-bar__toggle{
    width: 44px;
    height: 44px;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mobile-bar__toggle .bar-icon,
  .mobile-bar__toggle .bar-icon::before,
  .mobile-bar__toggle .bar-icon::after{
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    transition: transform .3s ease, background-color .2s ease, top .3s ease;
  }
  .mobile-bar__toggle .bar-icon{
    position: relative;
  }
  .mobile-bar__toggle .bar-icon::before{
    content: "";
    position: absolute;
    top: -7px;
    left: 0;
  }
  .mobile-bar__toggle .bar-icon::after{
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
  }
  body.menu-open .mobile-bar__toggle .bar-icon{
    background: transparent;
  }
  body.menu-open .mobile-bar__toggle .bar-icon::before{
    top: 0;
    transform: rotate(45deg);
  }
  body.menu-open .mobile-bar__toggle .bar-icon::after{
    top: 0;
    transform: rotate(-45deg);
  }

  /* ===========================================================
     LEFT MENU → SLIDE-IN PANEL
     =========================================================== */
  #left_menu{
    transform: translateX(-100%);
    transition: transform .35s var(--ease, ease);
    width: 280px;
    z-index: 1100;
    box-shadow: 0 0 40px rgba(0,0,0,.4);
  }
  body.menu-open #left_menu{
    transform: translateX(0);
  }

  /* Backdrop */
  .menu-backdrop{
    position: fixed;
    inset: 0;
    z-index: 1090;
    background: rgba(0,0,0,.55);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
  }
  body.menu-open .menu-backdrop{
    opacity: 1;
    pointer-events: auto;
  }

  /* ===========================================================
     CONTENT — natural scroll, bez snap
     =========================================================== */
  html, body{
    overflow-y: auto !important;
    height: auto !important;
  }
  #content{
    position: static !important;
    margin-left: 0 !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding-top: 60px; /* miejsce na top bar */
  }

  /* Sekcje — auto height, normalne paddingi */
  .section{
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
    padding: clamp(48px, 10vw, 72px) 20px;
    box-sizing: border-box;
  }

  /* ===========================================================
     HERO
     =========================================================== */
  .section--home{
    min-height: calc(100vh - 60px) !important;
    padding: 0 !important;
    background-attachment: scroll !important;
  }
  .section--home .hero-wrap{
    padding: 28px 24px !important;
    align-items: flex-end;
  }
  .hero-kicker{
    margin-bottom: 18px;
    font-size: 10px;
  }
  .hero-title{
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.05 !important;
    margin-bottom: 16px !important;
  }
  .hero-sub{
    font-size: 14px !important;
    line-height: 1.55;
    margin-bottom: 24px !important;
  }
  .hero-actions{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .hero-actions .btn{
    justify-content: center;
    padding: 14px 20px;
  }
  .hero-scroll{
    display: none !important;
  }

  /* ===========================================================
     OM OS / TRUST
     =========================================================== */
  .section--onas .om-wrap{
    padding: 0 !important;
  }
  .om-header{
    margin-bottom: 28px;
  }
  .om-title{
    font-size: clamp(24px, 6.5vw, 32px) !important;
    margin-bottom: 14px !important;
  }
  .om-lead{
    font-size: 14px;
    line-height: 1.6;
  }
  .trust-grid{
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    margin-bottom: 28px;
  }
  .trust-card{
    padding-top: 18px;
  }
  .om-stats{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
    padding-top: 20px;
  }
  .om-stat::after{ display: none !important; }
  .om-stat__num{
    font-size: 32px !important;
  }

  /* ===========================================================
     YDELSER (services)
     =========================================================== */
  .section--oferta .service-wrap{
    padding: 0 !important;
  }
  .service-header{
    margin-bottom: 24px;
  }
  .service-title{
    font-size: clamp(24px, 6.5vw, 32px) !important;
    margin-bottom: 14px !important;
  }
  .service-lead{
    font-size: 14px;
  }
  .service-grid{
    grid-template-columns: 1fr !important;
    gap: 1px !important;
    border: 1px solid var(--c-line);
  }
  .service-card{
    min-height: auto !important;
    padding: 22px !important;
  }
  .service-card__title{
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }
  .service-card__desc{
    font-size: 13px;
    margin-bottom: 18px;
  }

  /* ===========================================================
     SPECIALDESIGN
     =========================================================== */
  .section--specialdesign .special-wrap{
    padding: 0 !important;
  }
  .special-header{
    margin-bottom: 22px;
  }
  .special-title{
    font-size: clamp(24px, 6.5vw, 32px) !important;
    margin-bottom: 12px !important;
  }
  .special-lead{
    font-size: 14px;
  }
  .special-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    max-height: none !important;
  }
  .special-card{
    min-height: 280px;
  }
  .special-card__title{
    font-size: 26px !important;
  }
  .special-card__body{
    padding: 22px !important;
  }

  /* ===========================================================
     B2B
     =========================================================== */
  .section--b2b{
    background-attachment: scroll !important;
  }
  .section--b2b .b2b-wrap{
    padding: 0 !important;
  }
  .b2b-header{
    margin-bottom: 24px;
  }
  .b2b-title{
    font-size: clamp(26px, 7vw, 36px) !important;
    line-height: 1.1 !important;
    margin-bottom: 14px !important;
  }
  .b2b-title br{ display: none; } /* line-break tylko na desktop */
  .b2b-lead{
    font-size: 14px;
  }
  .b2b-grid{
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    margin-bottom: 28px;
  }
  .b2b-actions{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .b2b-actions .btn{
    justify-content: center;
  }

  /* ===========================================================
     GALERIA
     =========================================================== */
  .section--galeria .galeria-wrap{
    padding: 0 !important;
  }
  .galeria-grid{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
  }
  .galeria-item{
    min-height: 140px !important;
    aspect-ratio: 1 / 1;
  }

  /* ===========================================================
     KONTAKT
     =========================================================== */
  .section--kontakt .kontakt-wrap{
    padding: 0 !important;
  }
  .kontakt-title{
    font-size: clamp(24px, 6.5vw, 32px) !important;
  }
  .kontakt-grid{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .kontakt-row{
    grid-template-columns: 1fr !important;
    flex-direction: column;
  }
  .kontakt-info{
    order: 2;
  }
  .kontakt-form{
    order: 1;
  }
  .kontakt-actions{
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .kontakt-map{
    margin-top: 24px;
  }
  .kontakt-map iframe{
    height: 280px;
  }

  /* ===========================================================
     LOADER — mniejsze elementy
     =========================================================== */
  .page-loader__logo{ width: 100px; }
  .page-loader__bar{  width: 160px; }

  /* ===========================================================
     STARE PODSTRONY KATEGORII (kokkener.php, trapper.php itd.)
     =========================================================== */
  .kategoria-page{
    margin-left: 0 !important;
    width: 100% !important;
    padding-top: 60px;
  }
  .kategoria-hero{
    min-height: 280px !important;
    padding: 24px !important;
  }
  .kategoria-hero__title{
    font-size: clamp(28px, 7vw, 38px) !important;
  }
  .kategoria-content{
    grid-template-columns: 1fr !important;
    padding: 28px 20px !important;
    gap: 20px !important;
  }
  .kategoria-features{
    grid-template-columns: 1fr !important;
  }
  .kategoria-others,
  .kategoria-cta{
    padding: 28px 20px !important;
  }
  .kategoria-cta__actions{
    flex-direction: column;
    align-items: stretch;
  }
}

/* === Bardzo małe ekrany ≤ 380px (iPhone SE itp) === */
@media (max-width: 380px){
  .section{ padding-left: 16px; padding-right: 16px; }
  .hero-title{ font-size: 30px !important; }
  .om-stats{ grid-template-columns: 1fr !important; }
  .galeria-grid{ grid-template-columns: 1fr !important; }
  .galeria-item{ aspect-ratio: 16 / 10; }
}
