body {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Upewnia się, że wysokość strony to 100% okna */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
    background-color: #e0e0e0;
    color: #333;
}

header {
    background-color: #203d5e;
    color: #e0e0e0;;
    padding: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 1rem 0;
    margin-top: auto; /* Automatycznie przyciągnie stopkę do dołu */
}

header .logo {
    font-size: 1.5rem;
    font-weight: bold;
}
header .logo:hover{
    filter: invert(45%) sepia(100%) saturate(300%) hue-rotate(50deg);
}

header .search-bar {
    width: 25%;
}

header .search-bar input[type="text"] {
    width: 100%;
    padding: 0.5rem;
    font-size: 1rem;
    border: none;
    border-radius: 4px;
}
.shopping-cart-icon {
    width: 25px;  /* Ustawienie szerokości ikony */
    height: auto; /* Zachowanie proporcji */
    margin-left: 5px; /* Dodatkowa przestrzeń między tekstem a ikoną */
}
.logout-button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.logout-icon {
    width: 25px;  /* Ustawienie szerokości ikony */
    height: auto; /* Zachowanie proporcji */
    margin-left: 5px; /* Dodatkowa przestrzeń między tekstem a ikoną */
}
.logout-icon:hover{
    filter: invert(45%) sepia(100%) saturate(300%) hue-rotate(50deg);
}
.heart {
    font-size: 20px;
    color: lightgray;
    transition: color 0.3s;
}

.heart.filled {
    color: red;
}

.heart:hover{
    color: red;
    cursor: pointer;

}
#cart-count {
    display: inline-block; /* Ustawienie, żeby liczba była traktowana jako element inline-block */
    background-color: #ff5733; /* Kolor tła licznika */
    color: white; /* Kolor tekstu liczby */
    border-radius: 12px; /* Zaokrąglenie rogów */
    padding: 2px 6px; /* Odstępy wewnętrzne wokół liczby */
    font-size: 14px; /* Rozmiar czcionki */
    font-weight: bold; /* Pogrubienie czcionki */
    text-align: center; /* Wyśrodkowanie tekstu */
    min-width: 20px; /* Minimalna szerokość, żeby liczba zawsze miała odpowiedni odstęp */
    height: 20px; /* Wysokość licznika */
    line-height: 16px; /* Wyrównanie liczby do środka w pionie */
    position: relative; /* Aby umożliwić pozycjonowanie względem kontenera */
    top: -7px; /* Przesunięcie licznika nieco wyżej, by lepiej pasował do ikony */
}
.shopping-cart-icon:hover{
     filter: invert(45%) sepia(100%) saturate(300%) hue-rotate(50deg);
}
header .user-actions {
    display: flex;
    align-items: center;
}

header .user-actions a {
    color: white;
    margin-left: 1rem;
    text-decoration: none;
}

header .user-actions a:hover,
header .user-actions a:focus,
header .user-actions a:active {
    color: #28a745;
    background: #203d5e;
}

header .logo a {
    text-decoration: none;
    color: inherit;
}

header .logo a:hover,
header .logo a:focus,
header .logo a:active {
    text-decoration: none;
    color: inherit;
}
    /* Hide burger menu button on larger screens */
   .burger-menu {
        display: none;
    }

    /* Navigation styles */
    .nav-container {
        background-color: #fff;
        padding: 0.5rem 2rem;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        display: flex;
        justify-content: center;
        margin-bottom: 1rem;
        position: sticky;
        top: 50px; /* Odstęp od góry, aby nie nakładało się na header */
        z-index: 999;
    }

    nav a {
        color: #333;
        text-decoration: none;
        font-weight: bold;
        padding: 0.5rem 1rem;
    }

    nav a:hover,
    nav a:focus,
    nav a:active {
        text-decoration: none;
        background-color: #203d5e;
        color: white;
        border-radius: 4px;
    }

    .content {
        padding: 2rem;
    }

    .banner {
        margin-bottom: 2rem;
        border-radius: 8px;

    }

.banner-category {
    margin-bottom: 2rem;
    border-radius: 8px;
    position: relative;
    width: 100%;
    height: 25vh; /* Użyjemy jednostek względnych do wysokości ekranu */
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);

}
.banner-category img{
    width: 100%;
    height: 100%;
    object-fit: cover; /* Użyjemy cover, aby obraz wypełniał cały kontener */
}
    .categories,
    .featured-products {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-bottom: 2rem;
        text-decoration: none;
        text-underline: none;
        align-items: center;
    }

    .category,
    .product {
        background-color: #b0bec5;
        padding: 1rem;
        border-radius: 8px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        flex: 1 1 calc(25% - 1rem);
        box-sizing: border-box;
        text-align: center;
        transition: transform 0.3s;
        text-decoration: none;
        text-underline: none;
    }
.message-container {
    position: fixed;
    top: 28%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #f8d7da;
    color: #721c24;
    padding: 10px;
    border: 1px solid #f5c6cb;
    border-radius: 5px;
    z-index: 1000;
    display: none;
}
#noResultsMessage{
    margin-top: 80px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #f8d7da;
    color: #721c24;
    padding: 30px;
    border: 1px solid #f5c6cb;
    border-radius: 5px;
    z-index: 1000;
    display: none;
}

    .category:hover,
    .product:hover {
        transform: translateY(-5px);
    }
.image-and-button{
    display: flex;

}
    .category img,
    .product img {
         /* Maksymalna szerokość */
         /* Maksymalna wysokość */
        min-width: 200px; /* Maksymalna szerokość */
        height: auto; /* Proporcjonalna wysokość */
        border-radius: 8px;
        object-fit: cover; /* Dopasowuje obrazek do kontenera, przycinając go, jeśli to konieczne */
    }


/* Specyficzna stylizacja dla ikony koszyka */
.add-to-shopping-cart-icon img {
    max-width: 30px;   /* Zmniejsza szerokość ikony */
    max-height: 30px; /* Zmniejsza wysokość ikony */
    min-width: 30px;  /* Minimalna szerokość */
    min-height: 30px; /* Minimalna wysokość */
    object-fit: contain; /* Utrzymanie proporcji */
    padding-left: 15px;
    padding-right: 15px;
}
.gallery{

}
.add-to-shopping-cart-icon {
    display: flex;
    justify-content: center; /* wyśrodkowanie ikony */
    align-items: center;
    margin-top: 10px;
}

.add-to-shopping-cart-icon img:hover{
    filter: invert(45%) sepia(100%) saturate(300%) hue-rotate(50deg);
}
.add-to-cart-form button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cart-icon-wrapper {
    position: relative;
    display: inline-block;
}

.cart-icon-wrapper:hover .shopping-cart-icon {
    transform: scale(1.1);
}

.cart-hover-text {
    position: absolute;
    top: 110%; /* pod ikoną */
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    font-size: 14px;
    color: #fff;
    background-color: #333;
    padding: 4px 8px;
    border-radius: 6px;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    z-index: 10;
    pointer-events: none;
}

.cart-icon-wrapper:hover .cart-hover-text {
    opacity: 1;
}
.show-big-image-button{
    background-color: #203d5e;
    color: white;
    position: absolute;
    bottom:0;
    padding: 10px;
    transform: translateX(-50%);
    width: 100%;


 }
.show-big-image-button:hover{
    cursor: pointer;
    background-color: royalblue;
}

.image-wrapper {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    height: 250px; /* Stała wysokość dla wszystkich zdjęć */
    place-items: center;
    max-width: 300px;
    margin: 0 auto; /* Centrowanie poziome */

}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
    place-items: center;
}
/* Modal */
.okno-powiekszenia {
    display: none;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    align-items: center;
    justify-content: center;
}

.okno-powiekszenia img {
    width: 50%;
    height: 90%;
}

.zamknij-obraz {
    position: absolute;
    left: 76%;
    top: 10%;
    color: white;
    font-size: 40px;
    cursor: pointer;
    z-index: 1000;

}.nav-button {
     top: 50%;
     transform: translateY(-50%);
     background-color: rgba(255,255,255,0.8);
     border: none;
     font-size: 2rem;
     padding: 0.5rem 1rem;
     cursor: pointer;
     z-index: 10;
 }

#prev-image { left: 10px; }
#next-image { right: 10px; }

#rotate-button {

    font-size: 40px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: white;
    z-index: 9999;
}
.rotate-button{
position: absolute;
    padding-bottom: 10%;
    top:92%;
    left: 76%;

}

#rotate-button:hover {
    color: #ccc;
}
.rating-modal{
    position: absolute;
    bottom: 0px; /* Odstęp od dołu */
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    background-color: #203d5e;

}

.rating-modal .heart{
    display: flex;
    margin-top: 0;
    font-size: 40px;
}


/* Style dla sekcji featured-products */
    .featured-products .product a h3,
    .featured-products .product a p {
        color: black;
    }

    /* Dostosowanie układu dla głównej treści */
    .main-content {
        display: flex;
    }

    .content {
        flex: 1;

    }


    /* Globalne style dla linków */
    a {
        text-decoration: none; /* Usuń podkreślenie dla wszystkich linków */
        color: black;
    }

    .featured-products .product a:hover,
    .featured-products .product a:focus,
    .featured-products .product a:active {
        text-decoration: none; /* Upewnij się, że linki nie są podkreślone nawet podczas interakcji */
        color: black;
    }

    /* Stylizacja rozwijanego przycisku filtra */
    .filter-toggle {
        position: relative;
    }

    #filterButton {
        background-color: #203d5e;
        color: white;
        border: none;
        padding: 0.5rem 1rem;
        cursor: pointer;
        border-radius: 4px;
    }

    .filter-content {
        display: none; /* Początkowo ukryta */
        position: absolute;
        background-color: #fff;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        padding: 1rem;
        width: 200px;
        z-index: 1000;
        top: 100%;
        left: 0;
    }

    .filter-content form {
        display: flex;
        flex-direction: column;
    }

    .filter-content button {
        margin-top: 1rem;
        background-color: #203d5e;
        color: white;
        border: none;
        padding: 0.5rem;
        border-radius: 4px;
        cursor: pointer;
    }

    .filter-content button:hover {
        background-color: #1b2a42;
    }

    /* Stylizacja po kliknięciu przycisku filtra */
    .filter-toggle.open .filter-content {
        display: block; /* Pokaż zawartość */
    }

    /* Stylowanie kontenera dla menu na małych ekranach */
    .user-actions {
        display: flex; /* Domyślnie pokazane na dużych ekranach */
        align-items: center;
    }

    /* Styl dla przycisku filtrowania */
    #filterButton {
        background-color: #203d5e;
        color: white;
        border: none;
        padding: 0.5rem 1rem;
        cursor: pointer;
        border-radius: 4px;
        transition: background-color 0.3s ease;
        position: relative;
    }

    #filterButton:hover {
        background-color: #1b2a42;
    }

    /* Styl dla rozwijanego menu po najechaniu */
    .filter-toggle:hover .filter-content {
        display: block;
        opacity: 1;
    }

    .filter-content {
        display: none;
        opacity: 0;
        position: absolute;
        background-color: transparent; /* Zmienione z #fff na transparentne tło */
        box-shadow: none; /* Usunięcie cienia */
        padding: 0; /* Usunięcie paddingu */
        width: auto; /* Ustawienie na auto, jeśli potrzebne */
        z-index: 1000;
        top: 100%;
        left: 0;
        transition: opacity 0.3s ease;
        border-radius: 0; /* Usunięcie zaokrąglonych rogów */
    }

    /* Styl dla przycisków wewnątrz formularza filtrowania */
    .filter-content button {
        background-color: #203d5e;
        color: white;
        border: none;
        padding: 0.5rem;
        border-radius: 4px;
        cursor: pointer;
        width: 150px; /* Ustalona szerokość dla przycisków */
        display: block; /* Przyciski zajmują pełną szerokość kontenera */
        margin: 0; /* Usunięcie marginesów */
    }

    /* Styl dla przycisków wewnątrz formularza filtrowania po najechaniu */
    .filter-content button:hover {
        background-color: #1b2a42;
    }

    /* Pagination styles */
    .pagination {
        display: flex;
        justify-content: center;
        margin-top: 2rem;
    }

    .pagination ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        gap: 0.5rem;

    }

    .pagination li {
        margin: 0;
    }

    .pagination a {
        text-decoration: none;
        color: #203d5e;
        padding: 0.5rem 1rem;
        border: 1px solid #203d5e;
        border-radius: 4px;
        background-color: #fff;
    }

    .pagination a:hover,
    .pagination a:focus {
        background-color: #203d5e;
        color: white;
    }

    .pagination li.active a {
        background-color: #203d5e;
        color: white;
        border: none;
    }

    /* Domyślnie, menu jest widoczne, a przycisk hamburgera ukryty */
    .nav-menu-content {
        display: flex;
    }

    .menu-toggle {
        display: none; /* Ukryj przycisk hamburgera na dużych ekranach */
        font-size: 1rem;
        padding-bottom: 5px;
        background: none;
        border: none;
        cursor: pointer;
        color: #fff;
    }

    @media (max-width: 768px) {
        .nav-menu-content {
            display: none; /* Ukryj menu na małych ekranach */
            flex-direction: column;
            position: absolute;
            top: 20px; /* Dostosuj według potrzeb */
            left: 0;
            text-align: center;
            background: #fff;
            width: 100%;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        /* Specyficzna stylizacja dla ikony koszyka */
        .add-to-shopping-cart-icon img {
            max-width: 30px !important;  /* Zmniejsza szerokość ikony */
            max-height: 30px !important; /* Zmniejsza wysokość ikony */
            min-width: 30px !important;  /* Minimalna szerokość */
            min-height: 30px !important; /* Minimalna wysokość */
            object-fit: contain !important; /* Utrzymanie proporcji */
        }
        .menu-toggle {
            display: block;
            color: #1b2a42;
            border: #1b2a42; /* Pokaż przycisk hamburgera na małych ekranach */
        }

        .nav-menu-content.open {
            display: flex; /* Pokaż menu po kliknięciu przycisku hamburgera */
            margin-top: 15px;
        }

        .nav-menu-content a {
            padding: 1rem;
            border-top: 1px solid #eee;
        }

        .nav-menu-content a:hover,
        .nav-menu-content a:focus {
            background-color: #203d5e;
            color: white;
        }

        header .user-actions {
            display: none; /* Ukryj akcje użytkownika domyślnie na małych ekranach */
        }

        header .user-actions.open {
            display: flex; /* Pokazuje akcje użytkownika, gdy menu jest otwarte */
            flex-direction: column; /* Opcjonalnie zmienia układ na kolumnowy */
        }

        .shopping-cart-icon {
            width: 25px; /* Ustawienie szerokości ikony */
            height: auto; /* Zachowanie proporcji */
            margin-left: 5px; /* Dodatkowa przestrzeń między tekstem a ikoną */
            color: #203d5e;
            filter: invert(45%) sepia(100%) saturate(300%) hue-rotate(50deg);
        }

        .logout-icon {
            width: 25px; /* Ustawienie szerokości ikony */
            height: auto; /* Zachowanie proporcji */
            margin-left: 5px; /* Dodatkowa przestrzeń między tekstem a ikoną */
            color: #203d5e;
            filter: invert(45%) sepia(100%) saturate(300%) hue-rotate(50deg);
        }

        @media (max-width: 768px) {
            header {
                justify-content: flex-start; /* Przesuwa całą zawartość nagłówka w lewo */
            }

            /* Dostosowanie odstępów między elementami, jeśli jest taka potrzeba */
            header .logo {
                margin-right: 1rem; /* Opcjonalne - dodaj odstęp między logo a resztą */
            }

            header .search-bar {
                margin-right: 1rem; /* Opcjonalne - dodaj odstęp między wyszukiwarką a akcjami użytkownika */
            }

            header .user-actions {
                display: none; /* Hide user actions on small screens */
                flex-direction: column;
                position: absolute;
                margin-right: auto;
                top: 60px; /* Adjust as per your layout */
                right: 0;
                background: #fff; /* Dropdown background color */
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
                z-index: 1000;
            }

            header .user-actions:hover {
                cursor: pointer;
            }

            header .burger-menu {
                display: block; /* Show burger menu button on small screens */
                margin-left: auto;
            }

            header .burger-menu:hover {
                cursor: pointer;
            }

            /* Show user actions when burger menu is clicked */
            .user-actions.open {
                display: flex; /* Show the dropdown */
            }

            /* Optional: Style the user actions within the dropdown */
            .user-actions.open a {
                padding: 0.5rem;
                border-top: 1px solid #eee;
                color: #203d5e; /* Text color for user actions */
                width: 100%;
            }

            .main-content {
                flex-direction: column;
            }
            .category img,
            .product img {
                max-width: 150px; /* Maksymalna szerokość */
                min-width: 150px;
                height: 100%;
                object-fit: cover; /* Dopasowuje obrazek do kontenera, przycinając go, jeśli to konieczne */
            }
            .categories,
            .featured-products {
                display: flex;
                flex-wrap: wrap;
                gap: 1rem;
                margin-bottom: 2rem;
                object-fit: contain;
            }
            .featured-products .product img {
                width: 100%; /* Obrazek zajmuje 100% dostępnej szerokości kontenera */
                max-width: 300px; /* Maksymalna szerokość obrazka */
                object-fit: cover; /* Dopasowanie obrazu do kontenera */
            }

            .image-wrapper {
                position: relative;
                display: block;
                overflow: hidden;
                border-radius: 8px;
                height: 250px; /* Stała wysokość dla wszystkich zdjęć */
                place-items: center;
            }
            .product{
                font-size: 1rem; /* Standardowa wielkość czcionki */
            }
            .pagination {
                display: flex;
                justify-content: center;
                margin-top: 2rem;
            }

            .pagination ul {
                list-style: none;
                padding: 0;
                margin: 0;
                display: flex;
                gap: 0.5rem;
            }

            .pagination li {
                margin: 0;
            }

            .pagination a {
                text-decoration: none;
                color: #203d5e;
                padding: 0.2rem 0.5rem;
                border: 1px solid #203d5e;
                border-radius: 4px;
                background-color: #fff;
            }

        header .search-bar input[type="text"] {
            width: 100%;
            font-size: 0.5rem;
            border: none;
            border-radius: 4px;
        }

            .image-wrapper {
                position: relative;
                display: block;
                overflow: hidden;
                border-radius: 8px;
                height: 250px; /* Stała wysokość dla wszystkich zdjęć */
                place-items: center;
            }

            .image-wrapper img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
                transition: transform 0.3s ease;
            }
            /* Modal */
            .okno-powiekszenia {
                display: none;
                position: fixed;
                z-index: 999;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background-color: rgba(0, 0, 0, 0.8);
                align-items: center;
                justify-content: center;
            }

            .okno-powiekszenia img {
                width: 100%;
                height: auto;
                max-height: 75%;
            }

            .zamknij-obraz {
                position: absolute;
                left: 91%;
                top: 7%;
                color: white;
                font-size: 33px;
                cursor: pointer;
                z-index: 1000;
                background-color: grey;
                padding-left: 5px;
                padding-right: 5px;

            }.nav-button {
                 top: 96%;
                margin-bottom: 0;
                position: absolute ;
                 transform: translateY(-50%);
                 background-color: rgba(255,255,255,0.8);
                 border: solid;
                 font-size: 2rem;
                 padding: 0.2rem 1rem;
                 cursor: pointer;
                 z-index: 10;
             }

            #prev-image { left: 20px; }
            #next-image { right: 20px; }

            #rotate-button {
                position: absolute;
                background: gray;
                border: none;
                cursor: pointer;
                color: white;
                font-size: 30px;

            }
            .rotate-button{
                position: absolute;
                top: 7%;
                color: white;
                padding-bottom: 0;
                cursor: pointer;
            }
            }

            @media (max-width: 767px) {

            .cart-hover-text {
                display: none;
            }
        }
    }