/* WINGS v10.0 — awaryjny prosty tryb mobilny dla CAŁEJ strony i wszystkich podstron.
   Plik ładowany po site.css, dlatego wymusza układ mobilny globalnie. */

@media screen and (max-width: 900px) {
  *, *::before, *::after { box-sizing: border-box !important; }
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
  }
  body {
    min-width: 0 !important;
    background: #fff !important;
    color: #222 !important;
  }

  /* Główna zasada: na telefonie żadnych starych fixed width / float / absolute w treści. */
  .wrap,
  .site-header,
  .header-inner,
  main,
  .content,
  .home-main,
  .home-news,
  .realizations,
  .site-footer,
  .content > .wrap,
  .content-grid,
  .article,
  .sidebar,
  .footer-grid,
  .realization-grid,
  .home-news-inner,
  .realizations-panel,
  .contact {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    clear: both !important;
    transform: none !important;
  }

  .wrap,
  .content > .wrap,
  .home-news .wrap,
  .realizations .wrap,
  .site-footer .wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .wrap::before, .wrap::after,
  .content::before, .content::after,
  .content-grid::before, .content-grid::after,
  .article::before, .article::after,
  .sidebar::before, .sidebar::after,
  .article h1::before, .article h1::after,
  .article h2::before, .article h2::after,
  .article h3::before, .article h3::after,
  .tresc-stopka::before, .tresc-stopka::after,
  .galeria-wiecej::before, .galeria-wiecej::after {
    display: none !important;
    content: none !important;
  }

  /* Nagłówek — prosty, bez absolutnych przesunięć ze starego motywu. */
  .site-header {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
    background: #fff !important;
    border-bottom: 4px solid #cf372e !important;
    overflow: visible !important;
  }
  .header-inner {
    position: relative !important;
    display: block !important;
    padding: 10px 14px 12px !important;
    background: #fff !important;
  }
  .brand-wrap {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .brand,
  .podstrona .brand,
  .strona-glowna .brand {
    position: static !important;
    display: block !important;
    width: 205px !important;
    max-width: calc(100vw - 110px) !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: url('/themes/default/pics/logo.png') no-repeat left center / contain !important;
    text-indent: -9999px !important;
  }
  .languages,
  .podstrona .languages,
  .strona-glowna .languages {
    position: absolute !important;
    top: 12px !important;
    right: 64px !important;
    left: auto !important;
    display: flex !important;
    gap: 4px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    z-index: 40 !important;
  }
  .languages li { display: block !important; margin: 0 !important; padding: 0 !important; }
  .languages a {
    display: block !important;
    min-width: 30px !important;
    padding: 7px 6px !important;
    background: #e7edf4 !important;
    color: #052444 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  .menu-toggle,
  .podstrona .menu-toggle,
  .strona-glowna .menu-toggle {
    position: absolute !important;
    top: 10px !important;
    right: 14px !important;
    display: block !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #cf372e !important;
    color: #fff !important;
    font-size: 27px !important;
    line-height: 44px !important;
    text-align: center !important;
    z-index: 45 !important;
  }

  .topnav,
  .podstrona .topnav,
  .strona-glowna .topnav {
    position: static !important;
    display: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    background: #052444 !important;
    clear: both !important;
    overflow: visible !important;
    z-index: 30 !important;
  }
  .topnav.open { display: block !important; }
  .topnav ul {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .topnav li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border-top: 1px solid rgba(255,255,255,.18) !important;
  }
  .topnav a,
  .podstrona .topnav a,
  .strona-glowna .topnav a {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
  }
  .topnav a.active { background: #cf372e !important; color: #fff !important; }
  .topnav a::before, .topnav a::after { display: none !important; content: none !important; }

  .search,
  .search-panel,
  .slider,
  .hero-slide,
  .more-btn,
  .more-info,
  .privacy-accessibility-actions,
  .wcag-panel,
  .back-to-top,
  .tresc-stopka,
  .podstrona .tresc-stopka,
  .realizations-photo,
  .map-space,
  .partner-prev,
  .partner-next {
    display: none !important;
  }

  .motto,
  .sub-motto,
  .podstrona .motto,
  .strona-glowna .motto {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 10px 0 0 !important;
    padding: 10px 12px !important;
    background: #e7edf4 !important;
    color: #052444 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: left !important;
    white-space: normal !important;
  }
  .motto span,
  .podstrona .motto span,
  .strona-glowna .motto span {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .motto span::after { content: ' ' !important; }

  /* Strona główna — proste kafle zamiast dekoracji. */
  .industry,
  .strona-glowna .industry {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  .industry ul { display: block !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
  .industry li { display: block !important; width: 100% !important; margin: 0 0 8px !important; padding: 0 !important; float: none !important; }
  .industry a {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 13px 14px !important;
    border-left: 5px solid #cf372e !important;
    background: #e7edf4 !important;
    color: #052444 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-decoration: none !important;
  }
  .industry strong { display: inline !important; margin-left: 4px !important; color: #052444 !important; }
  .industry a::before, .industry a::after { display: none !important; }

  /* Podstrony — najważniejsza część: zawsze jedna kolumna. */
  .breadcrumbs,
  .podstrona .breadcrumbs {
    display: block !important;
    width: auto !important;
    margin: 0 -14px 0 !important;
    padding: 10px 14px !important;
    background: #f2f4f7 !important;
    color: #052444 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    word-break: break-word !important;
  }
  .content-grid,
  .podstrona .content-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .article,
  .podstrona .article {
    order: 1 !important;
    display: block !important;
    padding: 0 0 20px !important;
    background: #fff !important;
    color: #222 !important;
  }
  .sidebar,
  .podstrona .sidebar {
    order: 2 !important;
    display: block !important;
    padding: 0 0 22px !important;
    background: #fff !important;
  }

  .article h1,
  .podstrona .article h1 {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 20px 0 16px !important;
    padding: 13px 14px !important;
    background: #052444 !important;
    color: #fff !important;
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }
  .article h2, .podstrona .article h2 {
    margin: 18px 0 12px !important;
    padding: 0 !important;
    background: none !important;
    color: #cf372e !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
  }
  .article h3, .podstrona .article h3 {
    margin: 16px 0 10px !important;
    padding: 0 !important;
    background: none !important;
    color: #052444 !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
  }

  .article p,
  .article li,
  .article td,
  .article th,
  .podstrona .article p,
  .podstrona .article li,
  .podstrona .article td,
  .podstrona .article th {
    font-size: 16px !important;
    line-height: 1.58 !important;
  }
  .article p,
  .podstrona .article p { margin: 0 0 14px !important; padding: 0 !important; }
  .article ul:not(.galeria_main),
  .podstrona .article ul:not(.galeria_main) {
    margin: 0 0 16px !important;
    padding-left: 20px !important;
    list-style: disc !important;
  }
  .article ul:not(.galeria_main) > li,
  .podstrona .article ul:not(.galeria_main) > li {
    margin: 0 0 7px !important;
    padding-left: 0 !important;
    background: none !important;
  }
  .article ol,
  .podstrona .article ol { margin: 0 0 16px !important; padding-left: 22px !important; }

  .article a,
  .podstrona .article a { overflow-wrap: anywhere !important; word-break: break-word !important; }
  .article img,
  .article video,
  .article iframe,
  .article object,
  .article embed,
  .podstrona .article img,
  .podstrona .article video,
  .podstrona .article iframe,
  .podstrona .article object,
  .podstrona .article embed {
    max-width: 100% !important;
    height: auto !important;
  }
  .article iframe,
  .podstrona .article iframe { width: 100% !important; min-height: 280px !important; border: 0 !important; }

  .article-photo,
  .article-photo.right,
  .article-photo-block,
  .career-original-photo,
  .podstrona .article-photo,
  .podstrona .article-photo.right,
  .podstrona .article-photo-block,
  img[align="left"], img[align="right"] {
    float: none !important;
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 14px auto !important;
  }

  table,
  .article table,
  .podstrona .article table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
  }
  .files-table-wrap,
  .table-wrap,
  .article table,
  .podstrona .article table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .files-table { min-width: 540px !important; }
  .file-thumb { max-width: 80px !important; height: auto !important; }
  .download-link { display: inline-block !important; padding: 8px 10px !important; }

  /* Boczne menu jako zwykła lista pod treścią. */
  .sidebar h2,
  .podstrona .sidebar h2 {
    display: block !important;
    min-height: 0 !important;
    margin: 6px 0 0 !important;
    padding: 12px 14px !important;
    background: #2a2b2d !important;
    color: #fff !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    text-transform: none !important;
  }
  .sidebar ul,
  .podstrona .sidebar ul {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #ddd !important;
    list-style: none !important;
  }
  .sidebar li,
  .podstrona .sidebar li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid #eee !important;
    float: none !important;
  }
  .sidebar a,
  .podstrona .sidebar a {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #fff !important;
    color: #052444 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
  }
  .sidebar a.current,
  .podstrona .sidebar a.current { background: #cf372e !important; color: #fff !important; }

  /* Galerie — żadnych floatów. */
  #galerie-wyszukiwarka,
  .podstrona #galerie-wyszukiwarka { height: auto !important; margin: 0 0 18px !important; padding: 0 !important; }
  #galerie-wybierz,
  .podstrona #galerie-wybierz { width: 100% !important; height: 44px !important; padding: 0 10px !important; font-size: 16px !important; }
  .galeria,
  .podstrona .galeria {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 0 16px !important;
    overflow: visible !important;
    border-bottom: 1px solid #ddd !important;
  }
  #galeria h2,
  .galeria h3,
  .podstrona #galeria h2,
  .podstrona .galeria h3 {
    margin: 16px 0 12px !important;
    padding: 0 !important;
    background: none !important;
    color: #052444 !important;
    font-size: 21px !important;
    line-height: 1.3 !important;
  }
  .galeria_main,
  .podstrona .galeria_main {
    display: block !important;
    width: 100% !important;
    margin: 12px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    list-style: none !important;
  }
  .galeria-element,
  .podstrona .galeria-element {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: none !important;
    text-align: left !important;
  }
  .galeria-element a,
  .podstrona .galeria-element a { display: block !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
  .galeria-element img,
  .podstrona .galeria-element img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border: 1px solid #ddd !important;
  }
  .galeria-wiecej,
  .podstrona .galeria-wiecej {
    position: static !important;
    display: inline-block !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 6px 0 0 !important;
    padding: 10px 14px !important;
    background: #cf372e !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    white-space: normal !important;
  }

  /* Stopka. */
  .site-footer { background: #2a2b2d !important; color: #fff !important; }
  .contact { padding-top: 22px !important; padding-bottom: 22px !important; }
  .contact h2 { margin: 0 0 16px !important; padding: 0 !important; color: #fff !important; font-size: 25px !important; line-height: 1.2 !important; }
  .footer-logo { position: static !important; display: block !important; width: 220px !important; max-width: 100% !important; height: 52px !important; margin: 10px 0 !important; background: url('/themes/default/pics/logo.png') no-repeat left center / contain !important; text-indent: -9999px !important; }
  .contact dl, .contact dt, .contact dd { display: block !important; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .contact dt { margin-top: 12px !important; color: #fff !important; font-weight: bold !important; }
  .contact dd { margin-top: 3px !important; color: #ddd !important; }
  .contact a, .site-footer a { color: #fff !important; }
  .footer-bottom, .footer-links { position: static !important; display: block !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: #202123 !important; }
  .footer-links a { display: block !important; margin: 0 !important; padding: 10px 14px !important; border-top: 1px solid rgba(255,255,255,.1) !important; color: #fff !important; }
}

@media screen and (max-width: 430px) {
  .brand,
  .podstrona .brand,
  .strona-glowna .brand { width: 185px !important; height: 48px !important; }
  .languages,
  .podstrona .languages,
  .strona-glowna .languages { right: 62px !important; top: 11px !important; }
  .article h1,
  .podstrona .article h1 { font-size: 23px !important; }
}


/* WINGS v11.0 — poprawka hamburgera: obsługa także klasy is-open i wymuszenie widoczności po JS. */
@media screen and (max-width: 900px) {
  .topnav.open,
  .topnav.is-open,
  .podstrona .topnav.open,
  .podstrona .topnav.is-open,
  .strona-glowna .topnav.open,
  .strona-glowna .topnav.is-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .menu-toggle.active,
  .podstrona .menu-toggle.active,
  .strona-glowna .menu-toggle.active {
    background: #052444 !important;
  }
}

/* WINGS v12.0 — poprawka strony głównej: menu mobilne zawsze pod logo, a nie na dole headera. */
@media screen and (max-width: 900px) {
  body.strona-glowna .site-header,
  body.strona-glowna .header-inner {
    overflow: visible !important;
  }

  body.strona-glowna .header-inner {
    position: relative !important;
    padding-top: 10px !important;
    padding-bottom: 12px !important;
  }

  body.strona-glowna .brand-wrap {
    position: relative !important;
    z-index: 1002 !important;
  }

  body.strona-glowna .menu-toggle {
    position: absolute !important;
    top: 10px !important;
    right: 14px !important;
    z-index: 1004 !important;
  }

  body.strona-glowna .languages {
    position: absolute !important;
    top: 12px !important;
    right: 64px !important;
    z-index: 1003 !important;
  }

  body.strona-glowna .topnav,
  body.strona-glowna .topnav.open,
  body.strona-glowna .topnav.is-open {
    position: absolute !important;
    top: 72px !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1001 !important;
    background: #052444 !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.25) !important;
  }

  body.strona-glowna .topnav:not(.open):not(.is-open) {
    display: none !important;
  }

  body.strona-glowna .topnav.open,
  body.strona-glowna .topnav.is-open {
    display: block !important;
  }

  body.strona-glowna .topnav ul,
  body.strona-glowna .topnav li,
  body.strona-glowna .topnav a {
    position: static !important;
    float: none !important;
    transform: none !important;
  }

  body.strona-glowna .motto,
  body.strona-glowna .industry,
  body.strona-glowna .home-main,
  body.strona-glowna .content {
    position: relative !important;
    z-index: 1 !important;
  }
}
