/* 1. Reset i blokada przewijania strony głównej */
body.nr-slider-active {
    overflow: hidden !important;
    height: 100vh !important;
    width: 100vw !important;
    position: fixed;
}

/* 2. Główny kontener slidera - wymuszenie pełnego ekranu */
#nr-fullpage-wrapper {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9990 !important; 
    background: #000;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.nr-scroll-container {
    width: 100%;
    height: 100%;
    display: block;
}

/* 3. Pojedyncza sekcja slidera */
.nr-full-page-section {
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    overflow: hidden;
    transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
    will-change: transform;
}

/* 4. Tło karty (zdjęcie) */
.nr-card-img {
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* Ciemna nakładka na zdjęcie dla czytelności tekstu */
.nr-card-img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

/* 5. Kontener z treścią (Tytuł + Przycisk) */
.nr-card-content {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 1200px; /* Ograniczenie szerokości tekstu na dużych ekranach */
    text-align: center;
    box-sizing: border-box;
}

.nr-card-title {
    color: #ffffff !important;
    font-size: clamp(1.2rem, 6vw, 3rem) !important; /* Responsywna wielkość */
    margin-bottom: 30px !important;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.2;
    text-shadow: 2px 2px 15px rgba(0,0,0,0.5);
}

.nr-btn-more {
    display: inline-block;
    padding: 15px 45px;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: all 0.3s ease;
    background: #0068FF;
    border-radius: 30px;
}

.nr-btn-more:hover {
    background: #ffffff;
    color: #000000 !important;
}

/* 6. Nawigacja kropkowa */
#scroll-dots {
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10001;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.dot {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    transition: 0.3s ease;
}

.dot.active {
    background: #ffffff;
    transform: scale(1.4);
}

/* 7. Fix dla nagłówka (Header) STAVIO */
.page-id-169 header.elementor-location-header, 
.elementor-section-wrap > section:first-child {
    z-index: 9999 !important;
    position: relative !important;
}

.page-id-169 header.elementor-location-header .elementor-section {
	background-color: #ffffffad !important;
}

/* 8. Specyficzne poprawki dla Mobile (max-width: 768px) */
@media (max-width: 768px) {
    .nr-card-content {
        padding: 0 25px; /* Mniejszy padding na telefonach */
    }

    .nr-card-title {
        font-size: 1.2rem !important; /* Mniejsza czcionka dla długich tytułów */
        margin-bottom: 20px !important;
    }

    .nr-btn-more {
        padding: 12px 30px;
        font-size: 0.9rem;
    }

    #scroll-dots {
        right: 15px; /* Przesunięcie kropek bliżej krawędzi */
    }
}

/* --- STYLIZACJA PODSTRONY POJEDYNCZEJ REALIZACJI --- */

/* 1. Kontener główny treści */
.single-realizacje .site-content, 
.single-realizacje #primary {
    padding-top: 120px;    /* Odstęp od headera - dostosuj do wysokości swojego menu */
    padding-bottom: 80px;  /* Odstęp od stopki */
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

.single-realizacje .realizacje p {
   margin: 2px 0;
}

/* 2. Typografia i interlinia */
.single-realizacje .entry-content p,
.single-realizacje .entry-content {
    line-height: 1.6;      /* Zmniejszona, zwarta interlinia */
    color: #444;
    font-size: 1.05rem;
}

.single-realizacje h1.entry-title {
    margin-bottom: 30px;
    line-height: 1.2;
    color: #0068FF; /* Kolor spójny z przyciskiem */
}

/* 3. Nowoczesna Galeria Grid */
.nr-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 40px;
    padding: 20px 0;
}

.nr-gallery-grid a {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease;
    aspect-ratio: 4 / 3; /* Wszystkie miniatury w tym samym rozmiarze */
}

.nr-gallery-grid a img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Wypełnienie bez zniekształceń */
    transition: transform 0.6s ease;
}

/* Efekt najechania na zdjęcie */
.nr-gallery-grid a:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.nr-gallery-grid a:hover img {
    transform: scale(1.1);
}

/* 4. Poprawka dla obrazka wyróżniającego (Featured Image) na górze */
.single-realizacje .post-thumbnail {
    margin-bottom: 40px;
    border-radius: 15px;
    overflow: hidden;
    max-height: 500px;
}

.single-realizacje .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- RESPONSYWNOŚĆ --- */

@media (max-width: 768px) {
    .single-realizacje .site-content, 
    .single-realizacje #primary {
        padding-top: 100px; /* Nieco mniejszy odstęp na mobile */
        padding-bottom: 60px;
    }

    .nr-gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); /* 2 kolumny na małych ekranach */
        gap: 10px;
    }
    
    .single-realizacje h1.entry-title {
        font-size: 1.8rem;
    }
}

/* 1. Ustawienie widoczności kontenera głównego */
.glightbox-container {
    z-index: 100000 !important; /* Musi być wyższy niż Twój header (9999) */
}

/* 2. Stylizacja przycisków sterujących */
.glightbox-container .gbtn {
    background: rgba(0, 0, 0, 0.5) !important; /* Lekkie tło dla lepszej widoczności */
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

.glightbox-container .gbtn:hover {
    background: rgba(0, 0, 0, 0.8) !important;
}

/* 3. Stylizacja samych ikon SVG */
.glightbox-container .gbtn svg {
    width: 20px !important;
    height: 20px !important;
}

.glightbox-container .gbtn svg path {
    fill: #ffffff !important; /* Wymuszenie białego koloru ikon */
}

/* 4. Pozycjonowanie przycisku zamknięcia (X) */
.glightbox-container .gclose {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
}

/* 5. Pozycjonowanie strzałek bocznych */
.glightbox-container .gprev {
    left: 20px !important;
}

.glightbox-container .gnext {
    right: 20px !important;
}

/* Kontener główny */
.nr-realizacja-container {
    max-width: 1200px;
    margin: 40px auto;
    font-family: 'Montserrat', sans-serif;
    color: #333;
}

/* Rząd górny: Opis + Zdjęcie */
.nr-main-info {
    display: flex;
    gap: 50px;
    margin-bottom: 40px;
}

.nr-col-text { flex: 1; }
.nr-col-img { flex: 1; }
.nr-col-img img { width: 100%; height: auto; border-radius: 4px; }

.nr-sec-title {
    color: #0068FF;
    font-size: 1.2rem;
    margin-bottom: 15px;
    font-weight: 700;
}

.nr-desc-text { line-height: 1.6; margin-bottom: 20px; text-align: justify; }
.nr-investor { font-weight: 800; font-size: 1.1rem; }

/* Pasek parametrów technicznych */
.nr-tech-bar {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #eee;
    padding: 30px 0;
    margin-bottom: 40px;
    flex-wrap: wrap;
    gap: 20px;
}

.nr-tech-item { display: flex; flex-direction: column; min-width: 150px; }
.nr-tech-item span { font-size: 0.85rem; color: #777; margin-bottom: 5px; }
.nr-tech-item strong { font-size: 1.1rem; font-weight: 600; }

/* Galeria - jeden obrazek naraz */
.nr-slider-main {
    width: 100%;
    margin-top: 20px;
}

.nr-slide img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 992px) {
    .nr-main-info { flex-direction: column; }
    .nr-tech-bar { justify-content: flex-start; }
    .nr-slide img { height: 400px; }
}

/* Kontener slidera */
.nr-gallery-slider-wrap {
    margin-top: 50px;
    width: 100%;
    position: relative;
}

.splide__slide img {
    width: 100%;
    height: 700px; /* Wysokość slidera - dostosuj do potrzeb */
    object-fit: cover;
    display: block;
    border-radius: 8px;
}

/* Stylizacja strzałek Splide */
.splide__arrow {
    background: rgba(0, 104, 255, 0.7) !important;
    opacity: 1 !important;
}

.splide__arrow svg {
    fill: #fff !important;
}

.splide__pagination__page.is-active {
    background: #0068FF !important;
}

/* Mobile */
@media (max-width: 768px) {
    .splide__slide img {
        height: 350px;
    }
}

/* --- STYLIZACJA SLIDERA SPLIDE --- */

.nr-gallery-slider-wrap {
    margin-top: 50px;
    position: relative;
    padding-bottom: 40px; /* Miejsce na kropki pod spodem */
}

/* 1. Obrazek w sliderze */
.splide__slide img {
    width: 100%;
    height: 650px; /* Wysokość obrazka */
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* 2. STRZAŁKI (Nawigacja) */
.splide__arrows {
    /* Kontener strzałek */
}

.splide__arrow {
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    background: #0068FF !important; /* Twój niebieski */
    opacity: 0.8;
    transition: all 0.3s ease;
    border-radius: 50% !important;
    padding: 0 !important;
}

.splide__arrow:hover {
    opacity: 1;
    background: #000 !important; /* Czarny hover */
}

.splide__arrow svg {
    fill: #fff !important; /* Białe ikony */
    width: 20px !important;
    height: 20px !important;
}

/* Pozycjonowanie strzałek, by wystawały poza obrazek lub były na krawędzi */
.splide__arrow--prev {
    left: 20px !important;
}

.splide__arrow--next {
    right: 20px !important;
}

/* 3. KROPKI (Pagynacja) */
.splide__pagination {
    bottom: -30px !important; /* Przesunięcie kropek pod obrazek */
    gap: 8px;
}

.splide__pagination__page {
    width: 12px !important;
    height: 12px !important;
    background: #ccc !important; /* Jasny szary dla nieaktywnych */
    border: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    transition: transform 0.3s ease, background 0.3s ease;
}

.splide__pagination__page.is-active {
    background: #0068FF !important; /* Twój niebieski dla aktywnej */
    transform: scale(1.3); /* Lekkie powiększenie aktywnej kropki */
}

/* Ukrycie kropek na bardzo małych ekranach, jeśli chcesz (opcjonalnie) */
@media (max-width: 480px) {
    .splide__arrow {
        width: 40px !important;
        height: 40px !important;