/* ==========================================================================
   Wersja mobilna i tabletowa.
   Szablon ma stałą szerokość 1000 px, dlatego wszystko poniżej (poza ukryciem
   przycisku menu) jest w media queries - na ekranach od 1040 px strona wygląda
   dokładnie jak wcześniej (1024-1039 px: tylko poprawka przewijania w bok).
   ========================================================================== */

.menu-toggle,
.submenu-toggle{
    display: none;
}

/* Kontener ma 1000 px, a #wrapper tylko 960 px, więc w oknach 1024-1039 px (np. starsze
   iPady w poziomie) strona wystawała o kilka pikseli i dało się ją przewijać w bok. */
@media (min-width: 1024px) and (max-width: 1039px){
    #wrapper{
        width: 1000px;
    }
}

/* --------------------------------------------------------------------------
   Tablety i wąskie okna (do 1023 px): płynna szerokość, kolumny w procentach
   zachowujące proporcje z desktopu (np. 220 z 940 px = 23.404%).
   -------------------------------------------------------------------------- */
@media (max-width: 1023px){
    #wrapper{
        width: auto;
    }
    #container{
        float: none;
        display: flow-root;
        width: auto;
        padding: 0 20px;
    }
    .columns-container{
        width: 100%;
    }

    /* Pasy od krawędzi do krawędzi (ciemne panele, stopka) */
    #grey-panel,
    #grey-panel-2,
    #footer,
    #copyrights{
        box-sizing: border-box;
        width: calc(100% + 40px);
        margin-left: -20px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .column-700{ width: 74.468%; margin-right: 2.128%; }
    .column-460{ width: 48.936%; margin-right: 2.128%; }
    .column-220{ width: 23.404%; margin-right: 2.128%; }
    .column-160{ width: 17.021%; margin-right: 2.128%; }
    /* Certyfikaty w "Kadrze" leżą w kolumnie 700 px - proporcje względem niej */
    .column-700 .column-160{ width: 22.857%; margin-right: 2.857%; }
    .column-700 .column-220{ width: 31.428%; margin-right: 2.857%; }
    .last,
    .column-700 .last{ margin-right: 0; }

    /* Obrazki i ramki nie mogą być szersze niż ekran */
    #container img,
    #container iframe{
        max-width: 100%;
    }
    #container img{
        height: auto;
    }

    /* Nagłówek z przyciskiem menu */
    #header{
        padding-top: 20px;
        display: flow-root;
    }
    .logo img{
        margin-bottom: 15px !important;
    }
    .menu-toggle{
        display: block;
        float: right;
        margin-top: 17px;
        padding: 8px 14px;
        border: 1px solid #e1e1e1;
        border-radius: 5px;
        background: #ffffff;
        color: #de3168;
        font: 20px/24px 'Yanone Kaffeesatz', Arial, sans-serif;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
    }
    .menu-toggle-ikona,
    .menu-toggle-ikona:before,
    .menu-toggle-ikona:after{
        display: inline-block;
        width: 20px;
        height: 2px;
        background: #de3168;
        vertical-align: middle;
    }
    .menu-toggle-ikona{
        position: relative;
        margin: -3px 10px 0 0;
    }
    .menu-toggle-ikona:before,
    .menu-toggle-ikona:after{
        content: "";
        position: absolute;
        left: 0;
    }
    .menu-toggle-ikona:before{ top: -6px; }
    .menu-toggle-ikona:after{ top: 6px; }

    /* Menu jako rozwijana lista; podmenu domyślnie zwinięte, rozwijane strzałką
       (przyciski .submenu-toggle dodaje js/bambino.js).
       !important nadpisuje style wstawiane przez skrypt menu z desktopu. */
    #main_navigation{
        display: none;
        float: none;
        clear: both;
        height: auto;
        margin-bottom: 10px;
        border-top: 1px solid #efefef;
        border-bottom: 0;
    }
    #header.menu-open #main_navigation{
        display: block;
    }
    .main-menu ul li{
        display: block;
        float: none;
    }
    .main-menu ul li a,
    .main-menu ul li a:link,
    .main-menu ul li a:visited{
        display: block;
        padding: 9px 5px;
        border-bottom: 1px solid #efefef;
        font-size: 19px;
        line-height: 26px;
    }
    .main-menu ul li ul{
        position: static !important;
        display: none !important;
        visibility: visible !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        padding-left: 20px;
        border: 0;
        box-shadow: none;
        background: none;
    }
    /* Szablon ustawia tu padding z !important (pink-theme.css) */
    .main-menu ul li ul li a,
    .main-menu ul li ul li a:link{
        width: auto;
        margin: 0;
        padding: 9px 5px !important;
        line-height: 26px;
        font-size: 17px;
        text-transform: none;
    }
    .main-menu ul li.sub-open > ul{
        display: block !important;
    }
    .main-menu ul li.has-sub{
        position: relative;
    }
    /* Nazwa nie może wchodzić pod strzałkę */
    .main-menu ul li.has-sub > a{
        padding-right: 55px !important;
    }
    .submenu-toggle{
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 48px;
        height: 45px;
        padding: 0;
        border: 0;
        border-left: 1px solid #efefef;
        background: none;
        cursor: pointer;
    }
    .submenu-toggle:before{
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 9px;
        height: 9px;
        margin: -7px 0 0 -5px;
        border-right: 2px solid #de3168;
        border-bottom: 2px solid #de3168;
        transform: rotate(45deg);
        transition: transform 0.2s;
    }
    .main-menu ul li.sub-open > .submenu-toggle:before{
        margin-top: -2px;
        transform: rotate(-135deg);
    }
    /* Pozycje-etykiety ("Oferta", "Bezpłatna") nie prowadzą do strony - ich dotknięcie rozwija podmenu */
    .main-menu a[href="#"]{
        color: #272727 !important;
        cursor: pointer;
    }

    /* Slajder Nivo skaluje js/bambino.js (ma stały rozmiar 940x380 px) */
    #slideshow{
        overflow: hidden;
    }

    /* Zielony przycisk w węższej kolumnie łamie się na dwie linie - jako blok tło się nie rozjeżdża */
    .green-big-button{
        display: inline-block;
        line-height: 22px;
    }

    /* Formularz kontaktowy i mapa */
    .formee input[type="text"],
    .formee textarea{
        box-sizing: border-box;
    }
}

/* --------------------------------------------------------------------------
   Telefony (do 767 px): wszystko w jednej kolumnie, większy tekst.
   -------------------------------------------------------------------------- */
@media (max-width: 767px){
    body{
        font-size: 14px;
        line-height: 22px;
    }
    h1{
        font-size: 28px;
        line-height: 32px;
    }

    /* Logo mniejsze, żeby przycisk menu zmieścił się obok */
    .logo{
        max-width: calc(100% - 125px);
    }
    .menu-toggle{
        margin-top: 12px;
    }

    .column-700,
    .column-460,
    .column-220,
    .column-700 .column-220{
        float: none;
        width: auto;
        margin-right: 0;
    }
    #content .column-700,
    #content .column-460,
    #content .column-220{
        margin-bottom: 20px;
    }

    /* Miniatury artykułów nad tekstem zamiast obok (obok zostawał wąski pasek tekstu) */
    .article-thumb{
        float: none;
        display: block;
        margin: 0 0 15px 0;
    }

    #grey-panel,
    #grey-panel-2{
        margin-top: 20px;
        margin-bottom: 20px;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    #grey-panel .button-holder{
        margin-top: 15px;
    }

    /* Galerie miniatur: dwie w rzędzie */
    .columns-container.gallery{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .gallery > *{
        flex: 0 0 100%;
    }
    .gallery .portfolio-item{
        flex-basis: 48%;
        float: none;
        width: 48%;
        margin-right: 0;
    }
    .column-160,
    .column-700 .column-160{
        width: 48%;
        margin-right: 4%;
    }
    .column-160:nth-of-type(2n),
    .column-700 .column-160:nth-of-type(2n){
        margin-right: 0;
    }

    /* Formularz: pola na całą szerokość */
    .formee .grid-6-12,
    .formee .grid-12-12{
        width: 97%;
    }

    /* Stopka */
    #footer{
        min-height: 0;
    }
    #footer .column-460{
        margin-bottom: 20px;
    }
    #copyrights .left,
    #copyrights .right{
        float: none;
        text-align: center;
    }

    /* Baner cookies: mniejszy, żeby nie zasłaniał połowy ekranu */
    #simplecookienotification_v01 > div{
        margin: 0 75px 0 0 !important;
        padding: 8px 10px !important;
        font-size: 11px !important;
        line-height: 15px;
        text-align: left;
    }
    #simplecookienotification_v01 > a{
        padding: 6px 10px !important;
        font-size: 13px !important;
    }
}

/* Małe telefony: slajder jest tak pomniejszony, że jego podpis byłby nieczytelny */
@media (max-width: 599px){
    #slider .nivo-caption{
        display: none !important;
    }
}
