        body {
            font-family: Arial, sans-serif;
            display: flex;
            justify-content: center;
            margin: 0;
        }

        .main-panel {
            width: 90%;
            display: flex;
            flex-direction: column;
        }

        .header-container {
            display: flex;
            justify-content: space-between;
            width: 90%;
            align-items: center;
            margin: 20px 0;
        }

        /* Logo i konfigurator bez ramek */
        .logo img, .configurator img {
            display: block;
            max-height: 60px; /* Dostosuj wysokość do projektu */
        }


        /* Gradientowa linia */
        .gradient-line {
            width: 100%;
            height: 10px;
            background: linear-gradient(to right, #782E72, #423F94, #3473B0);
            margin: 20px 0;
        }

        .lighting {
            text-align: left;
            margin-top: 10px;
        }


        .filter-panel {
            display: flex;
            margin-bottom: 10px;
            opacity: 0; /* Ukrywamy panel początkowo */
            transform: translateY(10px); /* Opcjonalnie - lekko przesuwa w dół dla lepszego efektu */
            transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
        }


        /* Klasa, która aktywuje efekt fade-in */
        .filter-panel.show {
            opacity: 1;
            transform: translateY(0);
        }

        .filter-panel-name {
            background-color: #d2d3d5;
            padding: 10px;
            min-width: 170px;
            display: flex;
            align-items: flex-start;
        }

        .filter-panel-name span {
            color: #333;
            font-weight: bold;
            margin: 10px;
        }

        .filter-panel-content {
            flex-grow: 1;
            display: flex;
            flex-direction: column;
        }

        .filter-panel-content-up {
            flex: 2;
            background: linear-gradient(to top, #d2d3d5 50%, #e5e6e8 70%, white 90%);
            padding: 20px;
            display: flex;
            justify-content: center;
            gap: 60px;
            flex-wrap: wrap;
        }
        /* .filter-panel-content-up {
            background: linear-gradient(to top, #d2d3d5 50%, #e5e6e8 70%, white 90%);
            padding: 20px;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            gap: 20px;
            justify-items: center;
        } */


        .filter-panel-content-down {
            background-color: #d2d3d5;
            padding: 10px; /* Opcjonalnie, dla lepszego wyglądu */
        }


        .filter-option {
            display: flex;
            flex-direction: column;
            align-items: center;
            cursor: pointer;
        }

        .filter-image {
            width: 100px;
            height: 100px;
            border-radius: 20px;
            transition: filter 0.3s, opacity 0.3s;
        }

        .filter-label {
            margin-top: 5px;
            font-weight: bold;
        }

        .filter-label-profile-add-in {
            margin-top: 2px;
            font-size: smaller;
            color: grey;
        }

        .dimmed {
            filter: grayscale(100%);
            opacity: 0.5;
        }

        .button-container {
            display: flex;
            justify-content: center;
            margin-top: 10px;
        }

        .continue-button {
            border: none;
            background: none;
            cursor: pointer;
        }

        .continue-button img {
            width: 100px; /* Dostosuj rozmiar obrazka */
            height: auto;
        }

        /*************************** DIMENSTIONS ********************************************/

        .dimension-wrapper {
            display: flex !important;  /* Nadpisuje ustawienie nadrzedne */
            flex-direction: row !important; /* Wymusza ustawienie w jednym wierszu */
            align-items: flex-start;
            gap: 8px; /* Odstep miedzy etykieta a inputem */
            margin-bottom: 8px; /* Odstep miedzy liniami */
        }

        /* .dimension-label {
            text-align: left;
        } */

        .dimensions-wrapper {
            display: flex;
            gap: 10px;
          }
        
        .dim-optimal-wrapper {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }

        .dimensions-memorize-button {
            background: linear-gradient(to right, #782E72, #423F94, #3473B0); /* Gradient pasujący do reszty */
            color: white;
            font-size: 16px;
            font-weight: bold;
            border: none;
            padding: 12px 24px;
            border-radius: 8px;
            cursor: pointer;
            transition: background 0.3s ease, transform 0.2s ease;
            box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
            height: auto; 
            align-self: flex-start;
        }

        #dimensions-memorize-button:hover {
            background-color: #285a8e;
        }

        /* Chrome, Safari, Edge, Opera */
        .dimension-input::-webkit-outer-spin-button,
        .dimension-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
        }

        /* Firefox */
        .dimension-input {
        -moz-appearance: textfield;
        }


        /*************************************************************************************/

        .radio-list-container {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-top: 10px;
        }

        .radio-item {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .radio-label {
            cursor: pointer;
        }

.sliders-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.centered {
    text-align: center;
    width: 100%;
}

.sliders-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    max-width: 600px;
}

.slider-pair {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
}

.slider-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 48%;
}

.column-centered-area {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.email-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.email-panel .filter-panel-content-up {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    gap: 10px; /* Odstępy między elementami */
}

.email-input {
    width: 320px;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: center;
}

.email-send-button {
    background-color: #007BFF;
    color: white;
    font-size: 16px;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.email-send-button:hover {
    background-color: #0056b3;
}

.email-info {
    color: #666;
    font-size: 12px;
    font-style: italic;
    text-align: center;
    margin-top: 5px;
    max-width: 300px;
}

.email-checkbox {
  margin-top: 8px;
  display: flex;
  flex-direction: column;  /* układ w kolumnie */
  gap: 8px;                /* odstęp między parami */
}

.checkbox-row {
  display: flex;           /* układ w wierszu */
  align-items: center;
  gap: 8px;
}


.column-centered-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

#.memorize-button-wrapper {
#    margin-top: 15px;
#}

/* Styl dla kontenera przycisku "Memorize Current Settings" */
.button-container {
    display: flex;
    justify-content: center;
    margin-top: 15px; /* Dodatkowy odstęp od listy */
}


#dimensions-memorize-button:hover,
#sliders-memorize-button:hover {
    background-color: #285a8e;
}




/* Dodajemy klasę wrappera, który trzyma tabelę i inputy obok siebie */
.driver-table-wrapper {
    display: flex;          /* Ustawiamy flexbox */
    align-items: flex-start; /* Wyrównanie do góry */
    gap: 2rem;              /* Odstęp między tabelą a inputami */
    flex-direction: column;
    align-items: center;
  }
  
  /* Tabeli można zmienić szerokość, żeby nie rozciągała się na 100% */
  .driver-table {
    width: auto; 
    border-collapse: collapse;
    /* margin-bottom: 1rem;  usuwamy, bo już nie potrzebujemy przerwy w pionie */
  }
  
  /* Zamiast flex-wrap: wrap, ustawiamy kolumnę, żeby inputy były jeden pod drugim */
  .driver-table-inputs {
    display: flex;
    flex-direction: column;
    /* margin-top: 1rem; usuwamy, bo chcemy mieć je obok tabeli */
    gap: 1rem; 
  }
  
  .driver-table-inputs label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 500;
  }
  
  .driver-table-inputs input {
    width: 150px;
    padding: 0.3rem;
    border: 1px solid #ccc;
    border-radius: 4px;
  }

  
  .driver-table th,
  .driver-table td {
    border: 1px solid #ccc;
    padding: 0.5rem 1rem;
    text-align: center;
  }
  
  .driver-table thead {
    background-color: #f9f9f9;
  }

  
  .driver-table thead th {
    background-color: rgb(128, 128, 128);
    color: white;
    font-style: italic;
  }

  .driver-table tbody tr:hover {
    /* background-color: rgb(30,144,155); */
    background-color: rgba(0, 0, 0, 0.05);
    color: white;
  }

  /* Wyraźne podświetlenie zaznaczonego wiersza */
   .driver-table tbody tr.selected {
    /* background-color: rgba(0, 120, 215, 0.25); /* jasny niebieski */
    background-color: rgb(30,144,155);
   }
  
  .sliders-list-container {
    display: flex;
    gap: 10px;
  }


  /* Stylizacja listy dropdown */
.dimensions-dropdown-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff; /* jasne tło */
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 40px 8px 12px; /* dodatkowa przestrzeń po prawej na ikonę */
    font-family: Arial, sans-serif;
    font-size: 16px;
    color: #333;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='16' height='16' viewBox='0 0 20 20' fill='%23333' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.516 7.548l4.484 4.484 4.484-4.484.997.997-5.481 5.481-5.481-5.481z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px 16px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
  }
  
  .dropdown-select:focus,
  .dropdown-select:hover {
    outline: none;
    border-color: #3473B0;
    box-shadow: 0 0 0 2px rgba(52,115,176,0.2);
  }
  
  .dropdown-select option {
    background-color: #fff;
    color: #333;
  }


  .memorized-settings-list-wrapper {
    margin-top: 10px;
    padding: 10px;
    background-color: #f1f1f1;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    }

    .memorized-settings-list-wrapper ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .memorized-settings-list-wrapper li {
        padding: 5px;
        font-size: 14px;
        color: #333;
    }

    .memorized-table {
    border-collapse: collapse;
    width: 100%;
    margin-top: 10px;
}

.memorized-table th,
.memorized-table td {
    border: 1px solid #ccc;
    padding: 6px 12px;
    text-align: left;
}


.dropdown-select.custom-cctcri {
    width: 300px; /* ustalona szerokość */
    height: 70px; /* dwukrotna wysokość */
    font-size: 18px;
    text-align: center;
    vertical-align: middle;
    line-height: 70px; /* centrowanie pionowe */
    font-weight: bold;
    border-radius: 8px;
}
