.product-variation-table { display: none; width: 100%; text-align: center; font-size: var(--font-size-s); }
@media (min-width: 100rem) {.product-variation-table { display: table; } }

.product-full__variation-table { display: none; flex: 0 0 100%; margin: 2rem 0 0 0; }
.product-variation-table  tr { transition: var(--tr-eio-f); }
.product-variation-table  tr:hover { background-color: var(--bg-l-blue); }
.product-variation-table th { padding: 0.5rem 0; background-color: var(--border); font-weight: bold; position: sticky; top: 5.2rem; z-index: 10; }
.archives-product__content th { top: 0!important; }
.product-variation-table th, .product-variation-table table td { font-size: var(--font-size-s); }
.product-variation-table  td[data-label="Cena"] { font-weight: bold; }
.product-variation-table  img { width: 3.5rem; height: 3.5rem; }

.product-variation-table  td[data-label="Koszyk"] form, form.single-product__add-to-cart { display: flex; justify-content: center; column-gap: 0.5rem; }
.product-variation-table  button { width: 37px; height: 37px; padding: 0; }
.product-variation-table i { font-size: var(--font-size-s); }

.product-variation-table td[data-tax="pa_opakowanie"] { max-width: 200px; width: 200px; }

.product-variation-table form { margin: 0!important; }
.variation-table__qty {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 1rem;
}

.cart-cell { min-width:10rem; }

.variation-table__controls, .content-product__controls {
    border: 1px solid var(--accent);
    border-radius: 5px;
    overflow: hidden; 
    height: 37px;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.cart-qnty-btn {
    border: none;
    background-color: var(--bg-l-green);
    color: var(--primary);
    height: 37px;
    width: 40px!important;
    transition: var(--tr-eio-f);
    cursor: pointer;
}

.cart-qnty-btn:hover { background-color: var(--accent);  }
.variation-table__quantity, .content-product__quantity {
    --webkit-appearance: none;
    margin: 0;
    border: none;
    width: 40px;
    height: 37px;
    font-weight: bold;
    text-align: center;
    text-align-last: center;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}

.inquiry-btn { background-color: #2bdaba; color: var(--white); }

.compact .product-variation-table, .compact .variation-active-filters { display: none!important; }



.variation-active-filters {
    padding: var(--sp-s);
    border: var(--border-s);
    border-radius: 10px;
    display: flex;
    align-items: center;
    column-gap: 1rem;
    margin: 0 0 1rem 0; 
}
.in-stock-filter { width: fit-content; }
.variation-active-filters input { margin: 0 0.5rem 0 0; }
.active-filters { margin: 1rem 0; }
.active-filters h4 { margin: 0 0 0.5rem 0; }
.active-filters-list { display: flex; column-gap: 0.5rem; row-gap: 0.5rem; flex-wrap: wrap; }
.active-filter{
    font-size: var(--font-size-s); 
    display: flex;
    padding: 0.2rem 0.5rem;
    border: var(--border-s);
    border-radius: 5px;
    flex-direction: row;
    flex-wrap: nowrap;
    column-gap: 1rem;
    align-items: center;
    width: fit-content;
}
.active-filter a { font-weight: bold; font-size: var(--font-size-l); }
.remove-filter, .remove-instock {font-weight: bold; font-size: var(--font-size-l); color: var(--primary); cursor: pointer; }
.clear-filters { background-color: var(--bg-l-gray); }

.open-tables-btn { display: none; }
.product-page__variation-table .container { padding: 1rem; border: var(--border-s); border-radius: 15px; }
.product-page__variation-table .container .product-variation-table__wrapper { 
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 100rem) {
    .open-tables-btn { display: block; }
    .open-tables-btn.compact { display: none; }
    .product-page__variation-table .container { overflow: unset; }
}



.product-page .product-variation-table { display: table; }
.product-page__variation-table th { top: 0!important; }


.lock-icon { display: block; }
.product-variation-table th.lockable {
  position: relative; /* baza dla absolutnego lock-icon */
}
.product-variation-table th .lock-icon {
  position: absolute;
  top: 12px;
  right: 8px;
  font-size: 0.9em;
  cursor: pointer;
  color: var(--primary);
  z-index: 5;
}
.product-variation-table th .lock-icon.locked {
  color: var(--accent);
}
.product-variation-table {
  width: 100%;
}

@media (min-width: 100rem) {
  .product-variation-table th .lock-icon { display: none; }
}

.variation-group-heading { margin: 2rem 0 1rem 0; }
.variation-filters-container {
  display: flex;
  column-gap: 0.3rem;
  row-gap: 0.3rem;
  flex-wrap: wrap; 
  margin: 0 0 0.5rem 0;
}

.variation-filters-container .filter-group {
    display: flex;
    flex-direction: row;
    border: var(--border-s);
    border-radius: 5px;
    padding: 0 0 0 0.5rem;
    margin: 0;
    gap: 1rem;
}

.variation-filters-container .filter-group label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 0.5rem;
}
.filter-group label[for^="filter-in-stock-"] {
    margin-right: 0.5rem;
    cursor: pointer;
}


.variation-filters-container .filter-group label select {
    cursor: pointer;
    font-size: var(--font-size-s);
    padding: 0.2rem 0.5rem;
    background-color: var(--bg-l-gray);
    border: 0;
    border-radius: 5px;
}



.variation-filters-container .filter-group label select option { background-color: var(--white); }

.product-variation-table .green, .product-variation-table .red { padding: 0.3rem 0.5rem; border-radius: 5px; }
.product-variation-table .green { background-color: var(--bg-l-green); }
.product-variation-table .red { background-color: var(--bg-l-gray); }

/* Animacja podskoku ilości */
.quantity-animate {
  animation: qty-bounce 0.3s ease;
  color: #28a745; /* zielony akcent */
}
@keyframes qty-bounce {
  0% { transform: scale(1); }
  50% { transform: scale(1.3); }
  100% { transform: scale(1); }
}

/* Pulsowanie przycisku po udanym dodaniu */
.add-to-cart-success {
  animation: cart-pulse 0.6s ease;
  background-color: #28a745 !important;
  color: #fff !important;
}
@keyframes cart-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

/* Fade-out i przesunięcie przy usuwaniu */
.mini-cart__item.is-removing {
  transition: all 0.4s ease;
  opacity: 0;
  transform: translateX(20px);
}

/* Pulsowanie przycisków podczas AJAX (ładowanie) */
.btn.is-loading {
  opacity: 0.6;
  animation: btn-pulse 1s infinite alternate ease-in-out;
}
@keyframes btn-pulse {
  from { transform: scale(1); }
  to { transform: scale(1.05); }
}

