.gallery-container {
    margin: 20px 0;
    width: 100%;
}

.gallery-grid {
    display: grid;
    margin-bottom: 20px;
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
    gap: var(--gutter-vertical, 10px) var(--gutter-horizontal, 10px);
}

/* NOWE: Style wyrównania dla różnych opcji */
.gallery-grid.alignment-left {
    justify-items: start;
}

.gallery-grid.alignment-center {
    justify-items: center;
}

.gallery-grid.alignment-right {
    justify-items: end;
}

.gallery-grid.alignment-justify {
    justify-items: stretch;
}

.gallery-grid.alignment-justify .gallery-item {
    width: 100% !important;
    max-width: 100% !important;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
    background: transparent;
    margin: 0;
    padding: 0;
    border: none;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

.gallery-item a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

/* Efekty najechania */
.gallery-item.hover-zoom:hover img {
    transform: scale(1.05);
}

.gallery-item.hover-darken:hover img {
    filter: brightness(0.8);
}

.gallery-item.hover-shrink:hover img {
    transform: scale(0.95);
}

/* Animacje ładowania */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { 
        opacity: 0;
        transform: translateY(20px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

.gallery-item.animation-fade {
    animation: fadeIn 0.5s ease forwards;
}

.gallery-item.animation-slide {
    animation: slideUp 0.5s ease forwards;
}

/* NOWE: Style dla paginacji */
.gallery-pagination {
    margin: 30px 0;
    text-align: center;
}

/* Paginacja numeryczna */
.pagination-numbers .page-numbers {
    display: inline-block;
    padding: 8px 15px;
    margin: 0 3px;
    background: #f6f7f7;
    border: 1px solid #ccd0d4;
    border-radius: 3px;
    text-decoration: none;
    color: #2271b1;
    transition: all 0.3s ease;
}

.pagination-numbers .page-numbers.current {
    background: #2271b1;
    color: white;
    border-color: #2271b1;
}

.pagination-numbers .page-numbers:hover {
    background: #e8f0fe;
    border-color: #2271b1;
}

/* Przycisk "Załaduj więcej" */
.load-more-button {
    padding: 12px 25px;
    background: #2271b1;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background 0.3s ease;
}

.load-more-button:hover {
    background: #135e96;
}

.load-more-button:disabled {
    background: #a0a5aa;
    cursor: not-allowed;
}

/* Nieskończone przewijanie */
.loading-indicator {
    text-align: center;
    padding: 30px;
    color: #666;
    font-style: italic;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.loading-spinner {
    width: 30px;
    height: 30px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #2271b1;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.no-more-images {
    text-align: center;
    padding: 20px;
    color: #666;
    font-style: italic;
    border-top: 1px solid #e0e0e0;
    margin-top: 20px;
}

.infinite-scroll-sentinel {
    height: 1px;
    width: 100%;
}

/* Responsywność paginacji */
@media (max-width: 768px) {
    .pagination-numbers .page-numbers {
        padding: 6px 10px;
        margin: 0 2px;
        font-size: 14px;
    }
    
    .load-more-button {
        padding: 10px 20px;
        font-size: 14px;
    }
    
    .loading-indicator {
        padding: 20px;
    }
}

/* Dodatkowe style blokujące przeciąganie */
.fancybox-container {
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

.fancybox-slide, .fancybox-image, .fancybox-content {
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    pointer-events: all !important;
}

.fancybox-image {
    -webkit-user-drag: none !important;
    -khtml-user-drag: none !important;
    -moz-user-drag: none !important;
    -o-user-drag: none !important;
    user-drag: none !important;
}

/* Grid layout dla różnych liczby kolumn */
.gallery-grid.columns-1 {
    grid-template-columns: repeat(1, 1fr);
}

.gallery-grid.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.gallery-grid.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.gallery-grid.columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.gallery-grid.columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

/* Responsywność */
@media (max-width: 1200px) {
    .gallery-grid.columns-4,
    .gallery-grid.columns-5,
    .gallery-grid.columns-6 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    .gallery-grid.columns-3,
    .gallery-grid.columns-4,
    .gallery-grid.columns-5,
    .gallery-grid.columns-6 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: 1fr !important;
        justify-items: center;
    }
    
    .gallery-item {
        max-width: 400px;
        width: 100%;
    }
    
    /* NOWE: Na małych ekranach zawsze wyśrodkuj dla lepszego wyglądu */
    .gallery-grid.alignment-left,
    .gallery-grid.alignment-right {
        justify-items: center;
    }
}

@media (max-width: 576px) {
    .gallery-item {
        max-width: 300px;
    }
}#mnmwp-main-menu, #mnmwp-main-menu ul, #mnmwp-main-menu ul li, #mnmwp-main-menu ul li a, #mnmwp-main-menu #mnm-menu-button {margin: 0;padding: 0;border: 0;list-style: none;line-height: 1;display: block;position: relative;-webkit-box-sizing: border-box;box-sizing: border-box;}
#mnmwp-main-menu:after, #mnmwp-main-menu > ul:after {content: ".";display: block;clear: both;visibility: hidden;line-height: 0;height: 0;}
#mnmwp-main-menu #mnm-menu-button {display: none;}
#mnmwp-main-menu ul.mnmwp-menu{outline: 0;}
#mnmwp-main-menu {margin: 0 auto;}
#mnmwp-main-menu > ul > li {float: left;}
#mnmwp-main-menu.align-center > ul {font-size: 0;text-align: center;}
#mnmwp-main-menu.align-center > ul > li {display: inline-block;float: none;}
#mnmwp-main-menu.align-center ul ul {text-align: left;}
#mnmwp-main-menu.align-right > ul > li {float: right;}
#mnmwp-main-menu > ul > li > a {padding: 17px;font-size: 12px;letter-spacing: 1px;text-decoration: none;font-weight: 700;text-transform: uppercase;}
#mnmwp-main-menu > ul > li:hover > a {color: #ffffff;}
#mnmwp-main-menu > ul > li.has-sub > a {padding-right: 30px;}
#mnmwp-main-menu ul > li.has-sub > a:after, #mnmwp-main-menu ul > li.has-sub > a:before{content: "";bottom: calc(50% - 0.1rem);display: block;width: 7px;height: 1px;position: absolute;top: 50%;-webkit-transition: -webkit-transform .5s;transition: -webkit-transform .5s;-o-transition: transform .5s;transition: transform .5s;transition: transform .5s, -webkit-transform .5s;left: auto;}
#mnmwp-main-menu ul > li.has-sub > a:after{right: 14px;-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}
#mnmwp-main-menu ul > li.has-sub > a:before{left: auto;right: 19px;border-top-left-radius: 10px;border-bottom-left-radius: 10px;-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);}
#mnmwp-main-menu ul > li.has-sub:hover > a:after{-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);}
#mnmwp-main-menu ul > li.has-sub:hover > a:before{-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}
.is_mobile #mnmwp-main-menu ul > li.has-sub:hover > .mnm-submenu-button:after{-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);}
.is_mobile #mnmwp-main-menu ul > li.has-sub:hover > .mnm-submenu-button:before{-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}
#mnmwp-main-menu > ul > li.has-sub > ul.sub-menu li.has-sub:hover > a:before{-webkit-transform: rotate(135deg);-ms-transform: rotate(135deg);transform: rotate(135deg);}
#mnmwp-main-menu > ul > li.has-sub > ul.sub-menu li.has-sub:hover > a:after{-webkit-transform: rotate(-135deg);-ms-transform: rotate(-135deg);transform: rotate(-135deg);}
#mnmwp-main-menu > ul > li.has-sub > ul.sub-menu > li a:before{top:40%;right: 15px}
#mnmwp-main-menu > ul > li.has-sub > ul.sub-menu > li a:after{top:53%;right: 15px}
#mnmwp-main-menu ul ul {position: absolute;left: -9999px;}
#mnmwp-main-menu.align-right ul ul {text-align: right;}
#mnmwp-main-menu ul ul li {height: 0;-webkit-transition: all .25s ease;-o-transition: all .25s ease;transition: all .25s ease;}
#mnmwp-main-menu li:hover > ul {left: auto;}
#mnmwp-main-menu.align-right li:hover > ul {left: auto;right: 0;}
#mnmwp-main-menu li:hover > ul > li {height: 35px;z-index: 999;}
#mnmwp-main-menu ul ul ul {margin-left: 100%;top: 0;}
#mnmwp-main-menu.align-right ul ul ul {margin-left: 0;margin-right: 100%;}
#mnmwp-main-menu ul ul li a {border-bottom: 1px solid rgba(150, 150, 150, 0.15);padding: 11px 15px;width: 170px;font-size: 12px;text-decoration: none;color: #dddddd;font-weight: 400;background: #333333;}
#mnmwp-main-menu ul ul li:last-child > a, #mnmwp-main-menu ul ul li.last-item > a {border-bottom: 0;}
#mnmwp-main-menu ul ul li:hover > a, #mnmwp-main-menu ul ul li a:hover {color: #ffffff;}
#mnmwp-main-menu.align-right ul ul li.has-sub > a:after {right: auto;left: 11px;}
#mnmwp-main-menu.align-right ul ul li.has-sub > a:before {right: auto;left: 14px;}
#mnmwp-main-menu li.mobile-parent-nav-menu-item {display: none;}
#mnmwp-main-menu li .mnm-submenu-expand {display: none;}
#mnmwp-main-menu + .main-menu-more{display: none;}
#mnmwp-main-menu button.sub-menu-toggle{display: none;}

/*-- Responsive CSS --*/
.is_mobile #mnmwp-main-menu {width: 100%;background: none;padding: 0;}
.is_mobile #mnmwp-main-menu ul {width: 100%;display: none;}
.is_mobile #mnmwp-main-menu.align-center > ul {text-align: left;}
.is_mobile #mnmwp-main-menu ul li {width: 100%;border-top: 1px solid rgba(120, 120, 120, 0.2);}
.is_mobile #mnmwp-main-menu ul ul li, .is_mobile #mnmwp-main-menu li:hover > ul > li {height: auto;}
.is_mobile #mnmwp-main-menu ul li a, .is_mobile #mnmwp-main-menu ul ul li a {width: 100%;border-bottom: 0;}
.is_mobile #mnmwp-main-menu > ul > li {float: none;}
.is_mobile #mnmwp-main-menu ul ul li a {padding-left: 25px;}
.is_mobile #mnmwp-main-menu ul ul ul li a {padding-left: 35px;}
.is_mobile #mnmwp-main-menu ul ul, .is_mobile #mnmwp-main-menu ul ul ul, .is_mobile #mnmwp-main-menu.align-right ul ul {position: relative;left: 0;width: 100%;margin: 0;text-align: left;}
.is_mobile #mnmwp-main-menu > ul > li.has-sub > a:after, .is_mobile #mnmwp-main-menu > ul > li.has-sub > a:before, .is_mobile #mnmwp-main-menu ul ul > li.has-sub > a:after, .is_mobile #mnmwp-main-menu ul ul > li.has-sub > a:before {display: none;}
.is_mobile #mnmwp-main-menu #mnm-menu-button {display: block;padding: 10px;color: #dddddd;cursor: pointer;font-size: 12px;text-transform: uppercase;font-weight: 700;text-align: right;}
.is_mobile #mnmwp-main-menu #mnm-menu-button .btn.menu-btn span { width: 20px; height: 2px;margin: 4px auto; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-backface-visibility: hidden; backface-visibility: hidden; display: block; }
.is_mobile #mnmwp-main-menu #mnm-menu-button.mnm-menu-opened .btn.menu-btn .one {-webkit-transform: rotate(45deg) translate(3px, 3px);-ms-transform: rotate(45deg) translate(3px, 3px);transform: rotate(45deg) translate(3px, 3px);}
.is_mobile #mnmwp-main-menu #mnm-menu-button.mnm-menu-opened .btn.menu-btn .two {opacity: 0;}
.is_mobile #mnmwp-main-menu #mnm-menu-button.mnm-menu-opened .btn.menu-btn .three {-webkit-transform: rotate(-45deg) translate(6px, -6px);-ms-transform: rotate(-45deg) translate(6px, -6px);transform: rotate(-45deg) translate(6px, -6px);}
.is_mobile #mnmwp-main-menu #mnm-menu-button button.btn.menu-btn{background: none;padding: 5px;}
.is_mobile #mnmwp-main-menu #mnm-menu-button button.btn.menu-btn:focus{outline: none;}
.is_mobile #mnmwp-main-menu .mnm-submenu-button{position: absolute;z-index: 99;right: 0;top: 0;display: block;/*border-left: 1px solid rgba(120, 120, 120, 0.2);*/height: 46px;width: 46px;cursor: pointer;}
.is_mobile #mnmwp-main-menu ul ul .mnm-submenu-button {height: 34px;width: 34px;}
.is_mobile #mnmwp-main-menu .mnm-submenu-button:after {position: absolute;top: 22px;right: 19px;width: 8px;height: 2px;display: block;background: #dddddd;content: '';}
.is_mobile #mnmwp-main-menu ul ul .mnm-submenu-button:after {top: 15px;right: 13px;}
.is_mobile #mnmwp-main-menu .mnm-submenu-button.mnm-submenu-opened:after {background: #333333;}
.is_mobile #mnmwp-main-menu .mnm-submenu-button:before {position: absolute;top: 19px;right: 22px;display: block;width: 2px;height: 8px;background: #dddddd;content: '';}
.is_mobile #mnmwp-main-menu ul ul .mnm-submenu-button:before {top: 12px;right: 16px;}
.is_mobile #mnmwp-main-menu .mnm-submenu-button.mnm-submenu-opened:before {display: none;}
/**----------------------------------------------**/
.is_mobile #mnmwp-main-menu ul > li.has-sub .mnm-submenu-button:after, .is_mobile #mnmwp-main-menu ul > li.has-sub .mnm-submenu-button:before{content: "";bottom: calc(50% - 0.1rem);display: block;width: 7px;height: 1px;position: absolute;top: 50%;-webkit-transition: -webkit-transform .5s;transition: -webkit-transform .5s;-o-transition: transform .5s;transition: transform .5s;transition: transform .5s, -webkit-transform .5s;left: auto;}
.is_mobile #mnmwp-main-menu ul > li.has-sub .mnm-submenu-button:after{right: 14px;-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}
.is_mobile #mnmwp-main-menu ul > li.has-sub .mnm-submenu-button:before{left: auto;right: 19px;border-top-left-radius: 10px;border-bottom-left-radius: 10px;-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);}
.is_mobile #mnmwp-main-menu ul > li.has-sub:hover > .mnm-submenu-opened:before {-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}
.is_mobile #mnmwp-main-menu ul > li.has-sub:hover > .mnm-submenu-opened:after {-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);}/* ======================================================
   PACE.JS – CUSTOM FULLSCREEN 3D PRELOADER (OVERRIDE)
   ====================================================== */

.pace {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #ffffff !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    perspective: 1000px !important;
    opacity: 1;
    pointer-events: all !important;
}

/* chowamy stary pasek */
.pace .pace-progress,
.pace .pace-activity {
    display: none !important;
}

/* obrazek 3D */
.pace::before {
    content: "" !important;
    width: 300px;
    height: 300px;
    background: url(https://wlogcommunity.pl/wp-content/uploads/2026/01/banner.png)
        no-repeat center / contain;
    transform-style: preserve-3d;
    animation: pace-animation-sequence 4s linear forwards;
}

/* sekwencja animacji - 4 sekundy */
@keyframes pace-animation-sequence {
    /* Faza 1: Nieruchomo 1 sekunda (0%-25%) */
    0%, 25% {
        transform: rotateY(0deg) rotateX(0deg);
        animation-timing-function: step-end;
    }
    
    /* Faza 2: Obrót 2 sekundy (25%-75%) - przyspieszony */
    25% {
        transform: rotateY(0deg) rotateX(0deg);
        animation-timing-function: linear;
    }
    50% {
        transform: rotateY(180deg) rotateX(12deg);
    }
    75% {
        transform: rotateY(360deg) rotateX(0deg);
    }
    
    /* Faza 3: Nieruchomo 1 sekunda (75%-100%) */
    75%, 100% {
        transform: rotateY(360deg) rotateX(0deg);
        animation-timing-function: step-end;
    }
}

/* animacja zanikania */
@keyframes pace-fade-out {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}

/* gdy Pace.js zakończy, uruchamiamy fade-out */
.pace.pace-inactive {
    animation: pace-fade-out 0.5s ease forwards !important;
}

/* ukrywanie po zakończeniu */
body.pace-done .pace {
    display: none !important;
}

/* zabezpieczenie - ukrywanie gdy animacja się zakończy */
.pace::after {
    content: "" !important;
    animation: pace-hide-delay 4.5s forwards !important;
}

@keyframes pace-hide-delay {
    0%, 99.9% {
        display: block;
    }
    100% {
        display: none;
    }
}