/**
 * Tofaa × Side Cart WooCommerce
 * Panel w stylu kremowego liquid glass.
 */

:root {
    --tofaa-purple: #7C4FA0;
    --tofaa-green: #d1d635;
    --tofaa-cream: #F8EAE1;
    --tofaa-glass: rgba(248, 234, 225, 0.92);
    --tofaa-glass-strong: rgba(248, 234, 225, 0.98);
    --tofaa-line: rgba(255, 255, 255, 0.78);
    --tofaa-purple-soft: rgba(124, 79, 160, 0.14);
}

/* Wtyczka nie dodaje już własnej, dublującej się pływającej ikony. */
.xoo-wsc-basket,
.xoo-wsc-basket[style] {
    display: none !important;
}

/* Przyciemnienie pod panelem. */
.xoo-wsc-opac {
    background: rgba(45, 25, 57, 0.42) !important;
    backdrop-filter: blur(5px) saturate(110%);
    -webkit-backdrop-filter: blur(5px) saturate(110%);
}

/* Główna tafla liquid glass. */
.xoo-wsc-container {
    right: -110vw !important;
    width: min(460px, 94vw) !important;
    max-width: 460px !important;
    height: 100dvh !important;
    color: var(--tofaa-purple) !important;
    background: var(--tofaa-glass) !important;
    border-left: 1px solid var(--tofaa-line) !important;
    box-shadow: -20px 0 55px rgba(75, 45, 94, 0.2) !important;
    backdrop-filter: blur(28px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(28px) saturate(145%) !important;
    font-family: inherit !important;
    overflow: hidden !important;
    transition: right 0.38s cubic-bezier(.2, .75, .2, 1) !important;
}

.xoo-wsc-cart-active .xoo-wsc-container {
    right: 0 !important;
}

/* Nagłówek. */
.xoo-wsc-header {
    min-height: 92px !important;
    padding: 22px 24px !important;
    color: var(--tofaa-purple) !important;
    background: var(--tofaa-glass-strong) !important;
    border-bottom: 1px solid rgba(124, 79, 160, 0.12) !important;
    box-shadow: 0 10px 28px rgba(124, 79, 160, 0.08) !important;
}

.xoo-wsch-top,
.xoo-wsc-header .xoo-wsch-top {
    min-height: 48px !important;
    align-items: center !important;
}

.xoo-wsch-text,
.xoo-wsc-ctxt {
    color: var(--tofaa-purple) !important;
    font-size: clamp(24px, 3vw, 31px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
}

.xoo-wsch-close,
.xoo-wsc-close,
.xoo-wsc-icon-cross {
    color: var(--tofaa-purple) !important;
    font-size: 22px !important;
    opacity: 1 !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.xoo-wsch-close:hover,
.xoo-wsc-close:hover {
    transform: rotate(7deg) scale(1.08) !important;
    opacity: 0.72 !important;
}

.xoo-wsch-items-count,
.xoo-wsc-items-count {
    color: var(--tofaa-purple) !important;
    background: var(--tofaa-green) !important;
    border: 2px solid var(--tofaa-cream) !important;
    box-shadow: 0 6px 16px rgba(124, 79, 160, 0.16) !important;
}

/* Przewijalna część z produktami. */
.xoo-wsc-body {
    padding: 18px 16px 22px !important;
    color: var(--tofaa-purple) !important;
    background: transparent !important;
    scrollbar-color: rgba(124, 79, 160, 0.35) transparent;
    scrollbar-width: thin;
}

.xoo-wsc-body::-webkit-scrollbar {
    width: 8px;
}

.xoo-wsc-body::-webkit-scrollbar-thumb {
    background: rgba(124, 79, 160, 0.3);
    border-radius: 999px;
}

.xoo-wsc-products,
.xoo-wsc-content {
    color: var(--tofaa-purple) !important;
}

.xoo-wsc-product,
.xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product {
    margin: 0 0 14px !important;
    padding: 14px !important;
    color: var(--tofaa-purple) !important;
    background: rgba(255, 255, 255, 0.48) !important;
    border: 1px solid rgba(255, 255, 255, 0.82) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 32px rgba(124, 79, 160, 0.1) !important;
    backdrop-filter: blur(13px) saturate(125%);
    -webkit-backdrop-filter: blur(13px) saturate(125%);
}

.xoo-wsc-product-cont {
    gap: 14px !important;
    align-items: center !important;
}

.xoo-wsc-img-col {
    flex: 0 0 92px !important;
    width: 92px !important;
}

.xoo-wsc-img-col img {
    width: 92px !important;
    height: 92px !important;
    object-fit: contain !important;
    background: rgba(248, 234, 225, 0.72) !important;
    border: 1px solid rgba(124, 79, 160, 0.08) !important;
    border-radius: 17px !important;
}

.xoo-wsc-sum-col {
    min-width: 0 !important;
    width: auto !important;
    flex: 1 1 auto !important;
}

.xoo-wsc-pname,
.xoo-wsc-pname a,
.xoo-wsc-product a,
.xoo-wsc-product .amount,
.xoo-wsc-product bdi,
.xoo-wsc-qty-price,
.xoo-wsc-sm-info,
.xoo-wsc-sm-left,
.xoo-wsc-sm-right {
    color: var(--tofaa-purple) !important;
}

.xoo-wsc-pname,
.xoo-wsc-pname a {
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}

.xoo-wsc-qty-price,
.xoo-wsc-qty-price .amount,
.xoo-wsc-sm-right,
.xoo-wsc-sm-right .amount {
    font-weight: 800 !important;
}

.xoo-wsc-product dl.variation,
.xoo-wsc-product dl.variation dt,
.xoo-wsc-product dl.variation dd {
    color: rgba(124, 79, 160, 0.78) !important;
}

/* Ilość i usuwanie. */
.xoo-wsc-qtybox,
.xoo-wsc-qtybox input,
.xoo-wsc-chng,
.xoo-wsc-qty {
    color: var(--tofaa-purple) !important;
}

.xoo-wsc-qtybox {
    overflow: hidden !important;
    background: rgba(248, 234, 225, 0.82) !important;
    border: 1px solid rgba(124, 79, 160, 0.16) !important;
    border-radius: 999px !important;
}

.xoo-wsc-chng {
    background: transparent !important;
}

.xoo-wsc-premove,
.xoo-wsc-icon-trash,
.xoo-wsc-remove,
.xoo-wsc-product .xoo-wsc-icon-trash {
    color: var(--tofaa-purple) !important;
    opacity: 0.76 !important;
}

.xoo-wsc-premove:hover,
.xoo-wsc-icon-trash:hover,
.xoo-wsc-remove:hover {
    color: #5f367e !important;
    opacity: 1 !important;
}

/* Stopka i podsumowanie. */
.xoo-wsc-footer {
    padding: 18px 18px max(18px, env(safe-area-inset-bottom)) !important;
    color: var(--tofaa-purple) !important;
    background: var(--tofaa-glass-strong) !important;
    border-top: 1px solid rgba(124, 79, 160, 0.12) !important;
    box-shadow: 0 -12px 32px rgba(124, 79, 160, 0.1) !important;
}

.xoo-wsc-footer,
.xoo-wsc-footer a,
.xoo-wsc-footer .amount,
.xoo-wsc-ft-totals,
.xoo-wsc-ft-amt,
.xoo-wsc-ft-amt .amount {
    color: var(--tofaa-purple) !important;
}

.xoo-wsc-ft-totals,
.xoo-wsc-ft-amt {
    font-size: 18px !important;
    font-weight: 800 !important;
}

.xoo-wsc-ft-buttons-cont {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin-top: 14px !important;
}

.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn,
.xoo-wsc-footer a.button,
.xoo-wsc-footer a.xoo-wsc-btn {
    min-height: 52px !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--tofaa-purple) !important;
    background: var(--tofaa-green) !important;
    border: 1px solid rgba(124, 79, 160, 0.16) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(124, 79, 160, 0.12) !important;
    font: inherit !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn:hover,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn:hover,
.xoo-wsc-footer a.button:hover,
.xoo-wsc-footer a.xoo-wsc-btn:hover {
    color: var(--tofaa-purple) !important;
    background: #dce145 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 28px rgba(124, 79, 160, 0.18) !important;
}

/* Przycisk „Kontynuuj zakupy” jest lżejszą, szklaną opcją. */
.xoo-wsc-container .xoo-wsc-ft-btn-continue,
.xoo-wsc-container .xoo-wsc-cart-close.xoo-wsc-ft-btn {
    background: rgba(255, 255, 255, 0.56) !important;
}

/* Pusty koszyk i komunikaty. */
.xoo-wsc-empty-cart,
.xoo-wsc-empty-cart .xoo-wsc-empty-cart-txt,
.xoo-wsc-notice-container,
.xoo-wsc-notice-container span {
    color: var(--tofaa-purple) !important;
}

.xoo-wsc-empty-cart {
    padding: 46px 24px !important;
}

/* Licznik w naszych przyciskach po aktualizacji AJAX. */
.tofaa-cart-count[hidden] {
    display: none !important;
}

@media (max-width: 600px) {
    .xoo-wsc-container {
        width: min(430px, 96vw) !important;
        max-width: 96vw !important;
    }

    .xoo-wsc-header {
        min-height: 78px !important;
        padding: 17px 18px !important;
    }

    .xoo-wsc-body {
        padding: 14px 12px 18px !important;
    }

    .xoo-wsc-product,
    .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product {
        padding: 12px !important;
        border-radius: 18px !important;
    }

    .xoo-wsc-img-col,
    .xoo-wsc-img-col img {
        width: 76px !important;
        height: 76px !important;
        flex-basis: 76px !important;
    }

    .xoo-wsc-footer {
        padding-inline: 12px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .xoo-wsc-container,
    .xoo-wsc-container * {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

/* ============================================================
   V133 — spokojne wyróżnienie przycisków bez obracanej ramki
   ============================================================ */

/* Wszystkie trzy części panelu mają dokładnie ten sam kremowy kolor. */
.xoo-wsc-container,
.xoo-wsc-header,
.xoo-wsc-body,
.xoo-wsc-footer {
    background: #F8EAE1 !important;
    background-color: #F8EAE1 !important;
}

/* Cała kwota w podsumowaniu pozostaje fioletowa. */
.xoo-wsc-container .xoo-wsc-footer .xoo-wsc-ft-totals,
.xoo-wsc-container .xoo-wsc-footer .xoo-wsc-ft-totals *,
.xoo-wsc-container .xoo-wsc-footer .xoo-wsc-ft-amt,
.xoo-wsc-container .xoo-wsc-footer .xoo-wsc-ft-amt *,
.xoo-wsc-container .xoo-wsc-footer .amount,
.xoo-wsc-container .xoo-wsc-footer .amount *,
.xoo-wsc-container .xoo-wsc-footer bdi {
    color: #7C4FA0 !important;
}

/* Przyciski: bez gradientu i bez zmiany koloru tła.
 * Na hover unoszą się o 2 px i dostają trochę wyraźniejszy cień,
 * tak jak główny CTA „Sprawdź produkty”. */
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn,
.xoo-wsc-footer a.button,
.xoo-wsc-footer a.xoo-wsc-btn {
    position: relative !important;
    overflow: hidden !important;
    border: none !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    color: #7C4FA0 !important;
    transform: translateY(0) !important;
    text-transform: uppercase !important;
    font-style: normal !important;
    box-shadow: 0 10px 24px rgba(124, 79, 160, 0.12) !important;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease !important;
}

.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn *,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn *,
.xoo-wsc-footer a.button *,
.xoo-wsc-footer a.xoo-wsc-btn * {
    color: inherit !important;
    text-transform: uppercase !important;
    font-style: normal !important;
}

.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn::before,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn::before,
.xoo-wsc-footer a.button::before,
.xoo-wsc-footer a.xoo-wsc-btn::before {
    content: none !important;
    display: none !important;
    animation: none !important;
}

.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn:hover,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn:hover,
.xoo-wsc-footer a.button:hover,
.xoo-wsc-footer a.xoo-wsc-btn:hover,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn:focus-visible,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn:focus-visible,
.xoo-wsc-footer a.button:focus-visible,
.xoo-wsc-footer a.xoo-wsc-btn:focus-visible {
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    color: #7C4FA0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 17px 36px rgba(124, 79, 160, 0.22) !important;
}

.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn:active,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn:active,
.xoo-wsc-footer a.button:active,
.xoo-wsc-footer a.xoo-wsc-btn:active {
    transform: translateY(0) scale(0.99) !important;
    box-shadow: 0 8px 18px rgba(124, 79, 160, 0.14) !important;
}

/* Licznik jest pozycjonowany względem samego przycisku koszyka. */
.tofaa-floating-cart {
    position: relative !important;
}

.tofaa-floating-cart .tofaa-cart-count,
.tofaa-floating-cart > span.tofaa-cart-count {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn,
    .xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn,
    .xoo-wsc-footer a.button,
    .xoo-wsc-footer a.xoo-wsc-btn {
        transition: none !important;
    }
}

/* ============================================================
   V135 — szerszy panel + jeden wiersz nazwy produktu
   ============================================================ */

.xoo-wsc-container {
    width: min(500px, 96vw) !important;
    max-width: 500px !important;
}

.xoo-wsc-product-cont {
    align-items: center !important;
}

.xoo-wsc-img-col {
    flex: 0 0 84px !important;
    width: 84px !important;
}

.xoo-wsc-img-col img {
    width: 84px !important;
    height: 84px !important;
}

.xoo-wsc-sm-info,
.xoo-wsc-sm-left,
.xoo-wsc-sum-col {
    min-width: 0 !important;
}

.xoo-wsc-sm-right {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding-left: 12px !important;
}

.xoo-wsc-pname,
.xoo-wsc-pname a {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
}

@media (max-width: 600px) {
    .xoo-wsc-container {
        width: min(470px, 98vw) !important;
        max-width: 98vw !important;
    }

    .xoo-wsc-img-col,
    .xoo-wsc-img-col img {
        width: 72px !important;
        height: 72px !important;
        flex-basis: 72px !important;
    }

    .xoo-wsc-pname,
    .xoo-wsc-pname a {
        font-size: 14px !important;
    }
}

/* ============================================================
   V136 — pełna nazwa produktu bez ucinania
   ============================================================ */

/* Dajemy produktowi więcej miejsca w panelu. */
.xoo-wsc-container {
    width: min(560px, 98vw) !important;
    max-width: 560px !important;
}

.xoo-wsc-body {
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.xoo-wsc-product,
.xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product {
    padding: 12px !important;
}

.xoo-wsc-product-cont {
    gap: 10px !important;
}

.xoo-wsc-img-col {
    flex: 0 0 70px !important;
    width: 70px !important;
    min-width: 70px !important;
}

.xoo-wsc-img-col img {
    width: 70px !important;
    height: 70px !important;
}

/* Wiersz informacji o produkcie: nazwa ma elastyczne miejsce,
   a kwota zajmuje tylko tyle szerokości, ile potrzebuje. */
.xoo-wsc-sm-info {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 12px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
}

.xoo-wsc-sm-left,
.xoo-wsc-sum-col {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: visible !important;
}

.xoo-wsc-sm-right {
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding-left: 0 !important;
}

.xoo-wsc-pname,
.xoo-wsc-pname a {
    width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
}

@media (max-width: 600px) {
    .xoo-wsc-container {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    .xoo-wsc-img-col {
        flex-basis: 62px !important;
        width: 62px !important;
        min-width: 62px !important;
    }

    .xoo-wsc-img-col img {
        width: 62px !important;
        height: 62px !important;
    }

    .xoo-wsc-pname,
    .xoo-wsc-pname a {
        font-size: 13px !important;
    }

    .xoo-wsc-sm-info {
        column-gap: 8px !important;
    }
}

/* ============================================================
   Pusty Side Cart — jeden przycisk, bez wymuszonego przejścia
   ============================================================ */

/*
 * W treści pustego koszyka ukrywamy dodatkowy przycisk
 * „Powrót do sklepu”. Zielony „Kontynuuj zakupy” pozostaje
 * w stopce panelu i jest obsługiwany przez side-cart-tofaa.js.
 */
.xoo-wsc-empty-cart > a.xoo-wsc-btn {
    display: none !important;
}



/* ============================================================
   V161 — czarne kontury Side Cart i wciskane CTA
   - panel boczny: czarny kontur 1 px,
   - karty produktów: czarny kontur 1 px,
   - wszystkie przyciski stopki: styl i animacja jak „Sprawdź produkty”.
   ============================================================ */

/* Kontur całej tafli panelu oraz jej głównych podziałów. */
.xoo-wsc-container {
    border: 1px solid #171717 !important;
    border-right: 0 !important;
}

.xoo-wsc-header {
    border-bottom: 1px solid #171717 !important;
}

.xoo-wsc-footer {
    border-top: 1px solid #171717 !important;
}

/* Każdy produkt w bocznym koszyku ma taki sam czarny kontur. */
.xoo-wsc-product,
.xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product {
    border: 1px solid #171717 !important;
}

/* Wszystkie CTA w stopce Side Cart — również oba warianty
   „Kontynuuj zakupy”, „Zobacz koszyk” i „Przejdź do kasy”. */
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn,
.xoo-wsc-footer a.button,
.xoo-wsc-footer a.xoo-wsc-btn,
.xoo-wsc-container .xoo-wsc-ft-btn-continue,
.xoo-wsc-container .xoo-wsc-cart-close.xoo-wsc-ft-btn {
    color: #7C4FA0 !important;
    background: #d1d635 !important;
    border: 1px solid #171717 !important;
    box-shadow: 0 8px 0 #171717 !important;
    transform: translateY(0) !important;
    transition:
        transform .18s cubic-bezier(.2, .8, .2, 1),
        box-shadow .18s cubic-bezier(.2, .8, .2, 1),
        background-color .18s ease !important;
    will-change: transform, box-shadow;
}

.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn:hover,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn:hover,
.xoo-wsc-footer a.button:hover,
.xoo-wsc-footer a.xoo-wsc-btn:hover,
.xoo-wsc-container .xoo-wsc-ft-btn-continue:hover,
.xoo-wsc-container .xoo-wsc-cart-close.xoo-wsc-ft-btn:hover,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn:focus-visible,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn:focus-visible,
.xoo-wsc-footer a.button:focus-visible,
.xoo-wsc-footer a.xoo-wsc-btn:focus-visible {
    color: #7C4FA0 !important;
    background: #d1d635 !important;
    border-color: #171717 !important;
    box-shadow: 0 2px 0 #171717 !important;
    transform: translateY(6px) !important;
}

.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn:active,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont .xoo-wsc-btn:active,
.xoo-wsc-footer a.button:active,
.xoo-wsc-footer a.xoo-wsc-btn:active,
.xoo-wsc-container .xoo-wsc-ft-btn-continue:active,
.xoo-wsc-container .xoo-wsc-cart-close.xoo-wsc-ft-btn:active {
    box-shadow: 0 0 0 #171717 !important;
    transform: translateY(8px) !important;
}


/* ============================================================
   V162 — licznik i wspólna ikona koszyka w nagłówku Side Cart
   ============================================================ */
.xoo-wsch-items-count,
.xoo-wsc-items-count,
.xoo-wsc-sc-count {
    border: 1px solid #171717 !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    color: #7C4FA0 !important;
    box-sizing: border-box !important;
}

/* Ukrywamy oryginalny glif wtyczki, ale zachowujemy jej licznik. */
.xoo-wsch-basket .xoo-wsch-bki,
.xoo-wsch-basket [class*="xoo-wsc-icon-basket"],
.xoo-wsch-basket [class*="xoo-wsc-icon-bag"] {
    display: none !important;
}

.xoo-wsch-basket {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}

.tofaa-side-cart-header-icon {
    width: 31px !important;
    height: 31px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #7C4FA0 !important;
    flex: 0 0 31px !important;
}

.tofaa-side-cart-header-icon svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.tofaa-side-cart-header-icon svg path,
.tofaa-side-cart-header-icon svg circle {
    fill: none !important;
    stroke: currentColor !important;
}



/* ============================================================
   V163 — „Zobacz koszyk” i „Kontynuuj zakupy” jak strzałka w górę
   Klasa jest dodawana tylko wtedy, gdy Side Cart zawiera produkt.
   ============================================================ */
.xoo-wsc-container .tofaa-side-cart-lift-cta {
    color: #7C4FA0 !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    border: 1px solid #171717 !important;
    box-shadow: 0 10px 0 rgba(124, 79, 160, .18) !important;
    transform: translateY(0) !important;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background-color .25s ease !important;
    will-change: transform, box-shadow;
}

.xoo-wsc-container .tofaa-side-cart-lift-cta:hover,
.xoo-wsc-container .tofaa-side-cart-lift-cta:focus-visible {
    color: #7C4FA0 !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    border-color: #171717 !important;
    box-shadow: 0 14px 0 rgba(124, 79, 160, .22) !important;
    transform: translateY(-4px) !important;
    outline: none !important;
}

.xoo-wsc-container .tofaa-side-cart-lift-cta:active {
    box-shadow: 0 12px 0 rgba(124, 79, 160, .20) !important;
    transform: translateY(-2px) !important;
}

/* ============================================================
   V164 — lekkie uniesienie produktów i CTA jak w katalogu
   ============================================================ */

/* Karty produktów unoszą się subtelnie bez zmiany układu listy. */
.xoo-wsc-container .xoo-wsc-product,
.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product {
    transform: translateY(0) !important;
    box-shadow: 0 5px 0 rgba(124, 79, 160, .10) !important;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease !important;
    will-change: transform, box-shadow;
}

.xoo-wsc-container .xoo-wsc-product:hover,
.xoo-wsc-container .xoo-wsc-product:focus-within,
.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:hover,
.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:focus-within {
    transform: translateY(-3px) !important;
    box-shadow: 0 9px 0 rgba(124, 79, 160, .16) !important;
    border-color: #171717 !important;
}

/* „Zobacz koszyk” i „Kontynuuj zakupy” — dokładnie jak CTA
   „Dodaj do koszyka” na kartach katalogu. */
.xoo-wsc-container.tofaa-side-cart-has-products .xoo-wsc-ft-btn-cart,
.xoo-wsc-container.tofaa-side-cart-has-products .xoo-wsc-ft-btn-continue,
.xoo-wsc-container .tofaa-side-cart-lift-cta {
    color: #7C4FA0 !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    border: 1px solid #171717 !important;
    box-shadow: 0 10px 0 rgba(124, 79, 160, .18) !important;
    transform: translateY(0) !important;
    outline: none !important;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background-color .25s ease !important;
    will-change: transform, box-shadow;
}

.xoo-wsc-container.tofaa-side-cart-has-products .xoo-wsc-ft-btn-cart:hover,
.xoo-wsc-container.tofaa-side-cart-has-products .xoo-wsc-ft-btn-cart:focus-visible,
.xoo-wsc-container.tofaa-side-cart-has-products .xoo-wsc-ft-btn-continue:hover,
.xoo-wsc-container.tofaa-side-cart-has-products .xoo-wsc-ft-btn-continue:focus-visible,
.xoo-wsc-container .tofaa-side-cart-lift-cta:hover,
.xoo-wsc-container .tofaa-side-cart-lift-cta:focus-visible {
    color: #7C4FA0 !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    border-color: #171717 !important;
    box-shadow: 0 14px 0 rgba(124, 79, 160, .22) !important;
    transform: translateY(-4px) !important;
    outline: none !important;
}

.xoo-wsc-container.tofaa-side-cart-has-products .xoo-wsc-ft-btn-cart:active,
.xoo-wsc-container.tofaa-side-cart-has-products .xoo-wsc-ft-btn-continue:active,
.xoo-wsc-container .tofaa-side-cart-lift-cta:active {
    box-shadow: 0 12px 0 rgba(124, 79, 160, .20) !important;
    transform: translateY(-2px) !important;
}

@media (prefers-reduced-motion: reduce) {
    .xoo-wsc-container .xoo-wsc-product,
    .xoo-wsc-container .tofaa-side-cart-lift-cta {
        transition: none !important;
    }
}

.xoo-wsc-container .xoo-wsc-product {
    position: relative !important;
    z-index: 1;
}

.xoo-wsc-container .xoo-wsc-product:hover,
.xoo-wsc-container .xoo-wsc-product:focus-within {
    z-index: 2;
}

/* ============================================================
   V181 — animowane usuwanie produktu bez zasłaniania całego Side Cart
   ============================================================ */

/* Karta najpierw przesuwa się, zanika i płynnie zwija. */
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-product-removing,
.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product.tofaa-side-cart-product-removing {
    max-height: 0 !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top-width: 0 !important;
    border-bottom-width: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transform: translateX(28px) scale(.97) !important;
    box-shadow: none !important;
    transition:
        max-height .28s cubic-bezier(.4, 0, .2, 1),
        min-height .28s cubic-bezier(.4, 0, .2, 1),
        margin .28s cubic-bezier(.4, 0, .2, 1),
        padding .28s cubic-bezier(.4, 0, .2, 1),
        border-width .22s ease,
        opacity .18s ease,
        transform .28s cubic-bezier(.4, 0, .2, 1),
        box-shadow .18s ease !important;
}

/* Podczas natywnej aktualizacji WooCommerce nie pokazujemy białej
   zasłony ani spinnera — reszta panelu pozostaje nieruchoma i czytelna. */
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-loader,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-loader-icon,
.xoo-wsc-modal.tofaa-side-cart-removing-item [class*="xoo-wsc-loader"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-container,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-content,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-body,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-products,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-footer {
    opacity: 1 !important;
    filter: none !important;
}

.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-container.xoo-wsc-loading::before,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-container.xoo-wsc-loading::after,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-body.xoo-wsc-loading::before,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-body.xoo-wsc-loading::after,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-products.xoo-wsc-loading::before,
.xoo-wsc-modal.tofaa-side-cart-removing-item .xoo-wsc-products.xoo-wsc-loading::after {
    content: none !important;
    display: none !important;
}

/* Po podmianie fragmentu nowe podsumowanie pojawia się subtelnie. */
.xoo-wsc-modal .xoo-wsc-body.tofaa-side-cart-content-enter,
.xoo-wsc-modal .xoo-wsc-footer.tofaa-side-cart-content-enter {
    animation: tofaa-side-cart-content-enter .18s ease both;
}

@keyframes tofaa-side-cart-content-enter {
    from { opacity: .72; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-product-removing,
    .xoo-wsc-modal .xoo-wsc-body.tofaa-side-cart-content-enter,
    .xoo-wsc-modal .xoo-wsc-footer.tofaa-side-cart-content-enter {
        animation: none !important;
        transition: none !important;
    }
}
\n\n/* ============================================================\n   V182 — pionowe wycentrowanie CTA w pustym koszyku\n   ============================================================ */\n\n/* W pustym koszyku stopka ma tylko jeden przycisk. Wyśrodkowujemy\n   go razem z jego 8-pikselowym cieniem, dzięki czemu optycznie nie\n   opada już ku dolnej krawędzi panelu. */\n.xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-footer {\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    min-height: 108px !important;\n    padding: 18px !important;\n}\n\n.xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-ft-buttons-cont {\n    width: 100% !important;\n    margin: 0 !important;\n    transform: translateY(-4px) !important;\n}\n\n.xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-ft-btn-continue {\n    width: 100% !important;\n}\n\n@media (max-width: 600px) {\n    .xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-footer {\n        min-height: 104px !important;\n        padding: 16px 12px !important;\n    }\n}\n
/* ============================================================
   V183 — równy pionowy odstęp CTA w pustym koszyku
   ============================================================ */

/* Flex już centruje przycisk w stopce. Usuwamy wcześniejsze
   sztuczne podniesienie o 4 px, aby odstęp nad przyciskiem oraz
   pod jego czarnym cieniem był optycznie jednakowy. */
.xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-ft-buttons-cont {
    transform: translateY(0) !important;
}

/* ============================================================
   V184 — pusty koszyk: CTA 10 px wyżej
   ============================================================ */
.xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-ft-buttons-cont {
    transform: translateY(-10px) !important;
}

/* ============================================================
   179 — śpiący miś w pustym Side Cart
   ============================================================ */
.xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-empty-cart {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 26px !important;
    text-align: center;
}

.xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-empty-cart::before {
    content: "";
    display: block;
    width: min(260px, 82%);
    aspect-ratio: 971 / 608;
    margin: 0 auto 18px;
    background: url('../assets/home-hero/bear-sleep.png') center / contain no-repeat;
    filter: drop-shadow(0 12px 8px rgba(33, 24, 39, .20));
    pointer-events: none;
}

@media (max-width: 600px) {
    .xoo-wsc-container.tofaa-side-cart-is-empty .xoo-wsc-empty-cart::before {
        width: min(220px, 78%);
        margin-bottom: 14px;
    }
}

/* ============================================================
   V283 — edycja ilości w Side Cart jak w Podsumowaniu checkoutu
   ============================================================ */

/* Stary statyczny napis „Ilość: X” jest zastąpiony właściwym stepperem. */
.xoo-wsc-container .xoo-wsc-product:has(.tofaa-side-cart-qty) .xoo-wsc-sml-qty {
    display: none !important;
}

.xoo-wsc-container .tofaa-side-cart-qty {
    display: inline-grid !important;
    grid-template-columns: 30px 34px 30px !important;
    align-items: center !important;
    position: relative !important;
    width: 94px !important;
    height: 32px !important;
    margin: 10px 0 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid #171717 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.xoo-wsc-container .tofaa-side-cart-qty::before,
.xoo-wsc-container .tofaa-side-cart-qty::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
    width: 1px !important;
    background: #171717 !important;
    pointer-events: none !important;
}
.xoo-wsc-container .tofaa-side-cart-qty::before { left: 30px !important; }
.xoo-wsc-container .tofaa-side-cart-qty::after  { right: 30px !important; }

.xoo-wsc-container .tofaa-side-cart-qty__button,
.xoo-wsc-container .tofaa-side-cart-qty__value {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #7C4FA0 !important;
    box-shadow: none !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
.xoo-wsc-container .tofaa-side-cart-qty__button {
    font-size: 18px !important;
    cursor: pointer !important;
    transition: background-color .16s ease !important;
}
.xoo-wsc-container .tofaa-side-cart-qty__value {
    font-size: 11px !important;
    user-select: none !important;
}
.xoo-wsc-container .tofaa-side-cart-qty__button:hover:not(:disabled),
.xoo-wsc-container .tofaa-side-cart-qty__button:focus-visible:not(:disabled) {
    background: #d1d635 !important;
    outline: none !important;
}
.xoo-wsc-container .tofaa-side-cart-qty__button:disabled {
    opacity: .30 !important;
    cursor: not-allowed !important;
}
.xoo-wsc-container .tofaa-side-cart-qty.is-loading {
    opacity: .58 !important;
    pointer-events: none !important;
}

/* W układzie wierszowym kontrolka należy do kolumny opisu produktu. */
.xoo-wsc-container .xoo-wsc-sum-col > .tofaa-side-cart-qty {
    align-self: flex-start !important;
}

/* ============================================================
   V284 — karta Side Cart w hierarchii jak Podsumowanie checkoutu
   ============================================================ */

/* Miniatura po lewej, treść produktu w środku. Sama karta zachowuje istniejący
   styl Side Cart; zmieniamy przede wszystkim układ informacji. */
.xoo-wsc-container .xoo-wsc-product-cont {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.xoo-wsc-container .xoo-wsc-img-col {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
}
.xoo-wsc-container .xoo-wsc-img-col img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 12px !important;
}

/* .xoo-wsc-sm-info ma natywnie dwie kolumny. display:contents pozwala
   rozłożyć nazwę/cenę jednostkową i total bez kopiowania danych z pluginu. */
.xoo-wsc-container .xoo-wsc-sum-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
        "details total"
        "actions total" !important;
    column-gap: 14px !important;
    row-gap: 7px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
}
.xoo-wsc-container .xoo-wsc-sm-info {
    display: contents !important;
}
.xoo-wsc-container .xoo-wsc-sm-left {
    grid-area: details !important;
    min-width: 0 !important;
    width: auto !important;
}
.xoo-wsc-container .xoo-wsc-sm-right {
    grid-area: total !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-width: max-content !important;
    width: auto !important;
    padding: 0 !important;
}

.xoo-wsc-container .xoo-wsc-pname,
.xoo-wsc-container .xoo-wsc-pname a {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #171717 !important;
    font-size: 14px !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Cena jednostkowa jest informacją drugorzędną — pod nazwą, mniejsza i lżejsza.
   Łączna wartość pozycji po prawej pozostaje główną ceną. */
.xoo-wsc-container .xoo-wsc-pprice {
    display: block !important;
    margin: 3px 0 0 !important;
    color: #7C4FA0 !important;
    opacity: .82 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}
.xoo-wsc-container .xoo-wsc-smr-ptotal,
.xoo-wsc-container .xoo-wsc-smr-ptotal .amount,
.xoo-wsc-container .xoo-wsc-smr-ptotal bdi {
    display: block !important;
    margin: 0 !important;
    color: #7C4FA0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

/* Licznik i kosz tworzą jedną linię dokładnie jak w checkoutcie. */
.xoo-wsc-container .tofaa-side-cart-actions {
    grid-area: actions !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
}
.xoo-wsc-container .tofaa-side-cart-actions .tofaa-side-cart-qty {
    margin: 0 !important;
    flex: 0 0 auto !important;
}
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-smr-del,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-premove,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-remove,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-icon-trash {
    position: static !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #7C4FA0 !important;
    box-shadow: none !important;
    opacity: .78 !important;
    cursor: pointer !important;
}
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-smr-del:hover,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-premove:hover,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-remove:hover,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-icon-trash:hover {
    color: #7C4FA0 !important;
    opacity: 1 !important;
}

/* Jeżeli po przeniesieniu kosza prawa kolumna nie zawiera totalu, nie rezerwuje
   sztucznego miejsca. */
.xoo-wsc-container .xoo-wsc-sm-right:empty {
    display: none !important;
}

@media (max-width: 460px) {
    .xoo-wsc-container .xoo-wsc-product-cont {
        gap: 9px !important;
    }
    .xoo-wsc-container .xoo-wsc-img-col,
    .xoo-wsc-container .xoo-wsc-img-col img {
        width: 56px !important;
        min-width: 56px !important;
        height: 56px !important;
        flex-basis: 56px !important;
    }
    .xoo-wsc-container .xoo-wsc-sum-col {
        column-gap: 8px !important;
    }
    .xoo-wsc-container .xoo-wsc-pname,
    .xoo-wsc-container .xoo-wsc-pname a {
        font-size: 13px !important;
    }
    .xoo-wsc-container .xoo-wsc-pprice {
        font-size: 10px !important;
    }
    .xoo-wsc-container .xoo-wsc-smr-ptotal,
    .xoo-wsc-container .xoo-wsc-smr-ptotal .amount,
    .xoo-wsc-container .xoo-wsc-smr-ptotal bdi {
        font-size: 17px !important;
    }
}

/* ============================================================
   V285 — Side Cart: pełny stepper + poprawny układ obu template'ów
   ============================================================ */
.xoo-wsc-container .xoo-wsc-product .xoo-wsc-pname,
.xoo-wsc-container .xoo-wsc-product .xoo-wsc-pname a,
.xoo-wsc-container .xoo-wsc-products .xoo-wsc-product .xoo-wsc-pname,
.xoo-wsc-container .xoo-wsc-products .xoo-wsc-product .xoo-wsc-pname a {
    color: #7C4FA0 !important;
}

.xoo-wsc-container .tofaa-side-cart-qty {
    display: inline-grid !important;
    grid-template-columns: 30px 34px 30px !important;
    flex: 0 0 96px !important;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 32px !important;
    min-height: 32px !important;
    overflow: hidden !important;
}
.xoo-wsc-container .tofaa-side-cart-qty__button {
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
}
.xoo-wsc-container .tofaa-side-cart-qty__value {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
}
.xoo-wsc-container .tofaa-side-cart-qty__button:hover:not(:disabled),
.xoo-wsc-container .tofaa-side-cart-qty__button:focus-visible:not(:disabled) {
    background: #d1d635 !important;
    background-color: #d1d635 !important;
}
.xoo-wsc-container .tofaa-side-cart-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: 100% !important;
    overflow: visible !important;
}
.xoo-wsc-container .tofaa-side-cart-actions .tofaa-side-cart-qty {
    flex: 0 0 96px !important;
    margin: 0 !important;
}
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-smr-del,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-premove,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-remove,
.xoo-wsc-container .tofaa-side-cart-actions .xoo-wsc-icon-trash {
    position: static !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #7C4FA0 !important;
}

/* Standardowy template. */
.xoo-wsc-container .xoo-wsc-product > .xoo-wsc-sum-col {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}
.xoo-wsc-container .xoo-wsc-product > .xoo-wsc-sum-col .xoo-wsc-pprice {
    color: #7C4FA0 !important;
    opacity: .82 !important;
}

/* Template cards — JS dodaje tę klasę i przenosi qty/kosz do frontu. */
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
        "image name total"
        "image unit total"
        "image actions total" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 5px !important;
}
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout > .xoo-wsc-card-cont {
    grid-area: image !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 !important;
}
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout > .xoo-wsc-card-cont .xoo-wsc-img-col,
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout > .xoo-wsc-card-cont .xoo-wsc-img-col img {
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 !important;
}
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout > .xoo-wsc-sm-front {
    display: contents !important;
}
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-sm-emp,
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-qty-box-cont,
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-sml-qty {
    display: none !important;
}
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-pname {
    grid-area: name !important;
    align-self: end !important;
    color: #7C4FA0 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-card-price,
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-pprice {
    grid-area: unit !important;
    align-self: start !important;
    margin: 0 !important;
    color: #7C4FA0 !important;
    opacity: .82 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-card-ptotal,
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-card-ptotal .amount,
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .xoo-wsc-card-ptotal bdi {
    grid-area: total !important;
    align-self: center !important;
    justify-self: end !important;
    margin: 0 !important;
    color: #7C4FA0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}
.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout .tofaa-side-cart-actions {
    grid-area: actions !important;
    align-self: start !important;
}

@media (max-width: 460px) {
    .xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout {
        grid-template-columns: 56px minmax(0, 1fr) auto !important;
        column-gap: 9px !important;
    }
    .xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout > .xoo-wsc-card-cont,
    .xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout > .xoo-wsc-card-cont .xoo-wsc-img-col,
    .xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-card-layout > .xoo-wsc-card-cont .xoo-wsc-img-col img {
        width: 56px !important;
        min-width: 56px !important;
        height: 56px !important;
        min-height: 56px !important;
    }
}

/* ============================================================
   V288 — kwadratowe karty polecanych jak na stronie produktu
   ============================================================ */
.xoo-wsc-container .tofaa-side-cart-recommendations {
    margin: 24px 0 10px !important;
    padding: 20px 0 0 !important;
    border-top: 1px solid rgba(23,23,23,.22) !important;
    color: #7C4FA0 !important;
}

.xoo-wsc-container .tofaa-side-cart-recommendations__header {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items: center !important;
    min-height: 44px !important;
    margin: 0 2px 14px !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__header h3 {
    grid-column: 1 !important;
    margin: 0 !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 19px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__controls {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow {
    display: grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #171717 !important;
    border-radius: 50% !important;
    background: #d1d635 !important;
    color: #7C4FA0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: transform .18s ease, opacity .18s ease !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
    overflow: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:hover:not(:disabled),
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus-visible:not(:disabled) {
    transform: scale(1.06) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:disabled {
    opacity: .30 !important;
    cursor: default !important;
}

/* Brak poziomego scrolla — porusza się wyłącznie track sterowany istniejącym JS. */
.xoo-wsc-container .tofaa-side-cart-recommendations__viewport {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: pan-y !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__track {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translate3d(0,0,0);
    transition: transform .34s cubic-bezier(.22,1,.36,1) !important;
    will-change: transform;
}

/* Jedna pełnoszeroka, kwadratowa karta produktu. */
.xoo-wsc-container .tofaa-side-cart-recommendation {
    --tofaa-rec-bg: #f8eae1;
    --tofaa-rec-halo: rgba(176,131,188,.38);
    position: relative !important;
    isolation: isolate !important;
    flex: 0 0 100% !important;
    display: grid !important;
    grid-template-rows: minmax(0,1fr) auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #171717 !important;
    border-radius: 0 !important;
    background: var(--tofaa-rec-bg) !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation--flavor-malina,
.xoo-wsc-container .tofaa-side-cart-recommendation--flavor-porzeczka {
    --tofaa-rec-bg: #B083BC;
    --tofaa-rec-halo: rgba(124,79,160,.44);
}
.xoo-wsc-container .tofaa-side-cart-recommendation--flavor-truskawka,
.xoo-wsc-container .tofaa-side-cart-recommendation--flavor-wisnia {
    --tofaa-rec-bg: #efd3d7;
    --tofaa-rec-halo: rgba(176,131,188,.34);
}
.xoo-wsc-container .tofaa-side-cart-recommendation--flavor-zurawina,
.xoo-wsc-container .tofaa-side-cart-recommendation--flavor-jablko {
    --tofaa-rec-bg: #f8eae1;
    --tofaa-rec-halo: rgba(176,131,188,.38);
}

.xoo-wsc-container .tofaa-side-cart-recommendation__main {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0,1fr) !important;
    min-height: 0 !important;
    padding: 26px 22px 0 !important;
    color: #7C4FA0 !important;
    text-decoration: none !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__product-header {
    position: relative !important;
    z-index: 7 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__name {
    display: block !important;
    max-width: 94% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: clamp(24px, 5.5vw, 34px) !important;
    line-height: .98 !important;
    font-weight: 900 !important;
    letter-spacing: -.045em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.xoo-wsc-container .tofaa-side-cart-recommendation__visual {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    place-items: center !important;
    min-height: 0 !important;
    overflow: visible !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__halo {
    position: absolute !important;
    z-index: 0 !important;
    width: min(76%, 330px) !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
    background: var(--tofaa-rec-halo) !important;
    transform: scale(.92) !important;
    transition: transform .72s cubic-bezier(.2,.8,.2,1), background-color .45s ease !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__product-image {
    position: relative !important;
    z-index: 3 !important;
    display: block !important;
    width: min(88%, 390px) !important;
    max-width: none !important;
    height: min(52%, 190px) !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 18px 18px rgba(83,49,105,.20)) !important;
    transform: translate3d(0,5px,0) rotate(-1deg) scale(.97) !important;
    transform-origin: 50% 62% !important;
    transition: transform .68s cubic-bezier(.2,.8,.2,1), filter .5s ease !important;
    will-change: transform !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:hover .tofaa-side-cart-recommendation__product-image,
.xoo-wsc-container .tofaa-side-cart-recommendation:focus-within .tofaa-side-cart-recommendation__product-image {
    filter: drop-shadow(0 26px 22px rgba(83,49,105,.26)) !important;
    transform: translate3d(0,-12px,0) rotate(-3deg) scale(1.045) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:hover .tofaa-side-cart-recommendation__halo,
.xoo-wsc-container .tofaa-side-cart-recommendation:focus-within .tofaa-side-cart-recommendation__halo {
    background: rgba(209,214,53,.40) !important;
    transform: scale(1.04) !important;
}

/* Owoce — ten sam schemat co w kartach polecanych na stronie produktu:
   ukryte -> fade-in -> delikatne unoszenie. */
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit {
    position: absolute !important;
    z-index: 4 !important;
    display: block !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
    pointer-events: none !important;
    user-select: none !important;
    object-fit: contain !important;
    opacity: 0 !important;
    visibility: visible !important;
    filter: drop-shadow(0 6px 8px rgba(83,49,105,.16)) !important;
    transition: opacity .22s ease !important;
    transform-origin: 50% 50% !important;
    translate: 0 0 !important;
    will-change: opacity, translate !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit--1 {
    width: 22% !important;
    top: 8% !important;
    right: 20% !important;
    transform: rotate(-11deg) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit--2 {
    width: 16% !important;
    left: 13% !important;
    bottom: 17% !important;
    transform: rotate(-17deg) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit--3 {
    width: 17% !important;
    right: 12% !important;
    bottom: 12% !important;
    transform: rotate(12deg) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:hover .tofaa-side-cart-recommendation__fruit,
.xoo-wsc-container .tofaa-side-cart-recommendation:focus-within .tofaa-side-cart-recommendation__fruit {
    opacity: 1 !important;
    transition-duration: .48s !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:hover .tofaa-side-cart-recommendation__fruit--1,
.xoo-wsc-container .tofaa-side-cart-recommendation:focus-within .tofaa-side-cart-recommendation__fruit--1 {
    animation: tofaaSideCartFruitFloat1 4.6s ease-in-out .48s infinite !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:hover .tofaa-side-cart-recommendation__fruit--2,
.xoo-wsc-container .tofaa-side-cart-recommendation:focus-within .tofaa-side-cart-recommendation__fruit--2 {
    animation: tofaaSideCartFruitFloat2 4s ease-in-out .48s infinite !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:hover .tofaa-side-cart-recommendation__fruit--3,
.xoo-wsc-container .tofaa-side-cart-recommendation:focus-within .tofaa-side-cart-recommendation__fruit--3 {
    animation: tofaaSideCartFruitFloat3 4.2s ease-in-out .48s infinite !important;
}
@keyframes tofaaSideCartFruitFloat1 {
    0%,100% { translate: 0 0; }
    50% { translate: 0 -7px; }
}
@keyframes tofaaSideCartFruitFloat2 {
    0%,100% { translate: 0 0; }
    50% { translate: 0 -5px; }
}
@keyframes tofaaSideCartFruitFloat3 {
    0%,100% { translate: 0 0; }
    50% { translate: 0 -6px; }
}

/* Dolny pas jak w dużej karcie produktu. */
.xoo-wsc-container .tofaa-side-cart-recommendation__footer {
    position: relative !important;
    z-index: 8 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 14px 18px 17px !important;
    border-top: 1px solid #171717 !important;
    background: rgba(248,234,225,.50) !important;
    box-sizing: border-box !important;
    backdrop-filter: blur(10px) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__price,
.xoo-wsc-container .tofaa-side-cart-recommendation__price .amount,
.xoo-wsc-container .tofaa-side-cart-recommendation__price bdi {
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    width: auto !important;
    margin: 0 !important;
}

.xoo-wsc-container .tofaa-side-cart-rec-qty {
    display: inline-grid !important;
    grid-template-columns: 30px 34px 30px !important;
    width: 96px !important;
    min-width: 96px !important;
    height: 32px !important;
    overflow: hidden !important;
    border: 1px solid #171717 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}
.xoo-wsc-container .tofaa-side-cart-rec-qty__button,
.xoo-wsc-container .tofaa-side-cart-rec-qty__value {
    display: grid !important;
    place-items: center !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}
.xoo-wsc-container .tofaa-side-cart-rec-qty__button {
    width: 30px !important;
    cursor: pointer !important;
}
.xoo-wsc-container .tofaa-side-cart-rec-qty__value {
    width: 34px !important;
    border-left: 1px solid #171717 !important;
    border-right: 1px solid #171717 !important;
}
.xoo-wsc-container .tofaa-side-cart-rec-qty__button:hover:not(:disabled),
.xoo-wsc-container .tofaa-side-cart-rec-qty__button:focus-visible:not(:disabled) {
    background: #d1d635 !important;
}
.xoo-wsc-container .tofaa-side-cart-rec-qty__button:disabled {
    opacity: .32 !important;
    cursor: default !important;
}

.xoo-wsc-container .tofaa-side-cart-recommendation__add {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 105px !important;
    height: 36px !important;
    margin: 0 0 5px !important;
    padding: 0 17px !important;
    border: 1px solid #171717 !important;
    border-radius: 999px !important;
    background: #d1d635 !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    box-shadow: 0 6px 0 #171717 !important;
    cursor: pointer !important;
    transform: translateY(0) !important;
    transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__add:hover:not(:disabled),
.xoo-wsc-container .tofaa-side-cart-recommendation__add:focus-visible:not(:disabled) {
    transform: translateY(4px) !important;
    box-shadow: 0 2px 0 #171717 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__add:active:not(:disabled) {
    transform: translateY(6px) !important;
    box-shadow: 0 0 0 #171717 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__add.is-loading {
    opacity: .55 !important;
    pointer-events: none !important;
}

@media (max-width: 460px) {
    .xoo-wsc-container .tofaa-side-cart-recommendations__header {
        grid-template-columns: minmax(0,1fr) auto !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendations__controls {
        grid-column: 2 !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__main {
        padding: 21px 16px 0 !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__name {
        font-size: 23px !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__footer {
        min-height: 84px !important;
        padding: 11px 12px 14px !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__price,
    .xoo-wsc-container .tofaa-side-cart-recommendation__price .amount,
    .xoo-wsc-container .tofaa-side-cart-recommendation__price bdi {
        font-size: 23px !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__actions {
        gap: 6px !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__add {
        min-width: 88px !important;
        padding-inline: 12px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .xoo-wsc-container .tofaa-side-cart-recommendations__track,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow,
    .xoo-wsc-container .tofaa-side-cart-recommendation__product-image,
    .xoo-wsc-container .tofaa-side-cart-recommendation__halo,
    .xoo-wsc-container .tofaa-side-cart-recommendation__fruit,
    .xoo-wsc-container .tofaa-side-cart-recommendation__add {
        transition: none !important;
        animation: none !important;
    }
}

/* ============================================================
   V289 — kompaktowa, pełnoszeroka karta + strzałki jak na produkcie
   ============================================================ */

/* Sekcja wpina się w sidecart bez dodatkowych bocznych marginesów. */
.xoo-wsc-container .tofaa-side-cart-recommendations {
    width: calc(100% + 28px) !important;
    max-width: none !important;
    margin: 22px -14px 8px !important;
    padding: 18px 0 0 !important;
    overflow: hidden !important;
}

/* Tytuł zostaje po lewej, ale sterowanie ma własny, naprawdę wycentrowany rząd. */
.xoo-wsc-container .tofaa-side-cart-recommendations__header {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 14px 14px !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__header h3 {
    margin: 0 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__controls {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 14px 0 0 !important;
}

/* Dokładnie ten sam język strzałek co w „Jeszcze więcej Tofaa!” na produkcie. */
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow,
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:hover,
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus,
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus-visible,
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:active {
    position: static !important;
    display: grid !important;
    place-items: center !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #171717 !important;
    border-style: solid !important;
    border-radius: 50% !important;
    background: #d1d635 !important;
    color: #7C4FA0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    transform: none !important;
    transition: none !important;
    cursor: pointer !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    -webkit-tap-highlight-color: transparent;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow > span {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 2px !important;
    font: inherit !important;
    line-height: 1 !important;
    transform: none !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:disabled {
    opacity: .35 !important;
    cursor: default !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow::-moz-focus-inner {
    border: 0 !important;
    padding: 0 !important;
}

/* Nie przesuwamy już ogromnego flex-tracka. JS przełącza jedną aktywną kartę. */
.xoo-wsc-container .tofaa-side-cart-recommendations__viewport {
    width: 100% !important;
    overflow: hidden !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__track {
    display: block !important;
    width: 100% !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation {
    display: none !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px solid #171717 !important;
    border-bottom: 1px solid #171717 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation.is-active {
    display: grid !important;
    grid-template-rows: auto auto !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation[hidden] {
    display: none !important;
}

/* Mniej pustego miejsca: część wizualna ma konkretną, produktową wysokość. */
.xoo-wsc-container .tofaa-side-cart-recommendation__main {
    grid-template-rows: auto 1fr !important;
    height: 318px !important;
    min-height: 318px !important;
    padding: 22px 20px 0 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__name {
    font-size: clamp(25px, 5vw, 32px) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__visual {
    height: 250px !important;
    min-height: 0 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__halo {
    width: min(68%, 270px) !important;
    max-width: 270px !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__product-image {
    width: min(84%, 350px) !important;
    max-width: 350px !important;
    height: auto !important;
    max-height: 176px !important;
    object-fit: contain !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__footer {
    min-height: 82px !important;
    padding: 12px 16px 15px !important;
}

@media (max-width: 460px) {
    .xoo-wsc-container .tofaa-side-cart-recommendations {
        width: calc(100% + 28px) !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__main {
        height: 286px !important;
        min-height: 286px !important;
        padding: 18px 16px 0 !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__visual {
        height: 222px !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation__product-image {
        max-height: 158px !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow:hover,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus-visible,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow:active {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        font-size: 22px !important;
    }
}

/* ============================================================
   V290 — stabilna zmiana kart, naturalny scroll, kompaktowe sterowanie
   ============================================================ */

/* Nagłówek i strzałki w jednym wierszu. */
.xoo-wsc-container .tofaa-side-cart-recommendations__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 14px 12px !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__header h3 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__controls {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    margin: 0 !important;
}

/* Mniejsze kółka, ten sam język wizualny co rekomendacje produktowe. */
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow,
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:hover,
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus,
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus-visible,
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow:active {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex: 0 0 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #171717 !important;
    border-radius: 50% !important;
    background: #d1d635 !important;
    color: #7C4FA0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    font-size: 17px !important;
    line-height: 1 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendations__arrow > span {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 0 1px !important;
    line-height: 1 !important;
}

/* Nie blokuj pionowego scrollowania Side Cart, gdy kursor jest nad rekomendacją. */
.xoo-wsc-container .tofaa-side-cart-recommendations,
.xoo-wsc-container .tofaa-side-cart-recommendations__viewport,
.xoo-wsc-container .tofaa-side-cart-recommendations__track,
.xoo-wsc-container .tofaa-side-cart-recommendation {
    overscroll-behavior: auto !important;
    touch-action: pan-y !important;
}

/* Podczas zmiany zawsze istnieje tylko jedna karta w flow. */
.xoo-wsc-container .tofaa-side-cart-recommendations__viewport {
    overflow: hidden !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:not(.is-active),
.xoo-wsc-container .tofaa-side-cart-recommendation[hidden] {
    display: none !important;
}

/* Owoce: geometria katalogowej karty produktu, ale dokładnie 30% mniejsze.
   fruit--1 = cluster, fruit--2 = one, fruit--3 = two. */
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit--1 {
    width: 82.6px !important; /* 118px × .70 */
    top: calc(31% - 77px) !important;
    right: calc(18% + 49px) !important;
    left: auto !important;
    bottom: auto !important;
    transform: translate3d(0,0,0) rotate(-11deg) scale(1) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit--2 {
    width: 58.8px !important; /* 84px × .70 */
    top: 55% !important;
    left: 18% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate3d(0,0,0) rotate(-17deg) scale(1) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit--3 {
    width: 63px !important; /* 90px × .70 */
    right: 20% !important;
    bottom: 20% !important;
    left: auto !important;
    top: auto !important;
    transform: translate3d(0,0,0) rotate(12deg) scale(1) !important;
}

@media (max-width: 460px) {
    .xoo-wsc-container .tofaa-side-cart-recommendations__header {
        padding: 0 12px 10px !important;
        gap: 8px !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendations__controls {
        gap: 6px !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow:hover,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow:focus-visible,
    .xoo-wsc-container .tofaa-side-cart-recommendations__arrow:active {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        flex-basis: 34px !important;
        font-size: 16px !important;
    }
}


/* ============================================================
   V293 — jedna i tylko jedna widoczna rekomendacja
   ============================================================ */

/* Stan pochodzi bezpośrednio z PHP + jednego kontrolera JS.
   hidden ma zawsze najwyższy priorytet; nie ma już fallbacku CSS,
   który wymuszał pierwszy slajd podczas przełączenia. */
.xoo-wsc-container .tofaa-side-cart-recommendation {
    display: none !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation.is-active:not([hidden]) {
    display: grid !important;
    grid-template-rows: auto auto !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation[hidden],
.xoo-wsc-container .tofaa-side-cart-recommendation:not(.is-active) {
    display: none !important;
}

/* Track nie jest karuzelą przesuwaną w osi X. Jest tylko kontenerem
   jednej aktywnej karty. */
.xoo-wsc-container .tofaa-side-cart-recommendations__track {
    display: block !important;
    width: 100% !important;
    transform: none !important;
    transition: none !important;
}

/* ============================================================
   V295 — przesuwana karuzela + korekta górnego prawego owocu
   ============================================================ */

/* Górny prawy zestaw owoców: dokładnie 10 px wyżej niż w 294. */
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit--1 {
    top: calc(31% - 87px) !important;
}

/* Podczas przesuwania viewport zawsze przycina obie nakładające się karty.
   Normalnie nadal widoczna jest dokładnie jedna rekomendacja. */
.xoo-wsc-container .tofaa-side-cart-recommendations__viewport,
.xoo-wsc-container .tofaa-side-cart-recommendations__track {
    overflow-x: hidden !important;
}

/* ============================================================
   V297 — separator rekomendacji + zwarty odstęp przed podsumowaniem
   ============================================================ */

/* Separator nad „Jeszcze więcej Tofaa!” — zawsze czarny 1 px. */
.xoo-wsc-container .tofaa-side-cart-recommendations {
    border-top: 1px solid #171717 !important;
    margin-bottom: 0 !important;
}

/* Usuwamy wyłącznie techniczny odstęp pod rekomendacjami.
   Nie zmieniamy flex-grow, wysokości ani sposobu scrollowania Side Cartu. */
.xoo-wsc-container .xoo-wsc-body:has(.tofaa-side-cart-recommendations) {
    padding-bottom: 0 !important;
}

/* Zostaje niewielki, kontrolowany oddech przed „Razem”, zamiast łącznego
   marginesu/paddingu ~48 px z body + sekcji + stopki. */
.xoo-wsc-container:has(.tofaa-side-cart-recommendations) .xoo-wsc-footer {
    padding-top: 12px !important;
}

/* ============================================================
   V298 — pojedynczy separator 1 px pod rekomendacją
   ============================================================ */

/* Wcześniej stykały się dwie linie 1 px: border-bottom karty i border-top
   stopki Side Cart. Zostawiamy tylko separator stopki, dzięki czemu wizualnie
   jest dokładnie jedna czarna kreska 1 px. */
.xoo-wsc-container .tofaa-side-cart-recommendation {
    border-bottom: 0 !important;
}
.xoo-wsc-container:has(.tofaa-side-cart-recommendations) .xoo-wsc-footer {
    border-top: 1px solid #171717 !important;
}

/* ============================================================
   V299 — paleta katalogu + animacja realnego dodawania do koszyka
   ============================================================ */

/* Rekomendacje używają dokładnie trzech teł z katalogu WooCommerce.
   Klasy tone mają pierwszeństwo nad dawnym mapowaniem po smaku. */
.xoo-wsc-container .tofaa-side-cart-recommendation.tofaa-side-cart-recommendation--tone-purple {
    --tofaa-rec-bg: #B083BC !important;
    background: #B083BC !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation.tofaa-side-cart-recommendation--tone-beige {
    --tofaa-rec-bg: #F8EAE1 !important;
    background: #F8EAE1 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation.tofaa-side-cart-recommendation--tone-green {
    --tofaa-rec-bg: #d1d635 !important;
    background: linear-gradient(145deg, rgba(209, 214, 53, .76), rgba(248, 234, 225, .96)) !important;
}

/* Klon produktu leci do ikony koszyka dopiero po potwierdzeniu AJAX. */
.tofaa-side-cart-fly-product {
    position: fixed !important;
    z-index: 2147483646 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    object-fit: contain !important;
    transform-origin: center center !important;
    filter: drop-shadow(0 10px 10px rgba(83,49,105,.24)) !important;
    will-change: transform, opacity, left, top, width, height !important;
}

.xoo-wsc-container .tofaa-side-cart-header-icon.tofaa-side-cart-cart-pop,
.xoo-wsc-container .xoo-wsch-basket.tofaa-side-cart-cart-pop {
    animation: tofaaSideCartCartPop299 .38s cubic-bezier(.2,.9,.25,1.35) both !important;
}
@keyframes tofaaSideCartCartPop299 {
    0%   { transform: scale(1); }
    45%  { transform: scale(1.18) rotate(-5deg); }
    100% { transform: scale(1); }
}

.xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-item-arrived,
.xoo-wsc-container .xoo-wsc-product-cont.tofaa-side-cart-item-arrived {
    animation: tofaaSideCartItemArrived299 .42s cubic-bezier(.22,1,.36,1) both !important;
}
@keyframes tofaaSideCartItemArrived299 {
    from { opacity: 0; transform: translateY(-10px) scale(.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .tofaa-side-cart-fly-product,
    .xoo-wsc-container .tofaa-side-cart-header-icon.tofaa-side-cart-cart-pop,
    .xoo-wsc-container .xoo-wsch-basket.tofaa-side-cart-cart-pop,
    .xoo-wsc-container .xoo-wsc-product.tofaa-side-cart-item-arrived,
    .xoo-wsc-container .xoo-wsc-product-cont.tofaa-side-cart-item-arrived {
        animation: none !important;
        transition: none !important;
    }
}

/* ============================================================
   V300 — kolory/gradienty/hover rekomendacji 1:1 z katalogiem
   + batoniki większe o 30%
   ============================================================ */

/* --- TŁA KART: dokładnie ta sama paleta co tofaa-store-palette.css --- */
.xoo-wsc-container .tofaa-side-cart-recommendation.tofaa-side-cart-recommendation--tone-purple {
    --tofaa-rec-bg: #B083BC !important;
    background: #B083BC !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation.tofaa-side-cart-recommendation--tone-beige {
    --tofaa-rec-bg: #F8EAE1 !important;
    background: #F8EAE1 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation.tofaa-side-cart-recommendation--tone-green {
    --tofaa-rec-bg: #d1d635 !important;
    background: linear-gradient(
        145deg,
        rgba(209, 214, 53, .76),
        rgba(248, 234, 225, .96)
    ) !important;
}

/* --- KÓŁKO: geometria i płynność jak w katalogu --- */
.xoo-wsc-container .tofaa-side-cart-recommendation__halo {
    overflow: hidden !important;
    background: #F8EAE1 !important;
    transform: scale(.90) !important;
    transition:
        transform .75s cubic-bezier(.2, .8, .2, 1),
        background-color .58s cubic-bezier(.22, .61, .36, 1) !important;
}

/* Ten sam radialny połysk/gradient nakładany na kolor bazowy koła. */
.xoo-wsc-container .tofaa-side-cart-recommendation__halo::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    pointer-events: none !important;
    background: radial-gradient(
        circle at 34% 28%,
        rgba(255, 255, 255, .38) 0%,
        rgba(255, 255, 255, .13) 38%,
        rgba(0, 0, 0, .055) 100%
    ) !important;
}

/* Zielona karta: katalogowo beżowe koło -> zielone po hover/focus. */
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-green .tofaa-side-cart-recommendation__halo {
    background: #F8EAE1 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-green:hover .tofaa-side-cart-recommendation__halo,
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-green:focus-within .tofaa-side-cart-recommendation__halo {
    background: #D1D635 !important;
    transform: scale(1.08) !important;
}

/* Fioletowa karta: zgodnie z katalogiem/użytkowym wzorcem beż -> ciemny fiolet. */
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-purple .tofaa-side-cart-recommendation__halo {
    background: #F8EAE1 !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-purple:hover .tofaa-side-cart-recommendation__halo,
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-purple:focus-within .tofaa-side-cart-recommendation__halo {
    background: #7C4FA0 !important;
    transform: scale(1.08) !important;
}

/* Beżowa karta: jasny fiolet -> zielony, jak karta katalogowa. */
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-beige .tofaa-side-cart-recommendation__halo {
    background: #B083BC !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-beige:hover .tofaa-side-cart-recommendation__halo,
.xoo-wsc-container .tofaa-side-cart-recommendation--tone-beige:focus-within .tofaa-side-cart-recommendation__halo {
    background: #D1D635 !important;
    transform: scale(1.08) !important;
}

/* Dolny panel ma ten sam półprzezroczysty beż i blur co karta katalogowa. */
.xoo-wsc-container .tofaa-side-cart-recommendation__footer {
    background: rgba(248, 234, 225, .30) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* --- OBRAZ PRODUKTU: +30% względem obecnego Side Cartu ---
   350px -> 455px, 176px -> 228.8px. Nie powiększamy kółka ani samej karty. */
.xoo-wsc-container .tofaa-side-cart-recommendation__product-image {
    width: min(109.2%, 455px) !important;
    max-width: 455px !important;
    height: auto !important;
    max-height: 229px !important;
    filter: drop-shadow(0 28px 26px rgba(83, 49, 105, .22)) !important;
    transform: translate3d(0, 10px, 0) rotate(0deg) scale(.96) !important;
    transform-origin: 50% 62% !important;
    transition:
        transform .72s cubic-bezier(.2, .8, .2, 1),
        filter .55s ease !important;
}

/* Tak samo jak w katalogu: delikatnie różny kierunek bazowy kolejnych kart. */
.xoo-wsc-container .tofaa-side-cart-recommendation:nth-child(odd) .tofaa-side-cart-recommendation__product-image {
    transform: translate3d(0, 10px, 0) rotate(-2deg) scale(.96) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:nth-child(3n) .tofaa-side-cart-recommendation__product-image {
    transform: translate3d(0, 10px, 0) rotate(2deg) scale(.96) !important;
}

.xoo-wsc-container .tofaa-side-cart-recommendation:hover .tofaa-side-cart-recommendation__product-image,
.xoo-wsc-container .tofaa-side-cart-recommendation:focus-within .tofaa-side-cart-recommendation__product-image {
    filter: drop-shadow(0 42px 34px rgba(83, 49, 105, .28)) !important;
    transform: translate3d(0, -24px, 0) rotate(-4deg) scale(1.07) !important;
}
.xoo-wsc-container .tofaa-side-cart-recommendation:nth-child(3n):hover .tofaa-side-cart-recommendation__product-image,
.xoo-wsc-container .tofaa-side-cart-recommendation:nth-child(3n):focus-within .tofaa-side-cart-recommendation__product-image {
    transform: translate3d(0, -24px, 0) rotate(4deg) scale(1.07) !important;
}

@media (max-width: 460px) {
    /* Mobilne maksimum 158px -> ~205px (+30%). */
    .xoo-wsc-container .tofaa-side-cart-recommendation__product-image {
        max-height: 205px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .xoo-wsc-container .tofaa-side-cart-recommendation__halo,
    .xoo-wsc-container .tofaa-side-cart-recommendation__product-image {
        transition: none !important;
    }
    .xoo-wsc-container .tofaa-side-cart-recommendation:hover .tofaa-side-cart-recommendation__product-image,
    .xoo-wsc-container .tofaa-side-cart-recommendation:focus-within .tofaa-side-cart-recommendation__product-image {
        transform: none !important;
    }
}

/* ============================================================
   V301 — rekomendacje 10 / korekty owocu i ceny jednostkowej
   ============================================================ */

/* Górny prawy owoc jeszcze 10 px wyżej względem V300. */
.xoo-wsc-container .tofaa-side-cart-recommendation__fruit--1 {
    top: calc(31% - 97px) !important;
}

/* Cena jednostkowa: prawdziwy Rubik, zwykła grubość. Obejmuje również
   wewnętrzny .amount/bdi generowany przez WooCommerce. */
.xoo-wsc-container .xoo-wsc-pprice,
.xoo-wsc-container .xoo-wsc-pprice *,
.xoo-wsc-container .xoo-wsc-card-price,
.xoo-wsc-container .xoo-wsc-card-price * {
    font-family: "Rubik", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
}

/* ============================================================
   V302 — typografia ceny, badge nagłówka i przycisk zamknięcia
   ============================================================ */

/* Cena jednostkowa — Rubik regular. Symbol waluty pozostaje małymi literami. */
.xoo-wsc-container .xoo-wsc-pprice,
.xoo-wsc-container .xoo-wsc-pprice .amount,
.xoo-wsc-container .xoo-wsc-pprice bdi,
.xoo-wsc-container .xoo-wsc-pprice .woocommerce-Price-currencySymbol,
.xoo-wsc-container .xoo-wsc-card-price,
.xoo-wsc-container .xoo-wsc-card-price .amount,
.xoo-wsc-container .xoo-wsc-card-price bdi,
.xoo-wsc-container .xoo-wsc-card-price .woocommerce-Price-currencySymbol {
    font-family: "Rubik", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-synthesis: none !important;
    font-variation-settings: "wght" 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.xoo-wsc-container .xoo-wsc-pprice .woocommerce-Price-currencySymbol,
.xoo-wsc-container .xoo-wsc-card-price .woocommerce-Price-currencySymbol {
    font-weight: 400 !important;
    text-transform: lowercase !important;
}

/* Licznik w nagłówku Side Cart = geometria i styl badge'a z navbara. */
.xoo-wsc-container .xoo-wsch-items-count,
.xoo-wsc-container span.xoo-wsch-items-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 23px !important;
    width: auto !important;
    height: 23px !important;
    padding: 0 6px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #171717 !important;
    border-radius: 999px !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    color: #7C4FA0 !important;
    box-shadow: none !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Zamknięcie Side Cart: zielone koło 1 px, krzyżyk geometrycznie w centrum. */
.xoo-wsc-container .xoo-wsch-new .xoo-wsch-close,
.xoo-wsc-container span.xoo-wsch-close {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 4px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #171717 !important;
    border-radius: 50% !important;
    background: #d1d635 !important;
    background-color: #d1d635 !important;
    color: #7C4FA0 !important;
    opacity: 1 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    transform: none !important;
    box-shadow: none !important;
}
.xoo-wsc-container span.xoo-wsch-close::before {
    content: "×" !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 0 1px !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}
.xoo-wsc-container .xoo-wsch-new .xoo-wsch-close:hover,
.xoo-wsc-container span.xoo-wsch-close:hover,
.xoo-wsc-container .xoo-wsch-new .xoo-wsch-close:focus-visible,
.xoo-wsc-container span.xoo-wsch-close:focus-visible {
    background: #d1d635 !important;
    opacity: 1 !important;
    transform: none !important;
    outline: none !important;
}

/* Side Cart hardening — unit price typography */
.xoo-wsc-container .xoo-wsc-pprice,
.xoo-wsc-container .xoo-wsc-pprice .amount,
.xoo-wsc-container .xoo-wsc-pprice bdi,
.xoo-wsc-container .xoo-wsc-pprice .woocommerce-Price-currencySymbol,
.xoo-wsc-container .xoo-wsc-card-price,
.xoo-wsc-container .xoo-wsc-card-price .amount,
.xoo-wsc-container .xoo-wsc-card-price bdi,
.xoo-wsc-container .xoo-wsc-card-price .woocommerce-Price-currencySymbol {
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-synthesis: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* ============================================================
   V305 — stabilny layout qty/kosza bez przenoszenia DOM przez JS
   ============================================================ */

/*
 * Od 305 PHP renderuje .tofaa-side-cart-actions od razu jako bezpośrednie
 * dziecko produktu. Dzięki display:contents na natywnych wrapperach pluginu
 * wszystkie elementy uczestniczą w JEDNYM gridzie produktu i po każdym AJAX
 * mają od razu prawidłową pozycję — bez jakiegokolwiek appendChild().
 */
.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
        "image details total"
        "image actions total" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 6px !important;
}

.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) > .xoo-wsc-img-col {
    grid-area: image !important;
    align-self: center !important;
    width: 64px !important;
    min-width: 64px !important;
    margin: 0 !important;
}

.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) > .xoo-wsc-sum-col,
.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) > .xoo-wsc-sum-col > .xoo-wsc-sm-info {
    display: contents !important;
}

.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) .xoo-wsc-sm-left {
    grid-area: details !important;
    align-self: end !important;
    min-width: 0 !important;
    width: auto !important;
}

.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) .xoo-wsc-sm-right {
    grid-area: total !important;
    align-self: center !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: max-content !important;
    padding: 0 !important;
}

.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) > .tofaa-side-cart-actions {
    grid-area: actions !important;
    align-self: start !important;
    justify-self: start !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* Natywny kosz pluginu pozostaje w DOM (kompatybilność), ale gdy istnieje
   nasz stabilny wrapper akcji, wyświetlamy tylko własny trigger obok qty. */
.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) .xoo-wsc-sm-right > .xoo-wsc-smr-del,
.xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) > .xoo-wsc-img-col > .xoo-wsc-smr-del {
    display: none !important;
}

.xoo-wsc-container .tofaa-side-cart-remove {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #7C4FA0 !important;
    box-shadow: none !important;
    opacity: .78 !important;
    cursor: pointer !important;
    transition: opacity .16s ease, transform .16s ease !important;
}
.xoo-wsc-container .tofaa-side-cart-remove .xoo-wsc-icon-trash {
    display: block !important;
    color: #7C4FA0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}
.xoo-wsc-container .tofaa-side-cart-remove:hover,
.xoo-wsc-container .tofaa-side-cart-remove:focus-visible {
    color: #7C4FA0 !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 460px) {
    .xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) {
        grid-template-columns: 56px minmax(0, 1fr) auto !important;
        column-gap: 9px !important;
    }
    .xoo-wsc-container .xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product:has(> .tofaa-side-cart-actions) > .xoo-wsc-img-col {
        width: 56px !important;
        min-width: 56px !important;
    }
}

/* ============================================================
   V308 — punkty #Tofaanklubu w Side Cart
   ============================================================ */
.xoo-wsc-container .tofaa-points-preview--sidecart {
    margin: 10px 0 2px !important;
    padding: 10px 11px !important;
    border: 1px solid #171717 !important;
    border-radius: 12px !important;
    background: #f8eae1 !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-align: left !important;
}
.xoo-wsc-container .tofaa-points-preview__copy,
.xoo-wsc-container .tofaa-points-preview__copy * {
    font-family: "Rubik", Arial, sans-serif !important;
}
.xoo-wsc-container .tofaa-points-preview a {
    color: #7C4FA0 !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
.xoo-wsc-container .tofaa-points-preview__points {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}
.xoo-wsc-container .tofaa-points-preview__points > strong {
    color: #7C4FA0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}
.xoo-wsc-container .tofaa-points-preview__mark {
    position: relative !important;
    display: inline-block !important;
    width: 25px !important;
    height: 25px !important;
    overflow: hidden !important;
    border: 1px solid #171717 !important;
    border-radius: 50% !important;
    background: #d1d635 !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}
.xoo-wsc-container .tofaa-points-preview__mark img {
    position: absolute !important;
    top: -5px !important;
    left: 1px !important;
    width: 100px !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
}

/* ============================================================
   V309 — punkty Side Cart: mniejsze linki + czysty znak T
   ============================================================ */
.xoo-wsc-container .tofaa-points-preview--sidecart a,
.xoo-wsc-container .tofaa-points-preview--sidecart .tofaa-points-preview__copy a {
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}
.xoo-wsc-container .tofaa-points-preview__mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.xoo-wsc-container .tofaa-points-preview__mark img {
    position: static !important;
    display: block !important;
    width: 13px !important;
    height: 15px !important;
    max-width: 13px !important;
    max-height: 15px !important;
    object-fit: contain !important;
    margin: 0 !important;
}

/* ============================================================
   Tofaa 3.07 — cena jednostkowa 1:1 jak na stronie produktu
   ============================================================ */

/* Zwykłe pozycje side cartu. */
.xoo-wsc-container .xoo-wsc-pprice,
.xoo-wsc-container .xoo-wsc-card-price {
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: clamp(12px, .96vw, 16.8px) !important;
    font-weight: 600 !important;
    font-style: normal !important;
    font-synthesis: none !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    opacity: 1 !important;
}

.xoo-wsc-container .xoo-wsc-pprice .amount,
.xoo-wsc-container .xoo-wsc-pprice bdi,
.xoo-wsc-container .xoo-wsc-pprice .woocommerce-Price-currencySymbol,
.xoo-wsc-container .xoo-wsc-card-price .amount,
.xoo-wsc-container .xoo-wsc-card-price bdi,
.xoo-wsc-container .xoo-wsc-card-price .woocommerce-Price-currencySymbol {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 900 !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
}

/* Karty rekomendacji wewnątrz side cartu — nie ruszamy głównej ceny,
   tylko mały wiersz ceny jednostkowej dodawany przez WooCommerce. */
.xoo-wsc-container .tofaa-side-cart-recommendation__price .tofaa-unit-price {
    display: block !important;
    margin-top: 4px !important;
    color: #7C4FA0 !important;
    font-family: "Rubik", Arial, sans-serif !important;
    font-size: clamp(12px, .96vw, 16.8px) !important;
    font-weight: 600 !important;
    font-style: normal !important;
    font-synthesis: none !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.xoo-wsc-container .tofaa-side-cart-recommendation__price .tofaa-unit-price .amount,
.xoo-wsc-container .tofaa-side-cart-recommendation__price .tofaa-unit-price bdi,
.xoo-wsc-container .tofaa-side-cart-recommendation__price .tofaa-unit-price .woocommerce-Price-currencySymbol {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 900 !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
}
