/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Description: GeneratePress Child Theme
Version: 3.6.1
*/


/* ==========================
   VARIABLES
========================== */

:root {

    --container: 1200px;
    --page-padding: clamp(60px, 10vw, 40px);
    --content-offset: 250px;
    --footer-gap: 120px;    
    --space-lg: 80px;
    --space-md: 40px;
    --space-sm: 20px;

    --color-bg: #ffffff;
    --color-text: #111;

}


/* ==========================
   GENERATEPRESS RESET
========================== */


.entry-content:not(:first-child),
.entry-summary:not(:first-child),
.page-content:not(:first-child) {

    margin-top: 0;

}


body {

    margin: 0;

}


.entry-header {

    display: none;

}


.site-header,
.site-footer {

    display: none;

}


.separate-containers .inside-article,
.separate-containers .site-main {

    margin: 0;

}


/* usuwamy ograniczenia GeneratePress
   dla naszych pełnoekranowych stron */


body:has(.tu-landing) .site,
body:has(.tu-page) .site {

    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;

}


body:has(.tu-landing) .site-content,
body:has(.tu-page) .site-content {

    width:100% !important;
    display:block !important;

}


body:has(.tu-landing) .content-area,
body:has(.tu-page) .content-area {

    width:100% !important;
    float:none !important;

}


body:has(.tu-landing) .container,
body:has(.tu-landing) .grid-container,
body:has(.tu-page) .container,
body:has(.tu-page) .grid-container {

    max-width:none !important;
    width:100% !important;
    padding:0 !important;

}


/* ==================================================
   BACKGROUND PAGE
   Strona główna + Kontakt
================================================== */


.tu-landing {


    min-height:100vh;

    display:flex;
    flex-direction:column;


    background-image:url('/wp-content/uploads/2026/06/tlo-do-front-page-8.jpg');

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;


    padding: var(--page-padding);

}


.tu-landing > .wp-block-group__inner-container {

    width:100% !important;
    max-width:none !important;

}


/*tu-background-content*/
.tu-main {

    flex:1;

    display:flex;

    justify-content:flex-start;

    align-items:center;


}



.tu-content-box {


    
    margin-left: var(--content-offset);

    padding:50px;

    background:transparent;

}


/* tekst na tle */


.tu-content-box p {

    color:white;

    margin:0;

    line-height:1.8;

}


.tu-content-box .wp-block-group {

    background:transparent;

    color:white;

}


.tu-regular-text {

    font-size:15px;

    color:white;

}


.tu-italic-text {

    font-size:15px;

    font-style:italic;

    color:white;

}


.tu-line {

    width:100%;

    height:1px;

    background:rgba(255,255,255,.6);

    margin:20px 0;
    
    color: white;

}

.tu-img {
    max-width: 60%;
}

/* ==================================================
   STANDARD PAGE
   O mnie + Wystawy
================================================== */


.tu-page {


    min-height:100vh;

    display:flex;

    flex-direction:column;


    background:#fff;


    padding: 40px 60px;

    color:#111;


}



.tu-page-content {


    flex:1;
    width: calc(100% - var(--content-offset));

    width:100%;

    max-width:1200px;


    margin:100px 202px;


}


.tu-page-content p {


    line-height:1.8;

    color:#111;

}


/* obrazki w standardowych stronach */


.tu-page-content img {

    max-width:100%;

    height:auto;

}



/* ==================================================
   HEADER
================================================== */


.tu-header {


    display:flex;

    justify-content:space-between;

    align-items:center;


    width:100%;

}



.tu-left {


    display:flex;

    align-items:center;

    gap:15px;

}



.tu-right {


    display:flex;

    align-items:center;

    gap:20px;

}



/* logo */


.tu-logo {


    position:absolute;

    left:50%;

    transform:translateX(-50%);


    font-size:22px;

    font-weight:700;


    color:white;

}



/* menu */


.tu-menu {


    font-size:15px;

    font-weight:700;

    color:white;

}



.tu-contact {


    font-size:15px;

    font-weight:700;


    color:white;

    text-decoration:none;

}



.tu-lang {


    display:flex;

    align-items:center;


    font-size:15px;

    color:white;

}



/* instagram */


.tu-insta {

    display:flex;

    align-items:center;

}


.tu-insta img {


    width:24px;

    height:24px;

    display:block;

}



/* ==================================================
   HEADER - BIAŁE TŁO
================================================== */


.tu-page .tu-logo,
.tu-page .tu-menu,
.tu-page .tu-contact,
.tu-page .tu-lang {


    color:#111;

}



.tu-page .tu-menu-btn {

    color:#111;

}



.tu-page .tu-insta img {

    filter:brightness(0);

}




/* ==================================================
   HAMBURGER
================================================== */


.tu-menu-btn {


    border:none;

    background:transparent;


    font-size:28px;

    cursor:pointer;


    padding:0;


    color:white;

}



/* ==================================================
   SIDEBAR MENU
================================================== */


.tu-sidebar {


    position:fixed;


    top:0;

    left:-280px;


    width:280px;

    height:100vh;


    background:rgba(87,83,82,.9);


    padding:100px 30px;


    transition:.3s;


    z-index:1000;

}



.tu-sidebar.open {


    left:0;

}



.tu-sidebar a {


    display:block;


    margin-bottom:20px;


    font-size:15px;


    text-decoration:none;


    color:white;

}



/* overlay */


.tu-overlay {


    position:fixed;


    inset:0;


    background:rgba(0,0,0,.4);


    opacity:0;

    visibility:hidden;


    transition:.3s;


    z-index:999;

}



.tu-overlay.open {


    opacity:1;

    visibility:visible;

}



/* ==================================================
   FOOTER
================================================== */


.tu-footer {


    text-align:left;


    font-size:15px;


    color:white;


}



.tu-page .tu-footer {


    color:#111;

}

/* ==================================================
   PORTFOLIO - SINGLE ALBUM
================================================== */


/*
   Kontener całej strony albumu
*/

.tu-portfolio-single-page {

    flex:1;

    width:100%;

}



.tu-portfolio-single {


    max-width:1200px;


    margin:60px auto;


}



.tu-portfolio-title {


    text-align:center;


    font-size:36px;


    font-weight:600;


    margin-bottom:50px;


    color:#111;


}



.tu-portfolio-content {


    width:100%;


}



/* ==================================================
   GALERIA ZDJĘĆ
   naturalna wysokość zdjęć
================================================== */


/*
   Masonry:
   - szerokość kolumn stała
   - wysokość zdjęcia naturalna
   - brak przycinania
*/


.tu-portfolio-grid
.wp-block-group__inner-container {


    column-count:3;

    column-gap:20px;


}



.tu-portfolio-grid figure {


    break-inside:avoid;


    margin:0 0 20px;


}



.tu-portfolio-grid img {


    width:100%;


    height:auto;


    display:block;


    cursor:pointer;


}



.tu-portfolio-grid figcaption {


    display:none;


}



/* ==================================================
   LIGHTBOX
================================================== */


.tu-lightbox {


    position:fixed;


    inset:0;


    display:none;


    background:#fff;


    z-index:9999;


}



.tu-lightbox.is-open {


    display:flex;


}



.tu-lightbox-content {


    width:100%;

    height:100%;


    display:flex;


    position: relative;

    z-index: 2;

}



.tu-lightbox-left {


    flex:2;


    display:flex;


    justify-content:center;


    align-items:center;


}



.tu-lightbox-left img {


    max-width:90%;


    max-height:90vh;


    display:block;


}



.tu-lightbox-right {


    flex:1;


    display:flex;


    align-items:center;


    padding:40px;


    color:#111;


    font-style:italic;


}



.tu-close,
.tu-prev,
.tu-next {


    position:absolute;


    background:none;


    border:none;


    color:#111;


    font-size:40px;


    cursor:pointer;


    z-index:3;


}



.tu-close {


    top:20px;


    right:30px;


}



.tu-prev {


    left:20px;


    top:50%;


    transform:translateY(-50%);


}



.tu-next {


    right:37%;


    top:50%;


    transform:translateY(-50%);


}

.tu-lightbox-overlay {

    position: absolute;

    inset: 0;

    background: transparent;

    z-index: 1;

}




/* ==================================================
   ARCHIVE PORTFOLIO
   /portfolio/
================================================== */


.tu-portfolio-archive {


    width:100%;


}



.tu-portfolio-archive-title {


    text-align:center;


    color:#111;


    font-size:36px;


    font-weight:600;


    margin:60px 0;


}




.tu-portfolio-list {


    display:grid;


    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));


    gap:40px;


    max-width:1200px;


    margin:0 auto;


}



/* pojedynczy kafelek */


.tu-portfolio-card {


    display:block;


    text-decoration:none;


    color:#111;


}



.tu-portfolio-thumb {


    width:100%;


    height:auto;


    display:block;


}



.tu-portfolio-card-title {


    margin-top:15px;


    font-size:22px;


    font-weight:400;


    text-align:center;


    color:#111;


}



/* ==================================================
   POJEDYNCZY OBRAZ W PORTFOLIO
================================================== */


.tu-portfolio-content figure {


    margin:0;


}



.tu-portfolio-content figcaption {


    font-style:italic;


    color:#111;


    text-align:center;


    margin-top:8px;


}
/* ==================================================
   RESPONSIVE
================================================== */

/* ---------- TABLETY I TELEFONY ---------- */

@media (max-width:1000px) {

    :root {
        --content-offset: 0px;
    }

    /* ---------- LANDING ---------- */

    .tu-landing {

        padding:25px;

    }

    .tu-main {

        justify-content:center;

    }

    .tu-content-box {

        margin-left:0;

        padding:0;

        width:100%;

        max-width:700px;

    }

    .tu-img {

        max-width:100%;

    }

    /* ---------- STANDARD PAGE ---------- */

    .tu-page {

        padding:25px;

    }

    .tu-page-content {

        margin:50px 0;

        max-width:100%;

    }

    /* ---------- HEADER ---------- */

    .tu-header {

        position:relative;

        display:flex;

        align-items:center;

        justify-content:space-between;

    }

    .tu-logo {

        position:absolute;

        left:50%;

        transform:translateX(-50%);

        font-size:18px;

        white-space:nowrap;

    }

    .tu-menu,
    .tu-contact,
    .tu-lang {

        display:none;

    }

    .tu-right {

        gap:0;

    }

    .tu-mobile-album-title {

        display:block;

        margin:25px 0 10px;

        text-align:center;

        font-size:18px;

        font-weight:600;

        color:#111;

    }

    /* ---------- ARCHIWUM ---------- */

    .tu-portfolio-list {

        grid-template-columns:1fr;

        gap:30px;

    }

    /* ---------- ALBUM ---------- */

    .tu-portfolio-grid
    .wp-block-group__inner-container {

        column-count:1;

    }

    /* ---------- LIGHTBOX ---------- */

    .tu-lightbox-content {

        flex-direction:column;

    }

    .tu-lightbox-left {

        flex:none;

        width:100%;

        height:70vh;

    }

    .tu-lightbox-left img {

        max-width:95%;

        max-height:65vh;

    }

    .tu-lightbox-right {

        flex:none;

        width:100%;

        padding:20px;

        justify-content:center;

        text-align:center;

    }

    .tu-next {

        right:20px;

    }

    .tu-prev {

        left:20px;

    }

}

/* ---------- DESKTOP ---------- */

@media (min-width:1001px) {

    .tu-mobile-album-title {

        display:none;

    }

}