
[data-swatches-type=button] .ct-swatch {
    padding: 15px;
    font-size: 14px;
    font-weight: 400;
    border-radius: 0;
    border: 1px solid black;
}
button.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed{
  font-size: 0;
}
button.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed::after {
  content: 'WYBIERZ ROZMIAR';
  font-size: 14px;
}
/* OMNIBUS */
.wc-price-history.prior-price.lowest {
    font-size: 10px;
    margin-top: -15px;
}
a.reset_variations {
    display: none!important;
}

@media only screen and (max-width: 1024px) {
/* STICKY ATC START*/
.ct-floating-bar .ct-container {
    display: flex!important;
}
section.ct-floating-bar-content {
    display: none;
}
section.ct-floating-bar-actions,
.ct-floating-bar a.button.product_type_variable.add_to_cart_button {
    width: 100%;
    max-width: 100%;
}
a.button.product_type_variable.add_to_cart_button:before {
    content: 'Dodaj do koszyka';
    font-size: 14px;
    margin-right: 7px;
}
/* STICKY ATC END*/
  .ct-product-gallery-container .ct-stacked-gallery-container { 
    display: flex; 
    flex-wrap: nowrap; 
    gap: 10px; 
    overflow-x: auto; /* Zmienione ze scroll na auto dla lepszego zachowania */
    margin: 0 calc(-0.5 * calc(100vw - var(--theme-container-width-base))); 
    padding-bottom: 30px; 
    
    /* 1. Ustawiamy typ snapowania na osi X */
    scroll-snap-type: x mandatory;
    
    /* Dodatkowy padding, żeby pierwszy i ostatni element nie przyklejały się do samej krawędzi */
    padding-left: calc(0.5 * calc(100vw - var(--theme-container-width-base)));
    padding-right: calc(0.5 * calc(100vw - var(--theme-container-width-base)));
    
    /* Ukrywamy scrollbar, jeśli chcesz, żeby wyglądało to czyściej */
    scrollbar-width: none; 
  }

  .ct-stacked-gallery-container .ct-media-container { 
    flex: 0 0 85%; 
    
    /* 2. Decydujemy, że element ma się centrować podczas snapowania */
    scroll-snap-align: center;
  }
}
[data-swatches-type=button] .ct-swatch {
    padding: 15px;
    font-size: 14px;
    font-weight: 400;
    border-radius: 0;
    border: 1px solid black;
}

[data-out-of-stock-swatch-type=crossed] .ct-out-of-stock .ct-swatch:before, [data-out-of-stock-swatch-type=crossed] .ct-out-of-stock .ct-swatch:after{
opacity:0.4;
}

/* Wstrzyknięcie opisu pod nagłówek sekcji upsell */
.up-sells.upsells.products h2.ct-module-title::after {
    content: "Nasza stylistka przygotowała propozycje, które harmonijnie dopełnią Twój look i pozwolą w pełni wydobyć charakter wybranej rzeczy.";
    display: block;
    font-size: 14px;
    font-weight: 400;
    text-transform: none; /* Jeśli h2 ma uppercase */
    margin-top: 10px;
    color: #666;
    line-height: 1.5;
}

/* wishlist button */
.ct-product-additional-actions[data-type=button] button {
    flex: 1;
    height: 55px!important;
}



.up-sells.upsells.products .mlv-swatch {
    height: 15px!important;
    width: 15px!important;
}
.up-sells.upsells.products .mlv-swatches {
    margin: 10px 0 15px!important;
    }
    
.up-sells.upsells.products [data-swatches-type=button] .ct-swatch {
min-width: var(--swatch-size);
    padding: 2px calc(var(--swatch-size) / 3.5);
    font-size: calc(var(--swatch-size) / 2.5);
    font-weight: 600;
    line-height: 1;
    }
    
    
 [data-products] .product:hover .mlv-swatches,
 [data-products] .product .ct-card-variation-swatches.variations_form {
    opacity: 0;
    transition:0.2s;
}

[data-products] .product:hover .mlv-swatches, [data-products] .product:hover .ct-card-variation-swatches.variations_form{
  opacity: 1;
}
