/* Reset stylów */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    padding: 20px;
    text-align: justify;
}

#product-page {
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* Header (webber-header) */
.webber-header {
    padding: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.webber-header .logo-container {
    text-align: center;
}

.webber-header .text-header {
    font-size: 1.0em;
    line-height: 1.2em;
    color: #767676;
    font-weight: 400;
    text-align: center;
}

.webber-header .logo-webber {
    padding: 0 0.16em;
    background: white;
    position: relative;
    z-index: 1;
    max-width: 70%;
}

/* Główna sekcja */
.product-header {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 500px;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    background-color: #fff;
}

.header-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 16px;
    transition: transform 0.3s ease; /* Dodanie płynnego przejścia */
}

.header-image:hover {
    transform: scale(1.05); /* Powiększenie obrazu na hover */
}
.image-with-text img:hover {
    transform: scale(1.1); /* Powiększenie obrazu o 10% */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Cień na hover */
}
.image-with-text {
    position: relative; /* Aby umożliwić pozycjonowanie tekstu */
    display: inline-block;
    width: 100%; /* Dopasowanie do kontenera */
}

.image-with-text img {
    width: 100%; /* Dopasowanie obrazu do szerokości kontenera */
    height: auto; /* Zachowanie proporcji obrazu */
    border-radius: 16px; /* Zaokrąglenie narożników */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Animacja na hover */
}
.image-with-overlay img {
    transition: transform 0.3s ease; /* Płynna animacja */
}

.image-with-overlay img:hover {
    transform: scale(1.1); /* Powiększenie obrazu o 10% */
}
.highlighted-text {
    margin: 20px; /* Dodanie marginesu wokół tekstu */
    display: inline-block; /* Aby margines działał prawidłowo */
    font-size: 1em; /* Opcjonalnie zwiększenie rozmiaru tekstu */
}
.image-with-text .overlay-text {
    position: absolute; /* Ustawienie tekstu na obrazie */
    top: 50%; /* Wyśrodkowanie w pionie */
    left: 50%; /* Wyśrodkowanie w poziomie */
    transform: translate(-99%, -50%); /* Idealne wyśrodkowanie */
    color: #fff; /* Kolor tekstu */
    font-size: 2em; /* Rozmiar tekstu */
    font-weight: normal; /* Pogrubienie tekstu */
    text-align: left; /* Wyśrodkowanie tekstu */
    padding: 10px 0px; /* Odstępy wokół tekstu */
    border-radius: 8px; /* Zaokrąglone rogi tła */
}
.overlay-text p {
    font-size: 0.6em; /* Zmniejszony rozmiar tekstu */
    margin-top: 5px; /* Dodanie niewielkiego odstępu nad tekstem */
    line-height: 1.2; /* Dopasowanie odstępów między wierszami */
    text-align: left;
    margin: 10px; /* Dodanie marginesu wokół tekstu */
    padding: 10px; /* Opcjonalnie dodanie odstępów wewnętrznych */
    border-radius: 8px; /* Zachowanie zaokrąglonych rogów */
}
.image-with-overlay {
    position: relative; /* Aby umożliwić pozycjonowanie tekstu */
    display: inline-block;
    width: 100%; /* Dopasowanie szerokości do kontenera */
}

.image-with-overlay img {
    border-radius: 12px;
    display: block; /* Usuń ewentualne marginesy wokół obrazu */
    width: 100%; /* Dopasowanie szerokości obrazu */
    height: auto; /* Zachowanie proporcji */
}

.text-overlay {
    position: absolute;
    top: 50%; /* Wyśrodkowanie pionowe */
    left: 0; /* Wyrównanie tekstu do lewej */
    transform: translateY(-50%); /* Wyśrodkowanie tekstu w pionie */
    text-align: left; /* Wyrównanie tekstu do lewej */
    padding-left: 20px; /* Mały odstęp od lewej krawędzi */
    width: 100%; /* Zapewnienie przestrzeni na tekst */
    color: white;
}
.text-overlay h5 {
    margin: 5px;
    font-size: 2em; /* Rozmiar tekstu */
    font-weight: normal;
}
.text-overlay ul {
    list-style-type: disc; /* Kropki jako znaczniki listy */
    padding-left: 20px; /* Wcięcie całej listy od lewej strony */
    margin: 10px 0; /* Odstęp nad i pod listą */
    color: white; /* Kolor tekstu na biały, jeśli tło jest ciemne */
}

.text-overlay ul li {
    margin-bottom: 0px; /* Odstęp między elementami listy */
    font-size: 1em; /* Rozmiar tekstu listy */
}
.product-features {
    padding: 20px;
}

.product-features h2 {
    font-size: 24px;
    margin-bottom: 20px;
    text-align: center;
    color: #080808;
}

.feature {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    text-align: left;
}

.feature.reverse {
    flex-direction: row-reverse;
}

.feature-image, .feature-description {
    flex: 1 1 50%;
    padding: 20px;
}

.feature-image img {
    width: 440px;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Dodanie animacji */
}

.feature-image img:hover {
    transform: scale(1.05); /* Powiększenie obrazu */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Efekt cienia */
}

.feature-description h3 {
    font-size: 20px;
    color: #333;
    margin-bottom: 10px;
}

.feature-description p {
    font-size: 16px;
    color: #555;
}

ul {
    padding-left: 20px; /* lub dowolna wartość wcięcia */
    margin-left: 20px; /* opcjonalnie, jeśli wolisz margin */
    list-style-type: disc; /* lub square/circle, aby zachować standardowy styl listy */
}

ul, ol {
    font-size: inherit; /* Dziedziczenie czcionki z elementu nadrzędnego */
    line-height: 1.6;  /* Opcjonalne ustawienie odstępów między wierszami */
    margin-left: 20px; /* Wcięcie listy */
    padding-left: 20px; /* Dodatkowe wcięcie w przypadku listy z symbolami */
}

ul li, ol li {
    font-size: inherit; /* Upewnienie się, że elementy <li> również dziedziczą rozmiar czcionki */
    margin-bottom: 5px; /* Odstęp między elementami listy */
}
/* Package */
.product-package {
    padding: 20px;
    background: #f9f9f9;
    border-top: 1px solid #0a0a0a;
}

.product-package h2 {
    font-size: 24px;
    margin-bottom: 20px;
    text-align: center;
    color: #0a0a0a;
}

.package-content img {
    max-width: 100%;
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Animacja dla obrazu */
}

.package-content img:hover {
    transform: scale(1.05); /* Powiększenie obrazu */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Efekt cienia */
}
.product-footer {
    text-align: center; /* Wyśrodkowanie tekstu wewnątrz stopki */
    padding: 20px; /* Dodanie odstępów wewnętrznych */
    font-size: 0.9em; /* Opcjonalnie zmniejszony rozmiar tekstu */
}
.text-overlay ul li {
    color: white !important; /* Wymuszenie białego koloru tylko dla tej sekcji */
}
/* Responsywność */
@media (max-width: 768px) {
    .feature, .feature.reverse {
        flex-direction: column-reverse;
        text-align: left;
        align-items: left;
    }

    .feature-image {
        margin: 20px 0;
    }
    .product-header .image-with-text {
        margin: 5px; /* Dodanie marginesu 5px wokół elementu */
    }
    
    .product-header .overlay-text {
        margin: 5px; /* Dodanie marginesu 5px dla tekstu */
        padding: 5px; /* Opcjonalnie, odstęp wewnętrzny */
    }
}

@media (max-width: 480px) {
    .product-features h2 {
        font-size: 20px;
    }
    .feature-description h3 {
        font-size: 18px;
    }
    
    .feature-description p {
        font-size: 14px;
    }
}
@media (max-width: 768px) {
    .image-with-text .overlay-text {
        font-size: 1.5em; /* Zmniejszenie ogólnego rozmiaru tekstu */
    }

    .image-with-text .overlay-text .highlighted-text {
        font-size: 1.2em; /* Dopasowanie rozmiaru wyróżnionego tekstu */
    }

    .image-with-text .overlay-text p {
        font-size: 0.7em; /* Zmniejszenie rozmiaru paragrafu */
        line-height: 1.3; /* Zmniejszenie odstępów między liniami */
    }
}
