/**
 * CSS globalny dla stron produktowych WooCommerce
 * Ten plik jest ładowany na wszystkich stronach produktów (is_product())
 */


/* ProductPage naklejki stylowanie */
input[type=number]::-webkit-inner-spin-button {opacity: 1;}
.wpo-field-edit {display:none;}
div.sekcjaField {
    width: 100%;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #1F55AA;
    text-transform: uppercase;
    /* left: -15px; */
    align-items: center;
}

/* Konfigurator - kolory, odległości etc. */

p.nazwaField, div.szerokoscField label, div.wysokoscField label {font-family: "Poppins",Verdana,sans-serif;font-size: 15px!important; font-weight: 500 !important;color:#03204D;}

/* Utility - szerokość 100% */
.field100 {
    width: 100%;
}

/* Wymiar / Opcje / Materiał - sekcje */
.wymiarField,
.opcjeField,
.materialBox {
    padding: 20px 0 5px;
    /* border-top: 2px solid #eee; */
    /* margin-top: 5px; */
}

/* Wymiar - kontener */
.wymiarField {
    width: 100%;
}

/* Wymiar / Opcje - tytuł */
.wymiarField p,
.opcjeField p {
    /* width: 22vw; */
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #03204D;
}

table.variations {display:none!important;}

.wpo-options-container, .wpo-checkboxes, .wpo-radios, tbody, .woo-variation-swatches .variable-items-wrapper {display: flex !important;}

.wpo-options-container {gap: 20px 20px !important;}

tbody, .woo-variation-swatches {gap: 20px !important;}

.wpo-checkboxes, .wpo-radios, ul.single-product-variable-items {gap: 8px 15px;}

.wpo-field.wpo-field-html.sekcjaField, table.variations::before{font-family: "Poppins", Verdana, sans-serif;font-size: 18px;font-weight: 700;color: #1F55AA;text-transform: uppercase;}

.wpo-field.wpo-field-html.sekcjaField {width: 100%;margin-left: -15px;position: relative;bottom:-20px; padding-top:20px;}

table.variations::before {content: 'Materiał:';position: relative;top: 10px;left:-15px;}

/* Warianty tabele */

tbody {flex-direction: column; padding: 10px 0;}
table td, table th {padding:0px;}
table.variations th.label {vertical-align: middle !important;text-align:left;}
table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th,table tbody tr:hover>td, table tbody tr:hover>th {background-color: #fff;}
.woocommerce-variation.single_variation {display: none !important;} /* ukrywa cenę, przy wariantach */
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item,
.woo-variation-swatches .variable-items-wrapper .variable-item {font-size: 13px;font-family: "Poppins",Verdana,sans-serif; margin:0 !important;}
.woo-variation-swatches .variable-items-wrapper .variable-item .variable-item-contents {justify-content:normal !important;}


/* Ustawienia kontenera z opcjami */

.wpo-options-container {flex-wrap: wrap !important; gap: 20px 30px !important;}
.wpo-field.wpo-label-is-option-name input:focus {border: 2px solid #555 !important;}
.wpo-field {margin-bottom:0px !important;}
.wpo-field.wpo-field-html.sekcjaField::before { content: "";display: block;position: absolute;top: -10px; left: 15px; width: 100%;height: 2px;background-color: #E5E5E5;}


/* Etykiety opcji */
.wpo-field-html p.nazwaField {display: flex;align-items: center;}
.nazwaField span {color: #DC183D;padding-left: 2px;font-size: 14px;}


/* Podpowiedzi opcji */

a.hintButton {
    padding: 1px 5px 1px;
    position: absolute;
    height: 20px;
    line-height: 15px;
    top: 1px;
    right: -10px;
    border-radius: 5px;
    font-size: 10px !important;
    font-family: "Poppins", Verdana, sans-serif;
    font-weight: 700;
    color: #969696;
    background: #fff;
    border: 1px solid #E5E5E5;
}
a.hintButton:hover {background:var(--e-global-color-0abe09e); color: #fff;}

/*Błędy*/
.wpo-error-message {font-size:9.5px;font-family: "Poppins",Verdana,sans-serif !important; font-weight:600;}
.wpo-options-container div span.wpo-error-message {position:absolute; bottom: -15px;}
div.szerokoscField .wpo-error-message, div.wysokoscField .wpo-error-message {display: block; position:absolute !important; bottom: -15px !important;left: 0;}
div.iloscNiestandardowaField .wpo-error-message {position: absolute !important;bottom: -15px!important;}

/* Reset opcji */
.woocommerce div.product form.cart a.reset_variations {font-size:11px;text-transform: uppercase;color: #1F55AA;font-weight: 600;border: 1px solid #1F55AA;padding: 7px 10px 5px 27px;line-height: 10px;border-radius: 5px; position: absolute; left: 137px; top: 0px; min-height:25px;}
.woocommerce div.product form.cart a.reset_variations:hover {background: #1F55AA; color: #fff}
.woocommerce div.product form.cart a.reset_variations::before {content: '';background: url(https://env-sigmadrukdemo-stg.kinsta.cloud/wp-content/uploads/2025/02/ikona-x.svg);background-size: 9px;background-color: #dc183d; background-repeat: no-repeat;background-position: 3px;width: 15px;min-height: 15px;border-radius: 4px;position: absolute;top: 4px;left: 4px;}
.woocommerce div.product form.cart a.reset_variations::after {content:', aby zmienić opcje materiału'; font-family: "Poppins",Verdana,sans-serif !important; font-size:11.5px;}

/* ========================================
   DROPDOWN (SELECT) - STYLING
   ======================================== */

/* Ukrycie szarych przycisków "x" w dropdownach */
.wpo-field select + .select2-container .select2-selection__clear {
    display: none !important;
}

/* Stylowanie przycisku "×" Clear Button */
button.clear-button,
.clear-button {
    background: transparent !important;
    color: #969696 !important;
    border: none !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
}

button.clear-button:hover,
.clear-button:hover {
    color: #DC183D !important;
    transform: scale(1.2) !important;
}

button.clear-button:focus,
.clear-button:focus {
    outline: none !important;
    color: #03204D !important;
}

/* Główny kontener dropdown */
.wpo-field .select2-container {
    width: 100% !important;
}

/* Pole dropdown (zamknięte) */
.wpo-field .select2-container--default .select2-selection--single {
    background-color: #fff;
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    height: 45px;
    padding: 8px 12px;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 14px;
    color: #03204D;
    transition: all 0.3s ease;
}

/* Hover na dropdown */
.wpo-field .select2-container--default .select2-selection--single:hover {
    border-color: #ccc;
}

/* Focus na dropdown */
.wpo-field .select2-container--default.select2-container--open .select2-selection--single,
.wpo-field .select2-container--default.select2-container--focus .select2-selection--single {
    border: 2px solid #555 !important;
    outline: none;
}

/* Tekst w dropdown */
.wpo-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #03204D;
    line-height: 27px;
    padding-left: 0;
}

/* Strzałka dropdown */
.wpo-field .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 43px;
    right: 8px;
}

/* Lista rozwijana (dropdown) */
.wpo-field .select2-container--default .select2-results__option {
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 13px;
    padding: 10px 12px;
    color: #03204D;
}

/* Hover na opcjach listy */
.wpo-field .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #f7f7f7;
    color: #03204D;
}

/* Wybrana opcja */
.wpo-field .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #1F55AA;
    color: #fff;
}

/* Placeholder */
.wpo-field .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #969696;
}

/* Label dropdownu (nazwaField) - 110px inline-block */
.wpo-field-html p.nazwaField {
    display: inline-block !important;
    width: 110px;
    min-width: 110px;
    vertical-align: middle;
    margin: 0 !important;
}

/* ========================================
   DROPDOWN Z LABELEM OBOK (wpo-option-name)
   ======================================== */

/* Kontener dropdown - flex layout */
.wpo-field.wpo-field-dropdown {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 20px;
    width: 100%;
}

/* Ukryj niepotrzebne elementy w flex */
.wpo-field.wpo-field-dropdown .wpo-field-edit,
.wpo-field.wpo-field-dropdown select.hidden-select {
    display: none;
}

/* Label wewnątrz dropdowna (wpo-option-name) - 110px po lewej */
.wpo-field.wpo-field-dropdown .wpo-option-name {
    width: 110px;
    min-width: 110px;
    flex-shrink: 0;
    margin: 0;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #03204D;
    order: -1;
}

/* Gwiazdka required - ukryta (wszystkie pola są required, walidacja i tak działa) */
.wpo-field.wpo-field-dropdown .wpo-option-name .wpo-field-required-symbol {
    display: none;
}

/* Hint button w dropdown - pozycja obok labela */
.wpo-field.wpo-field-dropdown .wpo-option-name .hintButton {
    position: absolute;
    right: 0;
    top: auto;
    vertical-align: middle;
}

/* Nice-select - reszta szerokości */
.wpo-field.wpo-field-dropdown .nice-select {
    flex: 1;
    width: auto;
    order: 1;
}

/* Align-self center dla wszystkich .wpo-field */
.wpo-field {
    align-self: center;
}

/* Nice-select dropdown 100% wewnątrz kontenera */
.wpo-field.wpo-field-dropdown .nice-select {
    width: 100% !important;
}

/* Nice-select dropdown - lista rozwijana */
div.nice-select .nice-select-dropdown {
    background-color: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .16);
    left: 0;
    margin-top: 0px;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    transition-duration: .1s;
    transition-property: opacity, transform;
    transition-timing-function: cubic-bezier(.2, .8, .4, 1);
    width: 100%;
    z-index: 9;
}

/* Nice-select - zaznaczona opcja (lekko szare tło = "już wybrane") */
div.nice-select .nice-select-dropdown .option.selected {
    background-color: #F9F9F9;
    color: #03204D;
    font-weight: 700;
}

/* Nice-select - hover na pozostałych opcjach (nie na zaznaczonej) */
div.nice-select .nice-select-dropdown .option:hover:not(.selected) {
    background-color: #E9F0FA;
}

/* ========================================
   CHIPS FIELD - Karty informacyjne (2 kolumny)
   ======================================== */

/* Kontener dla chipsField - karta */
.wpo-field.chipsField {
    flex-direction: column;
    align-items: stretch;
    background: #F9F9F9;
    border-radius: 10px;
    padding: 15px 20px 10px;
    width: calc(50% - 15px);
    gap: 0;
}

/* Label - mały, uppercase na górze */
.wpo-field.chipsField .wpo-option-name {
    width: 100%;
    min-width: unset;
    order: unset;
    font-size: 11px;
    font-weight: 500;
    color: #6A7C92;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
}

/* Ukryj gwiazdkę w kartach */
.wpo-field.chipsField .wpo-option-name .wpo-field-required-symbol {
    display: none;
}

/* Hint w chipsField - za labelem */
.wpo-field.chipsField .wpo-option-name .hintButton {
    position: absolute;
    right: -7px;
    top: -4px;
    margin-left: 184px;
    background: #F9F9F9;
}

/* Dropdown - pełna szerokość */
.wpo-field.chipsField .nice-select {
    flex: unset;
    width: 100%;
    order: unset;
    background: transparent;
    border: none;
    padding: 0;
    height: auto;
    line-height: 1.3;
}

.wpo-field.chipsField .nice-select .current {
    font-size: 16px;
    font-weight: 700;
    color: #03204D;
}

/* Strzałka dropdown - mniejsza, szara */
.wpo-field.chipsField .nice-select::after {
    border-bottom: 2px solid #6A7C92;
    border-right: 2px solid #6A7C92;
    right: 0;
    width: 8px;
    height: 8px;
}

/* Clear button - odsunięty od tekstu, jaśniejszy */
.wpo-field.chipsField .clear-button {
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    color: #BEBEBE !important;
}

.wpo-field.chipsField .clear-button:hover {
    transform: translateY(-50%) scale(1.1) !important;
    color: #DC183D !important;
}

/* Wysyłka info - mniejszy, niepogrubiony, pod tekstem, minimalny odstęp */
.wpo-field.chipsField .wysylkaInfo {
    display: block;
    font-size: 12px;
    font-weight: 400;
    margin-top: -3px;
    line-height: 1;
    color: #6A7C92;
}

/* Wysyłka info w wybranej wartości - padding top */
.wpo-field.chipsField .nice-select .current .wysylkaInfo {
    padding-top: 3px;
}

.wpo-field.chipsField .nice-select-dropdown .option {
    padding: 10px 12px;
    line-height: 1.4;
}

.wpo-field.chipsField .nice-select-dropdown .option .wysylkaInfo {
    margin-top: 2px;
}

/* Ukryj pusty placeholder w dropdown */
.nice-select-dropdown .option[data-value=""] {
    display: none;
}


/* ========================================
   WYMIARY (Szerokość x Wysokość) - z dynamicznymi jednostkami
   ======================================== */

/* Kontener dla obu pól wymiarów razem */
div.szerokoscField,
div.wysokoscField {
    display: flex;
    gap: 0 !important;
    width: calc((100% - 30px) / 2) !important;
    margin-bottom: 0 !important;
    position: relative !important;
    vertical-align: middle !important;
}



/* Label (Szerokość/Wysokość) - floating label */
div.szerokoscField label, div.wysokoscField label {
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #969696;
    background-color: #fff !important;
    position: absolute;
    top: -5px;
    left: 10px;
    padding: 0 7px;
    order: 2;
}

/* Input number - na górze wraz z jednostką */
div.szerokoscField input[type="number"], div.wysokoscField input[type="number"] {
    width: 100%;
    height: 45px;
    padding: 6px 8px;
    background-color: #fff;
    border: 2px solid #eee;
    border-right: none !important;
    border-radius: 5px;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 14px;
    color: #03204D;
    text-align: center;
    margin: 0 !important;
    transition: all 0.3s ease;
    order: 1;
}

/* Natywne strzałki - stylowanie (małe i schludne) */
div.szerokoscField input[type="number"]::-webkit-inner-spin-button,
div.wysokoscField input[type="number"]::-webkit-inner-spin-button {
    opacity: 1;
    cursor: pointer;
}



/* Separator "×" między polami - wycentrowany */
div.wysokoscField::before {
    content: "×";
    font-size: 18px;
    color: #969696;
    position: absolute;
    left: -24.5px;
    top: 7px;
    z-index: 1;
    width: 20px;
    text-align: center;
}


/* Input hover */
div.szerokoscField input[type="number"]:hover,
div.wysokoscField input[type="number"]:hover {
    border-color: #ccc;
}

/* Input focus */
div.szerokoscField input[type="number"]:focus,
div.wysokoscField input[type="number"]:focus {
    border: 2px solid #555 !important;
    outline: none;
    padding: 6px 8px !important;
}

/* Symbol gwiazdki (required) */
div.szerokoscField .wpo-field-required-symbol,
div.wysokoscField .wpo-field-required-symbol {
    color: #DC183D;
    margin-left: 3px;
}

/* ========================================
   DYNAMICZNE JEDNOSTKI - UnitCM / UnitMM
   ======================================== */

/* Dodanie jednostki "cm" dla produktów z klasą UnitCM */
div.szerokoscField.UnitCM::after,
div.wysokoscField.UnitCM::after {
    content: "cm";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #03204D;
    background: #E9F0FA;
    padding: 8px 12px;
    border: 2px solid #eee;
    border-left: none;
    border-radius: 5px;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    height: 40px;
    width: 50px;
    order: 1;
}

/* Dodanie jednostki "mm" dla produktów z klasą UnitMM */
div.szerokoscField.UnitMM::after,
div.wysokoscField.UnitMM::after {
    content: "mm";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #03204D;
    background: #E9F0FA;
    padding: 8px 12px;
    border: 2px solid #eee;
    border-left: none;
    border-radius: 5px;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    height: 45px;
    width: 50px;
    order: 1;
}

/* Dodanie jednostki "szt." dla produktów z klasą UnitSZT */
.wpo-field.wpo-field-number.wpo-label-is-option-name.iloscNiestandardowaField.UnitSZT {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.wpo-field.iloscNiestandardowaField.UnitSZT label {
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #969696;
    background-color: #fff !important;
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 7px;
    white-space: nowrap;
}

.wpo-field.iloscNiestandardowaField.UnitSZT input {
    height: 45px !important;
    border: 2px solid #eee;
    border-radius: 5px;
}

.wpo-field.iloscNiestandardowaField.UnitSZT input:focus {
    height: 45px !important;
    border: 2px solid #555 !important;
}

.wpo-field.iloscNiestandardowaField.UnitSZT::after {
    content: "szt.";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #6b6b6b;
    background: #F9F9F9;
    padding: 8px 12px;
    border: 2px solid #eee;
    border-left: none;
    border-radius: 5px;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    height: 45px;
    width: 50px;
}


/* OPCJE - konfiguracja */

/* Warianty */
.FullWidth {width:100% !important;}

/* ========================================
   MATERIAL BOX (Folia) - Label po lewej
   ======================================== */

/* Kontener materialBox - flex layout */
.wpo-field.wpo-field-radio.materialBox {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 15px;
    width: 100%;
}

/* Ukryj edit button */
.wpo-field.wpo-field-radio.materialBox .wpo-field-edit {
    display: none !important;
}

/* Label "Wybierz folię" - 100% szerokości */
.wpo-field.wpo-field-radio.materialBox .wpo-option-name {
    width: 100% !important;
    margin: 0 !important;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #03204D;
}

/* Tekst pomocniczy po tytule */
.wpo-field.wpo-field-radio.materialBox .wpo-option-name::after {
    content: "(kliknij aby wybrać)";
    font-size: 12px;
    font-weight: 400;
    color: #6A7C92;
    margin-left: 8px;
}

/* Ukryj gwiazdkę required */
.wpo-field.wpo-field-radio.materialBox .wpo-option-name .wpo-field-required-symbol {
    display: none !important;
}

/* Radio swatches - pełna szerokość pod tytułem */
.materialBox .wpo-radios {
    width: 100% !important;
    gap: 15px 1.1458333333vw;
}

div.materialBox .wpo-radios label {width: 84px;}
div.materialBox .wpo-radios label div {font-size:10px; font-weight:500!important;}
div.materialBox .wpo-radios label img.wpo-choice-image {width: 56px!important;}

/* Ilości + inneOpcje CSS*/

.wpo-field-radio {width:calc(100% - 150px);}
.wpo-checkboxes, .wpo-radios {flex-wrap: wrap!important;}
.wpo-field .wpo-option-name {margin: 0 !important;}
label.wpo-radio {cursor: pointer;padding: 5px 8px!important;border: 1px solid #ccc;border-radius: 4px;-webkit-transition: all .2s ease;
    transition: all .2s ease;align-items: center;cursor: pointer;display: flex; flex-direction: column; -webkit-user-select: none;-moz-user-select: none;user-select: none;width: auto;}
.wpo-field label.wpo-radio div {font-family: "Poppins",Verdana,sans-serif !important;font-weight: 400!important; padding-left: 0!important; font-size: 13px;}
.wpo-field label.wpo-radio span.wpo-radio-inner {position:absolute; opacity:0;}

label.wpo-radio:has(input[type="radio"]:checked) {border: 2px solid #000;}
.wpo-field label.wpo-radio:hover {-webkit-box-shadow: 0px 0px 0px 1.5px #ccc;-moz-box-shadow: 0px 0px 0px 1.5px #ccc; box-shadow: 0px 0px 0px 1.5px #ccc;}
.wpo-field.wpo-field-number.wpo-label-is-option-name.iloscNiestandardowaField, .niestandardowyOpisOpcji {
    background: #F9F9F9;
    border: 2px dashed #ccc;
    border-radius: 8px;
    padding: 15px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: pulse-subtle 2s ease-in-out 3 forwards;
}


@keyframes pulse-subtle {
    0%, 100% {
        border-color: #ccc;
        background: #F9F9F9;
    }
    50% {
        border-color: #FEE243;
        background: #FFF9E6;
    }
}

/* Żółty glow dla wybranych pól */
.yellowGlowField {
    box-shadow: 0 0 12px rgba(254, 226, 67, 0.4);
}

.wpo-field.wyslijPlikField {
    animation: none !important;
    box-shadow: none !important;
}

.wyslijPlikField a.dz-remove {
    color: #969696;
}

.infoProjektField,
.SprawdzenieProjektuField {
    width: calc(50% - 15px) !important;
}

.projektZamowienieInfo {
    background: rgba(32, 255, 32, 0.05);
    padding: 10px 20px;
    border: 2px solid rgba(32, 181, 32, 0.2);
    border-radius: 5px;
    font-family: 'Poppins';
    font-size: 13px;
    line-height: 15px;
    height: 80px;
    align-content: center;
}

div.iloscNiestandardowaField label, div.niestandardowyOpisOpcji label {font-family: "Poppins",Verdana,sans-serif !important; font-size:12px !important; padding-bottom:10px; color:#03204D;}

div.radioButtonsNoLabel {width:100%; padding:0 0 20px 130px;}
div.radioButtonsNoLabelOptions {background: #F7F7F7; padding: 10px 15px;width: 100%;border-radius: 5px;display: flex;flex-direction: column;align-items: center;border: 2px #eee dashed;}

/* Input ilości - bez prawej krawędzi (łączy się z "szt.") */
.wpo-field.wpo-field-number.wpo-label-is-option-name.iloscNiestandardowaField input {
    width: 70px !important;
    border: 2px solid #eee;
    border-right: none !important;
    border-radius: 5px;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}


img.wpo-choice-image {width:60px !important; margin:0px !important;}

div.radioButtonDesc label.wpo-radio div {font-size: 11px; font-weight: 500 !important; padding-top:5px; letter-spacing:-.5px;color: #969696;}



/* Uploady */
.wpo-field.wpo-field-file_upload.wpo-label-is-option-name {
    width: 100%;
    border: 2px dashed #ccc;
    border-radius: var(--wpo-input-border-radius);
    background: #F9F9F9;
    display: flex;
    animation: pulse-upload 2s ease-in-out 3 forwards;
}

@keyframes pulse-upload {
    0%, 100% {
        border-color: #ccc;
        background: #F9F9F9;
    }
    50% {
        border-color: #FEE243;
        background: #FFF9E6;
    }
}

.wpo-field.wpo-field-file_upload.wpo-label-is-option-name label {
    color: #000;
    font-weight: 500 !important;
    font-size: 12px !important;
    padding: 0 20px;
    width: 110px !important;
    /* min-width: 130px; */
    background: #fdfdfd;
}

.wpo-file-dropzone.dropzone {
    border: 0px !important;
    background: #f7f7f7;
    width: calc(100% - 110px) !important;
    min-width: unset !important;
}

span.dz-button-label {
    font-size: 13px !important;
    font-family: "Poppins", Verdana, sans-serif;
}

.wpo-file-dropzone.dropzone .dz-button,
.wpo-file-dropzone.dropzone .dz-button:hover {
    background-color: #fff;
    border: none;
    box-shadow: none;
    color: #6b6b6b;
    display: flex;
    flex-direction: column;
    font-weight: 400;
    padding: 7px 0px !important;
    transition: none;
}

/* Projekt - Sprawdzenie pliku */
.wpo-field.SprawdzenieProjektuField {
    background: rgba(32, 255, 32, 0.05);
    padding: 0 20px;
    border: 2px solid rgba(32, 181, 32, 0.2);
    border-radius: 5px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5px;
    height: 80px;
    justify-content: center;
}

.wpo-field.SprawdzenieProjektuField .wpo-option-name {
    width: 100%;
    min-width: unset;
    order: unset;
    color: rgba(32, 125, 32, 1);
    font-size: 12px;
    font-weight: 500;
}

.wpo-field.SprawdzenieProjektuField .nice-select {
    width: 100%;
    flex: unset;
    order: unset;
}

.wpo-field.SprawdzenieProjektuField .wpo-radios {
    width: 100%;
}

.wpo-field.SprawdzenieProjektuField label {
    background: #fff;
}

.wpo-field.wpo-field-radio.wpo-field-required.CzasNormalnyField, .wpo-field.wpo-field-radio.wpo-field-required.CzasEkspresField {
    width: auto !important;}

/* Wysyłka*/
.wpo-field.wpo-field-html.infoboxCzasField {width: auto;background: #f7f7f7; padding: 10px 20px; border: 2px solid #eee; border-radius: 5px;font-size: 12px ; font-weight:600;display: flex;flex-direction: column;}
.infoboxCzasField p {padding-left:140px;margin-top: -15px;font-size:13px;width: 100%;font-family: "Poppins",Verdana,sans-serif;}

p.warningInfo, .infoboxCzasField p span.wysylkaInfo {background: rgba(254, 226, 67, 0.6);padding: 5px;border-radius: 7px;color: #000;border: 2px solid #FEE243;font-family: "Poppins",Verdana,sans-serif;font-weight:400;font-size:11px; display:block;}
.wpo-field.wpo-field-html.OstrzenieProjektField {width:100%;}

/* ========================================
   SEKCJA "DODAJ DO KOSZYKA" - Premium style
   ======================================== */

.woocommerce-variation-add-to-cart {
    background: linear-gradient(135deg, #fafbfc 0%, #f0f4f8 100%) !important;
    border-radius: 12px !important;
    padding: 24px 28px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 40px !important;
    box-shadow: 0 4px 20px rgba(3, 32, 77, 0.08) !important;
    border: 1px solid rgba(161, 195, 249, 0.3) !important;
    margin-top: 20px !important;
}

/* Ukryj pole ilości jeśli istnieje */
.woocommerce-variation-add-to-cart .quantity {
    display: none !important;
}

/* ========================================
   STICKY ADD TO CART BAR (w kontenerze)
   ======================================== */

.sigma-sticky-cart-bar {
    position: sticky;
    bottom: 20px;
    background: linear-gradient(135deg, #fafbfc 0%, #f0f4f8 100%);
    border-radius: 12px;
    box-sizing: border-box;
    box-shadow:
        0 -8px 30px rgba(3, 32, 77, 0.12),
        0 8px 30px rgba(3, 32, 77, 0.12);
    border: 1px solid rgba(161, 195, 249, 0.3);
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    /* Ukryty - nie zajmuje miejsca */
    max-height: 0;
    padding: 0 28px;
    margin: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    transition: max-height 0.4s ease, padding 0.4s ease, margin 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

.sigma-sticky-cart-bar.visible {
    max-height: 100px;
    padding: 24px 28px;
    margin-top: 20px;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.sigma-sticky-cart-bar .wpo-totals-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    order: 1 !important;
}

.sigma-sticky-cart-bar .wpo-totals-label {
    margin: 0 !important;
    font-size: 0 !important;
}

.sigma-sticky-cart-bar .wpo-totals-label::before {
    content: "Cena całkowita" !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #969696 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.sigma-sticky-cart-bar .wpo-price {
    font-size: 24px !important;
    color: #03204D !important;
    font-weight: 700 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
}

.sigma-sticky-cart-bar button.single_add_to_cart_button {
    width: auto;
    height: auto;
    padding: 14px 28px;
    background: #DC183D !important;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    order: 2 !important;
}

.sigma-sticky-cart-bar button.single_add_to_cart_button:hover {
    background: #A8122E !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(220, 24, 61, 0.35);
}

/* ========================================
   MOBILE - MEDIA QUERIES
   ======================================== */

@media screen and (max-width: 1536px) {
    div.szerokoscField label, div.wysokoscField label {
        font-size: 11px !important;
        left: 5px;
    }
}

@media screen and (max-width: 768px) {

    table.variations::before {left:0px;}

    .wpo-field.wpo-field-html {width: 100% !important; margin-top: 10px;}
    .wpo-field-radio {width: 100% !important; margin-top: -5px;}

    .variations tr {display:flex;flex-direction: column;}
    table.variations th {padding: 10px 0 0;}
    .woocommerce div.product form.cart a.reset_variations {top:10px!important; left: 100px!important;}

    .wpo-field.wpo-field-html.sekcjaField {margin: -15px 0 0 0px!important; }

    .wpo-field.wpo-field-html.sekcjaField::before {top: -2px;left: 0px;}

    div.sekcjaField {left: 0;}

    a.hintButton {
        left: -30px;
        right: unset !important;
        border: 2px solid #E5E5E5;
        color: #E5E5E5;
    }

    .wpo-field.wpo-field-radio.materialBox {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 20px;
        width: 100%;
    }

    .materialBox .wpo-radios {width: 100%;}

    .wpo-field.wpo-field-file_upload.wpo-label-is-option-name,.wpo-field.wpo-field-number.wpo-label-is-option-name.iloscNiestandardowaField,.SprawdzenieProjektuField,.wpo-field.wpo-field-html.infoboxCzasField,.wpo-field.wpo-field-html.OstrzenieProjektField {margin: -7px 0 0 0 !important;}

    .woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-container .wvg-thumbnail-prev-arrow {border-radius: 20px;visibility: visible;opacity: 1;width:30px;height: 30px;position: absolute;top: calc(50% - 15px);left: 15px;transform: rotate(270deg);}

    .woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-container .wvg-thumbnail-next-arrow{border-radius: 20px;visibility: visible;opacity: 1;width:30px;height: 30px;position: absolute;top: calc(50% - 15px);right: 15px;transform: rotate(-90deg);background-position: 10px 12px;}

    /* Sticky bar - mobile */
    .sigma-sticky-cart-bar {
        padding: 18px 20px;
        gap: 25px;
        bottom: 15px;
    }

    .sigma-sticky-cart-bar .wpo-price {
        font-size: 22px !important;
    }

    .sigma-sticky-cart-bar button.single_add_to_cart_button {
        padding: 12px 20px;
        font-size: 13px;
    }
}

@media screen and (max-width: 480px) {
    .wpo-field.chipsField {
        width: 100% !important;
    }

    .sigma-sticky-cart-bar {
        padding: 12px 15px;
        gap: 15px;
        bottom: 10px;
        flex-wrap: nowrap;
    }

    .sigma-sticky-cart-bar .wpo-totals-container {
        gap: 2px;
    }

    .sigma-sticky-cart-bar .wpo-totals-label::before {
        font-size: 10px !important;
        letter-spacing: 0.5px !important;
    }

    .sigma-sticky-cart-bar .wpo-price {
        font-size: 18px !important;
    }

    .sigma-sticky-cart-bar button.single_add_to_cart_button {
        padding: 10px 14px;
        font-size: 11px;
        white-space: nowrap;
    }

    button.single_add_to_cart_button.button {
        width: 160px;
        padding: 10px 32px !important;
        background: #DC183D !important;
        border: none;
        border-radius: 8px;
        color: #fff;
        font-family: "Poppins", Verdana, sans-serif;
        font-size: 15px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        cursor: pointer;
        transition: all 0.2s ease;
        height: 50px;
        white-space: normal;
    }

    /* Konfigurator - wymiary mobile 480px */
    .wymiarField p,
    .opcjeField p {width: 70vw;}
    div.szerokoscField, div.wysokoscField {width: calc(50% - 20px) !important;}
    div.szerokoscField label, div.wysokoscField label {left: -2px; padding: 0 4px 4px 0px; font-size: 12px !important;}
    div.szerokoscField {margin-right: 10px;}
    div.wysokoscField {margin-left: 10px;}
    div.wysokoscField::before {left: -30px;}
    div.sekcjaField {left:0;}

    div.szerokoscField.UnitCM::after, div.wysokoscField.UnitCM::after,
    div.szerokoscField.UnitMM::after, div.wysokoscField.UnitMM::after {
        height: 45px;
    }
}
/* Kontener ceny - pionowy układ (label nad ceną) */
.wpo-totals-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    flex: none !important;
    order: 1 !important;
}

/* Label "Suma zamówienia" nad ceną */
.wpo-totals-label {
    display: block !important;
    margin: 0 !important;
    font-size: 0 !important; /* ukryj oryginalny tekst */
    order: 1 !important;
}

.wpo-totals-label::before {
    content: "Cena całkowita" !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #969696 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* Cena - duża, granatowa */
.wpo-price {
    display: block !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #03204D !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.1 !important;
    order: 2 !important;
}

/* ========================================
   SIGMA PRICES - Format Netto/VAT z separatorem
   Układ: [Cena netto + brutto] | separator | [Cena za m²]
   ======================================== */

/* Ukryj oryginalny kontener WPO (ale zostaw w DOM dla funkcjonalności) */
.wpo-totals-container.sigma-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Wrapper - układ poziomy z separatorem */
.sigma-price-wrapper {
    display: flex;
    align-items: stretch;
    gap: 0;
}

/* Kolumna z ceną główną (netto + brutto) */
.sigma-price-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding-right: 20px;
}

/* Cena netto - główna, duża */
.sigma-net-price {
    font-size: 26px;
    font-weight: 700;
    color: #03204D;
    line-height: 1.1;
}

/* VAT pod ceną - mniejszy, szary */
.sigma-vat-info {
    font-size: 12px;
    font-weight: 500;
    color: #969696;
}

/* Separator pionowy */
.sigma-divider {
    width: 1px;
    background: #E5E5E5;
    margin: -2px 0;
    align-self: stretch;
}

/* Kolumna z ceną jednostkową */
.sigma-unit-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding-left: 20px;
}

/* Label "Cena za m²" */
.sigma-unit-label {
    font-size: 10px;
    color: #969696;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Cena jednostkowa */
.sigma-unit-price {
    font-size: 18px;
    font-weight: 700;
    color: #1F55AA;
    line-height: 1.1;
}

/* ========================================
   Sticky bar - mniejsze rozmiary
   ======================================== */
.sigma-sticky-cart-bar .sigma-price-col {
    padding-right: 16px;
}

.sigma-sticky-cart-bar .sigma-net-price {
    font-size: 20px;
}

.sigma-sticky-cart-bar .sigma-vat-info {
    font-size: 11px;
}

.sigma-sticky-cart-bar .sigma-unit-col {
    padding-left: 16px;
}

.sigma-sticky-cart-bar .sigma-unit-label {
    font-size: 9px;
}

.sigma-sticky-cart-bar .sigma-unit-price {
    font-size: 14px;
}

/* ========================================
   Responsive - 768px
   ======================================== */
@media screen and (max-width: 768px) {
    .sigma-price-col {
        padding-right: 16px;
    }

    .sigma-net-price {
        font-size: 22px;
    }

    .sigma-vat-info {
        font-size: 11px;
    }

    .sigma-unit-col {
        padding-left: 16px;
    }

    .sigma-unit-price {
        font-size: 16px;
    }
}

/* ========================================
   Responsive - 480px
   ======================================== */
@media screen and (max-width: 480px) {
    .sigma-price-col {
        padding-right: 12px;
    }

    .sigma-net-price {
        font-size: 20px;
    }

    .sigma-vat-info {
        font-size: 10px;
    }

    .sigma-unit-col {
        padding-left: 12px;
    }

    .sigma-unit-label {
        font-size: 9px;
    }

    .sigma-unit-price {
        font-size: 14px;
    }
}

/* ======================================== */

/* Przycisk po prawej */
.woocommerce-variation-add-to-cart button.single_add_to_cart_button {
    order: 3 !important;
    flex-shrink: 0 !important;
}
/* Pole ilości */
.woocommerce .product .elementor-jet-single-add-to-cart .cart .quantity .qty {
    background-color: #fff;
    border: 2px solid #eee;
    border-radius: 5px;
    box-shadow: none;
    font-size: 15px;
    font-weight: 400;
    height: 45px;
    line-height: 1.3;
    margin-right: 20px;
    padding: 6px 8px;
    transition: all .3s;
    width: 70px;
    max-width: none;
}

/* Przycisk "Dodaj do koszyka" - premium style */
button.single_add_to_cart_button.button {
    width: auto;
    height: auto;
    padding: 16px 32px;
    background: #DC183D !important;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-family: "Poppins", Verdana, sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.2s ease;
}

button.single_add_to_cart_button:hover {
    background: #A8122E !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(220, 24, 61, 0.35);
}

/*Galeria*/

.elementor-30816 .elementor-element.elementor-element-b85fe1e .jet-woo-swiper-gallery-thumbs .swiper-slide.swiper-slide-thumb-active {border: 2px solid var( --e-global-color-e8d7359 );}

.elementor-30816 .elementor-element.elementor-element-b85fe1e .jet-woo-swiper-gallery-thumbs {padding-top: 0px;padding-bottom: 0px;margin-top: -70px;width: calc(100% - 30px);padding: 10px;background: #fff;z-index: 10;border-radius: 15px;margin-bottom: 20px;}

.jet-woo-product-gallery-slider.swiper-container, .jet-woo-swiper-gallery-thumbs.swiper-container {position: relative!important;}

span.jet-woo-product-gallery__trigger-icon.jet-product-gallery-icon::after {content: 'Kliknij aby zobaczyć galerię';width: 195px;height: 30px;position: absolute;background:rgba(255, 255, 255, 0.8);top: 0;left: 40px;padding: 5px 10px;border-radius: 15px;border: 1px solid var(--e-global-color-0abe09e);font-family: "Poppins",Verdana,sans-serif;color: var(--e-global-color-0abe09e);font-size: 12px;font-weight: 600;line-height: 20px;text-align: center;}

a.woo-variation-gallery-trigger.woo-variation-gallery-trigger-position-top-left {border: 1px solid var(--e-global-color-0abe09e);}

a.woo-variation-gallery-trigger.woo-variation-gallery-trigger-position-top-left
span.dashicons.dashicons-search:before {content: 'Kliknij aby zobaczyć galerię';width: 195px;height: 30px;position: absolute;background:rgba(255, 255, 255, 0.8);top: 2px;left: 40px;padding: 5px 10px;border-radius: 15px;border: 1px solid var(--e-global-color-0abe09e);font-family: "Poppins",Verdana,sans-serif;color: var(--e-global-color-0abe09e);font-size: 12px;font-weight: 600;line-height: 20px;text-align: center;}
span.dashicons.dashicons-search {background: url("https://env-sigmadrukdemo-stg.kinsta.cloud/wp-content/uploads/2025/02/ikona-powiekszenie-navy.svg");background-position: 0;height: 16px;width: 16px;background-repeat: no-repeat;}

.woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-container .wvg-thumbnail-prev-arrow {border-radius: 20px;visibility: visible;opacity: 1;width:30px;height: 30px;position: absolute;left: calc(50% - 15px);top: 15px;background-image: url(https://env-sigmadrukdemo-stg.kinsta.cloud/wp-content/uploads/2025/02/ikona-strzalka-gora.svg); background-size: 10px;background-repeat: no-repeat;background-position: 10px 10px;}

.woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-container .wvg-thumbnail-next-arrow{border-radius: 20px;visibility: visible;opacity: 1;width:30px;height: 30px;position: absolute;right: calc(50% - 15px);bottom: 15px;background-image: url(https://env-sigmadrukdemo-stg.kinsta.cloud/wp-content/uploads/2025/02/ikona-strzalka-dol.svg); background-size: 10px;background-repeat: no-repeat;background-position: 10px 12px;}

.woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-container .woo-variation-gallery-slider-wrapper {border-radius: 15px;}
.woo-variation-gallery-wrapper .wvg-gallery-thumbnail-image img {border-radius:15px;}
.woo-variation-gallery-wrapper .woo-variation-gallery-slider img {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    height: auto;
    margin: 0 !important;
    max-width: 100%;
    vertical-align: middle;
    width: 100%;
    border-radius: 15px;
}
.dashicons-arrow-left-alt2:before,.dashicons-arrow-right-alt2:before {content:''}


/*CTA - wywołanie chatu */


.chat-icon-btn {
    background-color: #1F55AA;
    border-radius: 50%;
    width: 47px;
    height: 47px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
    text-decoration: none;
}

.chat-icon-btn svg#ikona-czat-info {
	width:36px;
	height:36px;
}

.chat-icon-btn .ikona-czat-info {
	fill:#fff;
}

.chat-icon-btn:hover .ikona-czat-info {
	fill: #1F55AA;}

.chat-icon-btn:hover {
    background-color: #fff;
}
/* Wytyczne projektu */

.produktPageH4wytyczneProjekt h4 {font-family: var( --e-global-typography-17a7f6a-font-family ), Verdana, sans-serif;
    font-size: var( --e-global-typography-17a7f6a-font-size );
    font-weight: var( --e-global-typography-17a7f6a-font-weight );
    line-height: var( --e-global-typography-17a7f6a-line-height );
    color: var( --e-global-color-text );
margin:0}




/*inne materiały*/

.numbersBox {position: absolute;right: 0;top: 20px;height: 50px;width: 70px;font-size: 35px;line-height: 50px;border-radius: 10px 0 0 10px;background: linear-gradient(to right, rgba(209, 200, 200, 0.1803921569), transparent);padding-left: 15px;font-weight: 600;color: #e9e9e9;}
