/* =====================================================================
   ====================  KOSZYK — redesign premium  ====================
   Strona /koszyk/ (pierwszy krok). Port z ecobedding 2026-09-24, paleta hurtu = AnimaxKot:
   limonka --global-palette1 #bcd138 = TŁO przycisków (ciemny tekst #1d1d12 — biały na limonce nieczytelny),
   oliwka --global-palette3 #454527 = tekst akcentowy i hover.
   (spójny z checkoutem/logowaniem). Layout Kadence (floaty 70/30) → grid 65/35 z kafelkami.
   ===================================================================== */

/* 1. Tło strony + odcięcie kafelków */
body.woocommerce-cart {
    background: #f8f9fa;
}
.woocommerce-cart,
.woocommerce-cart .entry.content-bg,
.woocommerce-cart .content-bg.single-entry,
.woocommerce-cart .entry-content-wrap {
    background: transparent;
}

/* 1b. Dwie kolumny 65/35 (nadpisanie floatów Kadence na grid) */
.woocommerce-cart .kadence-woo-cart-form-wrap {
    display: grid;
    grid-template-columns: minmax(0, 70fr) minmax(0, 30fr);
    gap: 56px;   /* 40 → 56: większy oddech między kartami (Emila 2026-09-11, koszyk7.png) */
    align-items: start;
    max-width: 1350px;
    margin-left: auto;
    margin-right: auto;
}
.woocommerce-cart .kadence-woo-cart-form-wrap::before,
.woocommerce-cart .kadence-woo-cart-form-wrap::after {
    display: none;
}
.woocommerce-cart .kadence-woo-cart-form-wrap > form.woocommerce-cart-form {
    float: none;
    width: auto;
    /* UWAGA: ta reguła (0,3,1) bije padding karty z 1c (0,2,1). Wcześniejsze `padding-right: 0`
       (neutralizacja floatów Kadence) zerowało prawy padding karty → tabela dochodziła do krawędzi
       (koszyk7.png, Emila 2026-09-11). Padding karty ustawiony tutaj jawnie, symetrycznie. */
    padding: 1.75rem;
    margin: 0;
}
.woocommerce-cart .kadence-woo-cart-form-wrap .cart-collaterals {
    float: none;
    width: auto;
}

/* 1c. Kafelki (czysta biel, zaokrąglone, subtelny cień odcinający od tła strony) */
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart_totals {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    padding: 1.75rem;
}

/* 2. Nagłówki (elegancki, nowoczesny font) */
.woocommerce-cart .cart-summary h2,
.woocommerce-cart .cart_totals h2 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #1f2a24;
    margin: 0 0 1.25rem 0;
    padding-bottom: 0.9rem;
    border-bottom: 2px solid #f0f0ee;
}
.woocommerce-cart .cart-summary {
    margin: 0;
}

/* 3. Tabela produktów — width:100% + box-sizing, żeby NIC nie wychodziło poza kafelek */
.woocommerce-cart form.woocommerce-cart-form {
    min-width: 0; /* pozwól grid-itemowi się kurczyć (brak overflow) */
}
.woocommerce-cart .woocommerce-cart-form__contents {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: none;
    margin: 0;
}
.woocommerce-cart .woocommerce-cart-form__contents th,
.woocommerce-cart .woocommerce-cart-form__contents td {
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: break-word;
}
.woocommerce-cart .woocommerce-cart-form__contents thead th {
    border: none;
    border-bottom: 1px solid #ececec;
    padding: 0 0.5rem 0.75rem 0.5rem;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9ca3af;
    background: transparent;
    text-align: left;
    white-space: nowrap; /* „KWOTA" nie łamie się na KWOT+A */
}
.woocommerce-cart .woocommerce-cart-form__contents td {
    border: none;
    border-bottom: 1px solid #f2f2f0;
    padding: 1rem 0.5rem;
    vertical-align: middle;
    background: transparent;
    text-align: left;
}
.woocommerce-cart .woocommerce-cart-form__contents td.product-price,
.woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal,
.woocommerce-cart .woocommerce-cart-form__contents th.product-price,
.woocommerce-cart .woocommerce-cart-form__contents th.product-subtotal {
    text-align: right;
}
/* Kwota/cena zawsze w jednej linii — „1140.00 zł" łamało „zł" do nowej linii (big bag,
   screen koszyk3.png, Emila 2026-09-10). Nadpisuje word-break z ogólnej reguły td. */
.woocommerce-cart .woocommerce-cart-form__contents td.product-price,
.woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}
.woocommerce-cart .woocommerce-cart-form__contents td.product-quantity,
.woocommerce-cart .woocommerce-cart-form__contents th.product-quantity {
    text-align: center;
}
.woocommerce-cart .woocommerce-cart-form__contents td.product-remove {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}
/* Miniaturka produktu — przywrócona, ~74px, zaokrąglona */
.woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail {
    text-align: center;
}
.woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail img {
    width: 74px;
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    display: inline-block;
}
/* 3a. Nazwa produktu — bez surowego podkreślenia, ciemny elegancki tekst */
.woocommerce-cart .product-name a {
    color: #2c2c2c !important;   /* hurt: coś (Kadence) malowało link na biało — niewidoczne nazwy, 24.09 */
    font-weight: 600;
    text-decoration: none;
    transition: color 0.18s ease;
}
.woocommerce-cart .product-name a:hover {
    color: var(--global-palette3, #454527);
    text-decoration: underline;
}

/* 3b. Selektor ilości — jedna pigułka [-] [ CYFRA ] [+].
   UWAGA: Kadence Pro dodaje .spinners-added + input.minus/.plus do .quantity.
   Stylujemy JEGO pigułkę (i nasz fallback .animax-qty-btn), !important by wygrać
   z globalną regułą Kadence `.quantity.spinners-added .qty{width:2.3em}`. */
.woocommerce-cart .quantity,
.woocommerce-cart .quantity.spinners-added {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e2df !important;
    border-radius: 8px !important;
    background: #fff !important;
    height: 40px;
    padding: 0 !important;
    /* BEZ overflow:hidden i max-width — inaczej wąska kolumna przycina przyciski */
    overflow: visible;
    width: max-content;
}
/* Przyciski − / + (Kadence input.minus/.plus ORAZ nasz fallback .animax-qty-btn) */
/* Wspólny box przycisków (moje <button> ORAZ ewentualne input.minus/.plus Kadence) */
.woocommerce-cart .quantity.spinners-added input.minus,
.woocommerce-cart .quantity.spinners-added input.plus,
.woocommerce-cart .quantity .animax-qty-btn {
    width: 38px !important;
    flex: 0 0 38px;
    height: 38px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f3f3f1 !important;
    color: #7c7c7c !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 38px !important;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
    transition: background 0.15s ease, color 0.15s ease;
}
/* Input-buttony Kadence (gdyby wystąpiły) — centrowanie przez font/line-height */
.woocommerce-cart .quantity.spinners-added input.minus,
.woocommerce-cart .quantity.spinners-added input.plus {
    font-size: 18px !important;
}
/* MOJE przyciski — glif rysowany pseudo-elementem (idealnie wyśrodkowany, niezależny od fontu) */
.woocommerce-cart .quantity .animax-qty-btn {
    position: relative;
    font-size: 0 !important; /* ukryj tekstowy − / + */
    display: inline-block;
}
.woocommerce-cart .quantity .animax-qty-minus::before,
.woocommerce-cart .quantity .animax-qty-plus::before,
.woocommerce-cart .quantity .animax-qty-plus::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; /* top/right/bottom/left:0 + margin:auto = idealny środek w obu osiach */
    background: currentColor;
    border-radius: 1px;
}
.woocommerce-cart .quantity .animax-qty-minus::before,
.woocommerce-cart .quantity .animax-qty-plus::before {
    width: 11px;
    height: 2px; /* pozioma kreska (− oraz poziom +) — subtelna */
}
.woocommerce-cart .quantity .animax-qty-plus::after {
    width: 2px;
    height: 11px; /* pionowa kreska (+) */
}
/* Zaokrąglone zewnętrzne rogi skrajnych przycisków (brak overflow:hidden na pigułce) */
.woocommerce-cart .quantity .animax-qty-minus {
    border-radius: 7px 0 0 7px !important;
}
.woocommerce-cart .quantity .animax-qty-plus {
    border-radius: 0 7px 7px 0 !important;
}
.woocommerce-cart .quantity.spinners-added input.minus:hover,
.woocommerce-cart .quantity.spinners-added input.plus:hover,
.woocommerce-cart .quantity .animax-qty-btn:hover {
    background: var(--global-palette1, #bcd138) !important;
    color: #1d1d12 !important;
}
/* Cyfra — POMIĘDZY przyciskami, w pełni widoczna, wyśrodkowana */
.woocommerce-cart .quantity .qty,
.woocommerce-cart .quantity.spinners-added .qty {
    width: 48px !important;
    flex: 0 0 48px;
    min-width: 0;
    height: 38px !important;
    line-height: 38px !important;
    border: 0 !important;
    border-left: 1px solid #e2e2df !important;
    border-right: 1px solid #e2e2df !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 600;
    color: #2c2c2c !important;
    -webkit-text-fill-color: #2c2c2c !important;
    background: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
    -moz-appearance: textfield;
    -webkit-appearance: none;
    appearance: none;
    padding: 0 !important;
    box-shadow: none !important;
}
.woocommerce-cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Ilość STAŁA (WC hidden input, np. max=1) — statyczna liczba, bez przycisków */
.woocommerce-cart .quantity.animax-qty-fixed {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 40px;
    padding: 0 !important;
    border: 1px solid #e2e2df !important;
    border-radius: 8px !important;
    background: #fff !important;
}
.woocommerce-cart .quantity.animax-qty-fixed input.qty {
    display: none !important;
}
.woocommerce-cart .quantity.animax-qty-fixed .animax-qty-static {
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #2b2b2b;
    text-align: center;
}

/* 3c. Usuwanie produktu — mała, stonowana ikona kosza (18px) zamiast czerwonego X */
.woocommerce-cart td.product-remove a.remove {
    display: inline-block;
    width: 18px;
    height: 18px;
    font-size: 0 !important;
    color: transparent !important;
    background-color: #b0b0b0;
    border-radius: 0;
    transform: none !important; /* reset Kadence translateY(10px) */
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: background-color 0.18s ease;
}
.woocommerce-cart td.product-remove a.remove:hover {
    background-color: #6b7280;
}

/* 4. Sekcja kuponu — WAŻNE: NIE display:flex na <td> (psuje table-layout:fixed
   i kolapsuje kolumnę → pionowy pasek). Zostaje table-cell, layout robią dzieci. */
.woocommerce-cart .woocommerce-cart-form__contents td.actions {
    padding: 1.5rem 0 0 0; /* left:0 → kupon wyrównany do lewej krawędzi tabeli = przycisk poniżej */
    border-bottom: none;
    text-align: left;
}
.woocommerce-cart td.actions .coupon {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    align-items: stretch;
    width: 100%;
    max-width: 460px;
}
/* Ukryj screen-reader label (mógł tworzyć „pionowy prostokąt" jako flex-item) */
.woocommerce-cart td.actions .coupon > label {
    display: none;
}
.woocommerce-cart td.actions .coupon #coupon_code {
    flex: 1 1 auto;
    min-width: 180px;
    height: 44px;
    border: 1px solid #d9cfc0; /* wspólne obramowanie z „Kontynuuj zakupy" */
    border-radius: 8px;
    padding: 0 1rem;
    font-size: 14px;
    line-height: 44px;
    color: #2c2c2c;
    background: #fff;
    box-sizing: border-box;
}
.woocommerce-cart td.actions .coupon #coupon_code::placeholder {
    color: #9ca3af;
    opacity: 1;
}
.woocommerce-cart td.actions .coupon #coupon_code:focus {
    outline: none;
    border-color: var(--global-palette1, #bcd138);
}
.woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
    flex: 0 0 auto;
    height: 44px;
    border-radius: 8px;
    padding: 0 1.25rem;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    background: #f2efe9;
    color: var(--global-palette3, #454527);
    border: 1px solid #e6dfd3;
    transition: background 0.18s ease, color 0.18s ease;
}
.woocommerce-cart td.actions .coupon button[name="apply_coupon"]:hover {
    background: var(--global-palette1, #bcd138);
    color: #1d1d12;
    border-color: var(--global-palette1, #bcd138);
}
/* Auto-update leci AJAX-em (cart-qty.js) → całkowicie ukryj natywny przycisk.
   Zostaje w DOM (klikany programowo jako fallback), ale niewidoczny dla usera. */
.woocommerce-cart td.actions button[name="update_cart"] {
    display: none !important;
}

/* Wskaźnik trwającej aktualizacji AJAX */
.woocommerce-cart .woocommerce-cart-form.animax-cart-updating {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

/* 4b. „Kontynuuj zakupy" — przycisk drugorzędny (dół lewego kafelka) */
.woocommerce-cart .animax-cart-continue {
    margin-top: 1.5rem;
}
.woocommerce-cart .animax-continue-shopping {
    display: inline-block;
    padding: 12px 24px;
    border: 1px solid var(--global-palette2, #9ca757);
    border-radius: 8px;
    background: transparent;
    color: var(--global-palette3, #454527);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.woocommerce-cart .animax-continue-shopping:hover {
    background: var(--global-palette1, #bcd138);
    border-color: var(--global-palette1, #bcd138);
    color: #1d1d12;
}

/* 5. Panel podsumowania (prawa strona) */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals {
    min-width: 0; /* grid-item może się kurczyć */
}
.woocommerce-cart .cart_totals table {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    table-layout: fixed;
    border: none;
    margin: 0;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border: none;
    border-bottom: 1px solid #f0f0ee;
    padding: 0.9rem 0;
    background: transparent;
    box-sizing: border-box;
    overflow-wrap: break-word;
}
.woocommerce-cart .cart_totals table th {
    width: 45%;
}
.woocommerce-cart .cart_totals table td {
    width: 55%;
}
.woocommerce-cart .cart_totals table th {
    text-align: left;
    font-weight: 500;
    color: #6b7280;
}
.woocommerce-cart .cart_totals table td {
    text-align: right;
    font-weight: 600;
    color: #1f2a24;
}
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
    border-bottom: none;
    padding-top: 1.1rem;
    font-size: 18px;
}
.woocommerce-cart .cart_totals table tr.order-total td strong {
    font-size: 20px;
}
.woocommerce-cart .cart_totals table small.includes_tax {
    display: block;
    font-weight: 400;
    color: #6b6b56 !important;   /* ciemniej — na jasnolimonkowym boksie „Łącznie" #9ca3af był nieczytelny */
    font-size: 12px;
}
.woocommerce-cart .cart_totals table small.includes_tax .amount {
    color: #6b6b56 !important;
}
/* Wiersz „Wartość produktów" (subtotal) domyślnie ukryty — bez kuponu jest dublem „Łącznie".
   ALE gdy jest rabat (wiersz .cart-discount = kupon), POKAŻ go, żeby widać było kwotę
   sprzed rabatu → nad rabatem i sumą końcową. */
.woocommerce-cart .cart_totals table tr.cart-subtotal {
    display: none;
}
.woocommerce-cart .cart_totals table:has(tr.cart-discount) tr.cart-subtotal,
.woocommerce-cart .cart_totals table:has(tr.fee) tr.cart-subtotal {   /* hurt: promocja = ujemna opłata (fee) */
    display: table-row;
}
/* Etykieta „Przed rabatem:" jest teraz prawdziwym tekstem <th> w szablonie
   woocommerce/cart/cart-totals.php (bez hacków font-size:0/::after). */
.woocommerce-cart .cart_totals table tr.cart-subtotal th {
    white-space: nowrap; /* etykieta w jednej linii z kwotą */
}
/* Wyrównanie etykiet i kwot w podsumowaniu do środka w pionie */
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    vertical-align: middle;
}
/* Kwota „Przed rabatem" — nieco większa czcionka */
.woocommerce-cart .cart_totals table tr.cart-subtotal td {
    font-size: 17px;
}

/* 5b. Przycisk „Przejdź do płatności" — markowy brąz, premium */
.woocommerce-cart .wc-proceed-to-checkout {
    padding-top: 1.25rem;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    box-sizing: border-box;   /* width:100% + padding wystawal poza kafelek (hurt 24.09) */
    width: 100%;
    text-align: center;
    background: var(--global-palette1, #bcd138);
    color: #1d1d12;
    border: none;
    border-radius: 8px;
    padding: 15px 30px;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--global-palette3, #454527);
    box-shadow: 0 6px 18px rgba(188, 209, 56, 0.28);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
    transform: translateY(1px);
}

/* 8. Wygląd hurtu — spokojna baza + JEDEN akcent (Emila 2026-09-24, screenshots_hurt/koszyk1.png:
   „nieczytelnie, kolory nie pasują"). Zamiast akcentów z ecobedding (limonkowy pasek nagłówka tabeli,
   limonkowe podkreślenia, tint „Łącznie", 4 różne style przycisków):
   - grafitowy tekst #1f1f17, szarości z nutą oliwki (#6b6b5e, #e6e6df, #f6f6f1),
   - limonka TYLKO na głównym przycisku „Przejdź do zamówienia",
   - wszystkie pozostałe przyciski (kupon, B2BKing) = jeden styl drugorzędny (biały, obrys),
   - „Kontynuuj zakupy" = link tekstowy. */
.woocommerce-cart .cart-summary h2,
.woocommerce-cart .cart_totals h2 {
    font-size: 22px;
    color: #1f1f17;
    border-bottom: 1px solid #e6e6df;
    padding-bottom: 0.85rem;
    margin-bottom: 0.5rem;
}
.woocommerce-cart .woocommerce-cart-form__contents thead th {
    background: transparent;
    color: #6b6b5e;
    font-size: 11.5px;
    letter-spacing: 0.07em;
    border-bottom: 1px solid #e6e6df;
    padding: 0.9rem 0.5rem 0.7rem;
}
.woocommerce-cart .woocommerce-cart-form__contents td {
    border-bottom-color: #efefe9;
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}
.woocommerce-cart .product-name a {
    font-size: 15px;
    line-height: 1.4;
    color: #1f1f17 !important;
}
.woocommerce-cart .woocommerce-cart-form__contents td.product-price {
    color: #55554a;
}
.woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal {
    font-weight: 700;
    color: #1f1f17;
}
.woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail img {
    width: 64px;
    border: 1px solid #efefe9;
    border-radius: 8px;
    background: #fff;
}
.woocommerce-cart .quantity .animax-qty-btn {
    background: #f6f6f1 !important;
    color: #454527 !important;
}
.woocommerce-cart .quantity .animax-qty-btn:hover {
    background: #e9ecc6 !important;
    color: #1f1f17 !important;
}
.woocommerce-cart td.product-remove a.remove:hover {
    background-color: #b0361f;
}

/* Akcje pod tabelą: kupon po lewej, przyciski B2BKing obok siebie po prawej — jeden styl */
.woocommerce-cart td.actions {
    padding-top: 1.25rem !important;
    text-align: left !important;   /* WC core: td.actions text-align:right — przyciski B2BKing pod kuponem, od lewej */
}
.woocommerce-cart td.actions .coupon {
    float: none !important;
    margin-bottom: 0.75rem;   /* rząd 1: kupon; rząd 2: przyciski B2BKing (w jednej linii nie mieszczą się — 24.09) */
    max-width: 420px;
}
.woocommerce-cart td.actions .coupon #coupon_code {
    border-color: #d9d9cf;
}
.woocommerce-cart td.actions .coupon #coupon_code:focus {
    border-color: #454527;
}
.woocommerce-cart td.actions .coupon button[name="apply_coupon"],
.woocommerce-cart td.actions #b2bking_request_custom_quote_button,
.woocommerce-cart td.actions .b2bking_add_cart_to_purchase_list_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 44px !important;
    box-sizing: border-box;
    padding: 0 1.1rem !important;
    margin: 0 !important;
    border: 1px solid #d9d9cf !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #1f1f17 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    white-space: nowrap;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.woocommerce-cart td.actions .coupon button[name="apply_coupon"]:hover,
.woocommerce-cart td.actions #b2bking_request_custom_quote_button:hover,
.woocommerce-cart td.actions .b2bking_add_cart_to_purchase_list_button:hover {
    border-color: #454527 !important;
    background: #f6f6f1 !important;
    color: #1f1f17 !important;
}
.woocommerce-cart td.actions #b2bking_request_custom_quote_button,
.woocommerce-cart td.actions .b2bking_add_cart_to_purchase_list_button {
    float: none;
    margin: 0 0.5rem 0.5rem 0 !important;
}

/* „Kontynuuj zakupy" — link tekstowy (nie trzeci typ przycisku) */
.woocommerce-cart .animax-cart-continue {
    clear: both;
    margin-top: 1.25rem;
}
.woocommerce-cart .animax-continue-shopping {
    padding: 0;
    border: 0;
    background: none;
    color: #454527;
    font-weight: 600;
}
.woocommerce-cart .animax-continue-shopping:hover {
    background: none;
    color: #1f1f17;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Podsumowanie: czytelne wiersze, suma wyróżniona wielkością, nie kolorowym boksem */
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border-bottom-color: #efefe9;
    color: #1f1f17;
}
/* Bez bocznych ramek i wcięć Kadence (shop_table th/td padding 12px) — wszystkie wiersze równo do krawędzi */
.woocommerce-cart .cart_totals table,
.woocommerce-cart .cart_totals table tr,
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border-left: 0 !important;
    border-right: 0 !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.woocommerce-cart td.actions #coupon_code {
    height: 44px !important;
    box-sizing: border-box;
}
.woocommerce-cart .cart_totals table th {
    color: #55554a;
    font-weight: 500;
}
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
    background: transparent;
    border-radius: 0;
    border-top: 1px solid #d9d9cf;
    padding: 1.1rem 0 0.4rem;
}
.woocommerce-cart .cart_totals table tr.order-total th {
    color: #1f1f17;
    font-size: 17px;
    font-weight: 700;
    vertical-align: top;
}
.woocommerce-cart .cart_totals table tr.order-total td strong {
    color: #1f1f17;
    font-size: 24px;
    font-weight: 800;
}
.woocommerce-cart .cart_totals table tr.fee td {
    color: #3b6e1f;   /* rabat „Pierwszaki" — ciemna zieleń = oszczędność, czytelna na bieli */
}

/* Jedyny akcent: główny przycisk */
.woocommerce-cart .wc-proceed-to-checkout a.button.alt.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: var(--global-palette1, #bcd138);
    color: #1d1d12;
    border-radius: 10px;
    padding: 16px 24px;
    font-size: 16px;
    letter-spacing: 0.02em;
    text-transform: none;
}
.woocommerce-cart .wc-proceed-to-checkout a.button.alt.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #a9bc2b;
    color: #1d1d12;
    box-shadow: none;
}

/* 9. Zachęta (Emila 24.09, koszyk2.png: „smutno, niezachęcająco") — marka wraca w miejscach,
   które prowadzą do zamówienia: akcent kafelka podsumowania, pasek korzyści, mocny CTA. */
.woocommerce-cart .cart_totals {
    border-top: 5px solid var(--global-palette1, #bcd138);
    display: flex;
    flex-direction: column;
}
.woocommerce-cart .cart_totals > h2 {
    order: -1;   /* pasek korzyści (woocommerce_before_cart_totals) POD nagłówkiem, nie nad nim */
}
.woocommerce-cart .animax-cart-benefits {
    display: grid;
    gap: 0.6rem;
    margin: 0 0 1.25rem;
    padding: 0.9rem 1rem;
    border-radius: 10px;
    background: #f5f7e4;
    color: #33331f;
}
.woocommerce-cart .animax-cart-benefit {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    font-size: 14px;
    line-height: 1.4;
}
.woocommerce-cart .animax-cart-benefit svg {
    flex: 0 0 auto;
    margin-top: 1px;
    color: #454527;
}
.woocommerce-cart .animax-cart-benefit.is-done svg {
    color: #3b6e1f;
}
.woocommerce-cart .animax-cart-benefit strong {
    font-weight: 700;
    color: #1f1f17;
}
.woocommerce-cart .animax-cart-benefit .woocommerce-Price-amount {
    white-space: nowrap;
}
.woocommerce-cart .animax-cart-progress {
    height: 8px;
    border-radius: 4px;
    background: #e3e6c4;
    overflow: hidden;
}
.woocommerce-cart .animax-cart-progress i {
    display: block;
    height: 100%;
    border-radius: 4px;
    background: var(--global-palette1, #bcd138);
    background-image: linear-gradient(90deg, #a9bc2b, #c8db48);
}
/* CTA: większy, ze strzałką i lekkim „uniesieniem" — jedyny element, który ma przyciągać */
.woocommerce-cart .wc-proceed-to-checkout a.button.alt.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    padding: 18px 24px;
    font-size: 17px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(120, 140, 20, 0.28);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
    content: "  →";
    white-space: pre;
    display: inline-block;
    transition: transform 0.15s ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::after {
    transform: translateX(3px);
}
.woocommerce-cart .wc-proceed-to-checkout a.button.alt.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    box-shadow: 0 8px 20px rgba(120, 140, 20, 0.34);
}
@media (prefers-reduced-motion: reduce) {
    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after { transition: none; }
}
.woocommerce-cart .animax-cart-trust {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}
.woocommerce-cart .animax-cart-trust li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    font-size: 13px;
    color: #55554a;
}
.woocommerce-cart .animax-cart-trust svg {
    flex: 0 0 auto;
    color: #7a8a1f;
}
/* Formularz „Indywidualna wycena" (B2BKing, pojawia się po kliknięciu) — jak pole formularza sklepu */
.woocommerce-cart #b2bking_request_custom_quote_textarea_abovetext {
    margin: 0.5rem 0 0.35rem;
    font-size: 14px;
    font-weight: 600;
    color: #1f1f17;
}
.woocommerce-cart #b2bking_request_custom_quote_textarea {
    width: 100%;
    min-height: 110px;
    margin-bottom: 0.75rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid #d9d9cf;
    border-radius: 8px;
    font-size: 14px;
    box-sizing: border-box;
}
.woocommerce-cart #b2bking_request_custom_quote_textarea:focus {
    outline: none;
    border-color: #454527;
}

@media screen and (max-width: 768px) {
    .woocommerce-cart td.actions .coupon {
        float: none;
        max-width: none;
    }
    .woocommerce-cart td.actions #b2bking_request_custom_quote_button,
    .woocommerce-cart td.actions .b2bking_add_cart_to_purchase_list_button {
        float: none;
        width: 100%;
        margin: 0.6rem 0 0 !important;
    }
}

/* 7. Desktop — sztywny układ tabeli + procentowe kolumny (koniec overflow) */
@media screen and (min-width: 769px) {
    .woocommerce-cart .woocommerce-cart-form__contents {
        table-layout: fixed;
    }
    .woocommerce-cart .woocommerce-cart-form__contents .product-remove    { width: 5%; }
    .woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail { width: 10%; }
    .woocommerce-cart .woocommerce-cart-form__contents .product-name      { width: 33%; }
    .woocommerce-cart .woocommerce-cart-form__contents .product-price     { width: 14%; }
    .woocommerce-cart .woocommerce-cart-form__contents .product-quantity  { width: 22%; }
    .woocommerce-cart .woocommerce-cart-form__contents .product-subtotal  { width: 16%; } /* 12→16: 4-cyfrowe kwoty w jednej linii */
}

/* 6. Mobile — jedna kolumna + nic nie wychodzi poza szerokość ekranu */
@media screen and (max-width: 768px) {
    .woocommerce-cart .kadence-woo-cart-form-wrap {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .woocommerce-cart form.woocommerce-cart-form,
    .woocommerce-cart .cart_totals {
        padding: 1.25rem;
    }
    /* Przywróć PRAWY padding kafelka (linia „...wrap > form{padding-right:0}" ma wyższą
       specyficzność i zjadała go → treść miała lewy inset 20px, a prawy 0 = wizualne przesunięcie).
       Bez tego cena/kwota lgnęły do prawej krawędzi kafelka (asymetria). */
    .woocommerce-cart .kadence-woo-cart-form-wrap > form.woocommerce-cart-form {
        padding-right: 1.25rem;
    }

    /* --- Tabela produktów: układ blokowy (etykieta : wartość), pełne dopasowanie do szerokości.
       Bez tego tabela (~375px + kolumny) wyjeżdżała poza ekran (product name/cena/ilość ucięte). --- */
    .woocommerce-cart .woocommerce-cart-form__contents,
    .woocommerce-cart .woocommerce-cart-form__contents tbody,
    .woocommerce-cart .woocommerce-cart-form__contents tr,
    .woocommerce-cart .woocommerce-cart-form__contents td {
        display: block;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    .woocommerce-cart .woocommerce-cart-form__contents thead {
        display: none;
    }
    .woocommerce-cart .woocommerce-cart-form__contents tr.cart_item {
        padding: 0.25rem 0 0.75rem;
        border-bottom: 1px solid #ececec;
        margin-bottom: 0.75rem;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        text-align: right;
        padding: 0.5rem 0 !important;
        border: 0 !important;
        /* Kadence (woocommerce.min.css, <=719px) maluje parzyste wiersze zebrą:
           `table.shop_table_responsive tr:nth-child(2n) td{background-color:rgba(0,0,0,.025)}`
           (specyficzność 0,2,3 > nasze 0,2,1). Na mobile dawało to szary kafelek 2. pozycji
           i szary słupek 24px pod ikoną kosza (td.product-remove absolute + width 24px Kadence). */
        background: transparent !important;
        overflow-wrap: anywhere;
    }
    /* Wartości (nazwa/cena/kwota/ilość) mogą się kurczyć i zawijać w flexie — bez tego
       długa nazwa (<a> jako flex-item z domyślnym min-width:auto) wychodziła poza ekran. */
    .woocommerce-cart .woocommerce-cart-form__contents td > * {
        min-width: 0;
    }
    /* Etykieta z data-title po lewej (nadpisuje ewentualny ::before WooCommerce) */
    .woocommerce-cart .woocommerce-cart-form__contents td::before {
        content: attr(data-title);
        flex: 0 0 auto;
        font-weight: 600;
        color: #6b7280;
        text-align: left;
        white-space: nowrap;
    }
    /* Strona koszyka: utnij ewentualny „widmowy" poziomy overflow (np. off-canvas / element
       spoza koszyka), przez który prawa krawędź (ceny, nazwa) była przycinana na telefonie. */
    body.woocommerce-cart,
    body.woocommerce-cart #wrapper.site,
    body.woocommerce-cart #inner-wrap,
    body.woocommerce-cart .kadence-woo-cart-form-wrap {
        overflow-x: clip;
        max-width: 100%;
    }

    /* Nazwa produktu: OSOBNY wiersz na całą szerokość, wyrównana DO LEWEJ, wyraźna, zawija się.
       (Wciskana w prawo jako flex-value długa nazwa wyjeżdżała poza ekran.)
       text-align !important — WooCommerce core wymusza `.shop_table_responsive td{text-align:right!important}`. */
    .woocommerce-cart .woocommerce-cart-form__contents td.product-name {
        display: block;
        text-align: left !important;
        font-weight: 600;
        font-size: 15px;
        line-height: 1.4;
        padding: 0.15rem 0 0.65rem !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-name::before {
        content: none;   /* „Produkt:" zbędne — nazwa mówi sama za siebie, więcej miejsca */
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-name a {
        overflow-wrap: anywhere;
    }
    /* Miniaturka do LEWEJ (spójnie z nazwą), „usuń" (kosz) do prawej — bez etykiet.
       text-align !important — WC core wymusza right na td w shop_table_responsive. */
    .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail {
        justify-content: flex-start;
        text-align: left !important;
    }
    /* Kosz (usuń) — zamiast na górze nad miniaturką, na WYSOKOŚCI miniaturki, do prawej.
       Absolutnie w wierszu produktu (cart_item = kontener); środek w pionie kafelka 80px. */
    .woocommerce-cart .woocommerce-cart-form__contents tr.cart_item {
        position: relative;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-remove {
        position: absolute;
        top: 12px;
        right: 0;
        height: 80px;
        width: auto !important;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding: 0 !important;
        margin: 0 !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail::before,
    .woocommerce-cart .woocommerce-cart-form__contents td.product-remove::before {
        content: none;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail img {
        width: 80px;
        height: 80px;
    }

    /* Kupon: pole + przycisk jeden pod drugim, WYŚRODKOWANE na szarym tle.
       Szare tło (td.actions) ciutkę szersze niż wiersze produktu (symetrycznie po -10px),
       z wewnętrznym paddingiem 16px → pole/przycisk mają odstęp od krawędzi tła.
       (Było: flex nowrap → przycisk wychodził poza ekran; input lgnął do krawędzi tła.) */
    .woocommerce-cart .woocommerce-cart-form__contents td.actions {
        width: calc(100% + 20px) !important; /* +20 = po 10px z każdej strony poza treść */
        max-width: none !important;          /* zdejmij klamrę max-width:100% z reguły tabeli */
        margin: 1rem -10px 0 !important;     /* wycentruj poszerzenie i zachowaj górny odstęp */
        padding: 16px 16px !important;       /* wewn. margines → input nie dotyka krawędzi tła */
        border-radius: 10px;
        box-sizing: border-box;
    }
    .woocommerce-cart td.actions .coupon {
        flex-direction: column;
        align-items: center;                 /* wyśrodkuj input i przycisk w szarym tle */
        gap: 0.6rem;
        max-width: none;
    }
    .woocommerce-cart td.actions .coupon #coupon_code {
        min-width: 0;
        width: 100%;                         /* pełna szerokość PADDOWANEGO tła = odstęp od krawędzi */
    }
    .woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
        width: auto;                         /* nie na całą szerokość — wyśrodkowany */
        align-self: center;
        min-width: 220px;
    }

    /* „Kontynuuj zakupy" — wyśrodkowany (przycisk inline-block → text-align centruje) */
    .woocommerce-cart .animax-cart-continue {
        text-align: center;
    }

    /* --- „Podsumowanie koszyka": wiersze totali (w tym „Łącznie") na CAŁĄ szerokość kafelka.
       Było table-layout:fixed + td 55% → „Łącznie" w wąskim boksie na ~połowie szerokości. --- */
    .woocommerce-cart .cart_totals table {
        table-layout: auto !important;
    }
    .woocommerce-cart .cart_totals table th,
    .woocommerce-cart .cart_totals table td {
        width: auto !important;
        white-space: normal;
    }
}

/* =====================================================================
   ==========  SZUFLADA KOSZYKA (Kadence „Popout Cart" #cart-drawer)  ==
   Tryb 'slide' (theme_mod header_cart_style/header_mobile_cart_style).
   Kadence daje overlay + animację translateX + JS open/close + fragmenty;
   tu tylko warstwa wizualna: biały panel, layout produktów, stopka, przyciski.
   Zawartość: woocommerce/cart/mini-cart.php (override ecobedding).
   ===================================================================== */

/* Panel + overlay */
#cart-drawer.popup-drawer-layout-sidepanel .drawer-inner {
    width: 420px;
    max-width: 100%;
    background: #ffffff;
    box-shadow: -8px 0 30px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
}
/* Zakładka edrone „Nie przegap okazji" (onsite slider: iframe w div position:fixed z inline
   z-index 2147483647) nakładała się na otwartą szufladę (#cart-drawer z-index 100000).
   Kadence przy otwarciu dodaje body.showing-popup-drawer-from-right → wtedy zakładka idzie pod szufladę.
   Emila 2026-09-11 (prod). */
body.showing-popup-drawer-from-right #edrone--main--slider--container div[style*="z-index"] {
    z-index: 99999 !important;
}
#cart-drawer .drawer-overlay {
    background: rgba(0, 0, 0, 0.4);
}

/* Nagłówek „Twój koszyk" + X */
#cart-drawer .drawer-header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #f0f0ee;
    margin: 0;
}
#cart-drawer .side-cart-header {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #1f2a24;
}
#cart-drawer .cart-toggle-close {
    background: none;
    border: none;
    padding: 4px;
    margin: 0;
    line-height: 0;
    color: #6b7280;
    cursor: pointer;
    transition: color 0.18s ease;
}
#cart-drawer .cart-toggle-close:hover {
    color: #1f2a24;
}
#cart-drawer .cart-toggle-close svg {
    width: 20px;
    height: 20px;
}

/* Strefa przewijana — lista produktów wypełnia środek, stopka przypięta na dole */
#cart-drawer .drawer-content {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    padding: 0;
}
#cart-drawer .mini-cart-container {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}
#cart-drawer .kadence-mini-cart-refresh {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
}
#cart-drawer ul.woocommerce-mini-cart {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 0.5rem;
}

/* Wiersz produktu: miniatura | (nazwa + „ilość × cena") | kosz */
#cart-drawer li.woocommerce-mini-cart-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    position: relative;
    margin: 0;
    padding: 14px 0;
    border-bottom: 1px solid #f0f0ee;
}
#cart-drawer .animax-minicart-thumb {
    flex: 0 0 70px;
    width: 70px;
    line-height: 0;
}
#cart-drawer .animax-minicart-thumb img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    margin: 0;
}
#cart-drawer .animax-minicart-info {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-right: 32px; /* miejsce na (większy) kosz w prawym-górnym rogu */
}
#cart-drawer .animax-minicart-name {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: #2c2c2c;
    text-decoration: none;
    overflow-wrap: anywhere;
}
#cart-drawer a.animax-minicart-name:hover {
    color: var(--global-palette3, #454527);
}
#cart-drawer .animax-minicart-info .quantity {
    padding-left: 0 !important;   /* Kadence daje .quantity 58px wcięcia (miejsce na miniaturę w jego układzie) — hurt 24.09 */
    font-size: 14px;          /* jak nazwa produktu — cena wyraźniejsza */
    font-weight: 600;
    color: #374151;
}
/* Kosz usuwania — szara ikona (spójna z koszykiem), zamiast surowego ×; większa = lepiej widoczna */
#cart-drawer li .remove_from_cart_button {
    position: absolute;
    top: 12px;
    right: 0;
    width: 22px;
    height: 22px;
    font-size: 0 !important;
    color: transparent !important;
    background-color: #b0b0b0;
    border-radius: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: background-color 0.18s ease;
}
#cart-drawer li .remove_from_cart_button:hover {
    background-color: #dc2626;
}

/* Stopka: „Razem:" + kwota, dwa przyciski pod sobą */
#cart-drawer .animax-minicart-footer {
    flex: 0 0 auto;
    padding: 14px 0 18px;
    border-top: 1px solid #ececec;
}
#cart-drawer .animax-minicart-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 0;
    padding: 4px 0 14px;
}
#cart-drawer .animax-minicart-total__label {
    font-size: 15px;
    font-weight: 600;
    color: #1f2a24;
}
#cart-drawer .animax-minicart-total__amount {
    font-size: 18px;
    font-weight: 800;
    color: #1f2a24;
}
#cart-drawer .animax-minicart-total__amount .woocommerce-Price-amount {
    font-weight: 800;
}
#cart-drawer .animax-minicart-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
}
#cart-drawer .animax-minicart-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding: 13px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
#cart-drawer .animax-minicart-btn--secondary {
    background: #ffffff;
    border: 1px solid var(--global-palette2, #9ca757);
    color: var(--global-palette3, #454527);
}
#cart-drawer .animax-minicart-btn--secondary:hover {
    background: var(--global-palette1, #bcd138);
    color: #1d1d12;
}
#cart-drawer .animax-minicart-btn--primary {
    background: var(--global-palette1, #bcd138);
    border: 1px solid var(--global-palette1, #bcd138);
    color: #1d1d12;
}
#cart-drawer .animax-minicart-btn--primary:hover {
    background: var(--global-palette3, #454527);
    border-color: var(--global-palette3, #454527);
    color: #ffffff;
}

/* Pusty koszyk */
#cart-drawer .woocommerce-mini-cart__empty-message {
    padding: 48px 24px;
    text-align: center;
    color: #6b7280;
    font-size: 15px;
}

/* Telefon: panel na pełną szerokość ekranu (parent wymusza 400px → na 390px ekranie
   uciekał ~10px za lewą krawędź i przycinał prawy padding). */
@media screen and (max-width: 480px) {
    #cart-drawer.popup-drawer-layout-sidepanel .drawer-inner {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* =====================================================================
   10. Hierarchia akcji w koszyku (Emila 24.09, koszyk3.png: „przyciski słabo się odznaczają")
   Trzy różne role = trzy różne wyglądy:
   - KUPON: pole + przycisk złączone w jedną kontrolkę, przycisk wypełniony oliwką,
   - OPCJE DLA FIRM (B2BKing): podpis + „miękkie" przyciski z ikonami na jasnym tle,
   - KONTYNUUJ ZAKUPY: pełny przycisk z obrysem, oddzielony linią (nawigacja, nie akcja na koszyku).
   Nadpisuje wspólny styl drugorzędny z sekcji 8 (ta sama specyficzność, później w pliku).
   ===================================================================== */

/* Kupon — pole + wyraźny przycisk z odstępem (24.09, koszyk4.png: złączone „nachodziły się") */
.woocommerce-cart td.actions .coupon {
    gap: 0.5rem !important;
    flex-wrap: wrap !important;   /* komunikat błędu kuponu (WC .coupon-error-notice) w osobnej linii */
    max-width: 440px;
}
.woocommerce-cart td.actions .coupon #coupon_code {
    border-radius: 8px !important;
    border-right: 1px solid #d9d9cf !important;
}
.woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
    border-radius: 8px !important;
    border: 1px solid #454527 !important;
    background: #454527 !important;
    color: #ffffff !important;
}
.woocommerce-cart td.actions .coupon button[name="apply_coupon"]:hover {
    border-color: #1f1f17 !important;
    background: #1f1f17 !important;
    color: #ffffff !important;
}

/* Opcje dla firm — podpis + miękkie przyciski z ikonami */
.woocommerce-cart .animax-cart-b2b-label {
    display: block;
    margin: 1.1rem 0 0.5rem;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #6b6b5e;
}
.woocommerce-cart td.actions #b2bking_request_custom_quote_button,
.woocommerce-cart td.actions .b2bking_add_cart_to_purchase_list_button {
    gap: 0.45rem;
    height: 40px !important;
    border: 1px solid transparent !important;
    background: #f1f2e6 !important;
    color: #33331f !important;
    font-weight: 600 !important;
}
.woocommerce-cart td.actions #b2bking_request_custom_quote_button:hover,
.woocommerce-cart td.actions .b2bking_add_cart_to_purchase_list_button:hover {
    border-color: #c9ceaa !important;
    background: #e8ebd3 !important;
    color: #1f1f17 !important;
}
.woocommerce-cart td.actions #b2bking_request_custom_quote_button::before,
.woocommerce-cart td.actions .b2bking_add_cart_to_purchase_list_button::before {
    content: "";
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask: var(--animax-icon) center / contain no-repeat;
    mask: var(--animax-icon) center / contain no-repeat;
}
/* wycena = dymek rozmowy (trafia do „Konwersacji"), lista = lista z ptaszkami */
.woocommerce-cart td.actions #b2bking_request_custom_quote_button {
    --animax-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
.woocommerce-cart td.actions .b2bking_add_cart_to_purchase_list_button {
    --animax-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 6h11M10 12h11M10 18h11M3 6l1 1 2-2M3 12l1 1 2-2M3 18l1 1 2-2'/%3E%3C/svg%3E");
}

/* Kontynuuj zakupy — pełny przycisk z obrysem, pod linią oddzielającą */
.woocommerce-cart .animax-cart-continue {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #efefe9;
}
.woocommerce-cart .animax-continue-shopping {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 11px 20px;
    border: 1.5px solid #454527;
    border-radius: 8px;
    background: #ffffff;
    color: #454527;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
.woocommerce-cart .animax-continue-shopping:hover {
    background: #454527;
    color: #ffffff;
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .woocommerce-cart td.actions .coupon {
        flex-direction: row !important;
        align-items: stretch !important;
    }
    .woocommerce-cart td.actions .coupon #coupon_code {
        flex: 1 1 auto;
        width: auto !important;
    }
    .woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
        min-width: 0 !important;
        align-self: stretch !important;
    }
    .woocommerce-cart .animax-continue-shopping {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }
}

/* Błąd kuponu (WC wstawia .coupon-error-notice DO .coupon, obok pola) — osobna, pełna linia pod polem,
   zamiast wąskiej kolumny obok przycisku (Emila 24.09, koszyk5.png). */
.woocommerce-cart td.actions .coupon .coupon-error-notice {
    flex: 0 0 100%;
    order: 10;
    margin: 0.1rem 0 0;
    font-size: 13px;
    line-height: 1.4;
    color: #b0361f;
    text-align: left;
}
.woocommerce-cart td.actions .coupon #coupon_code {
    flex: 1 1 220px;
}

/* Mobile (Emila 24.09, koszykmobilka1/2.jpeg):
   - kafelek „Podsumowanie koszyka" wychodził 40px poza ekran: .cart_totals miał box-sizing: content-box
     → width 100% + padding 2×20px > kolumna (obcinane przez overflow-x: clip). border-box na kafelkach.
   - kupon: pole na całą szerokość, przycisk POD nim wyśrodkowany; „OPCJE DLA FIRM" wyśrodkowane
     (WC core na mobile wymusza text-align: right na td). */
.woocommerce-cart .cart_totals,
.woocommerce-cart form.woocommerce-cart-form {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
}
@media screen and (max-width: 768px) {
    .woocommerce-cart td.actions .coupon {
        justify-content: center;
        max-width: none;
    }
    .woocommerce-cart td.actions .coupon #coupon_code {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
    .woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
        flex: 0 0 auto;
        min-width: 220px !important;
    }
    .woocommerce-cart td.actions .coupon .coupon-error-notice {
        text-align: center;
    }
    .woocommerce-cart .animax-cart-b2b-label {
        text-align: center;
    }
}
@media screen and (max-width: 768px) {
    /* Kadence (woocommerce.min.css ≤719px) maluje parzyste wiersze tabel zebrą rgba(0,0,0,.025) —
       w podsumowaniu wychodził szary pas za „Łącznie". */
    .woocommerce-cart .cart_totals table tr th,
    .woocommerce-cart .cart_totals table tr td {
        background: transparent !important;
    }
}

/* Pusty koszyk: „Twój koszyk aktualnie jest pusty." był prawie biały (ten sam „biały tekst" co wcześniej
   nazwy produktów) — Emila 24.09, koszykmobilka3.jpeg. */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .cart-empty.woocommerce-info {
    color: #1f1f17 !important;
}

/* Nagłówek mobilny: napis promocji (Kadence „mobile-html", dolny rząd, środek) wyśrodkowany jak baner
   na desktopie (Emila 24.09). cart.css jest ładowany globalnie, więc reguła działa na każdej stronie. */
#mobile-header .mobile-html-inner,
#mobile-header .header-mobile-html {
    text-align: center;
}

/* Mobile: szersze kafelki koszyka (Emila 24.09 „mogą być trochę szersze"). Było: margines strony
   8px (site-container) + 24px (entry-content-wrap) = 32px z każdej strony i 28px paddingu kafelka
   → treść 251px na 386px ekranie. Teraz 16px do krawędzi ekranu + 18px wewnątrz kafelka. */
@media screen and (max-width: 768px) {
    body.woocommerce-cart .entry-content-wrap {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    .woocommerce-cart .kadence-woo-cart-form-wrap > form.woocommerce-cart-form,
    .woocommerce-cart form.woocommerce-cart-form,
    .woocommerce-cart .cart_totals {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* Moje konto → podgląd zamówienia: ten sam kafelek adresu co na „Zamówienie otrzymane" (checkout.css
   tam się nie ładuje, cart.css jest globalny) — mieści się na ekranie. */
.woocommerce-customer-details address {
    box-sizing: border-box;
    max-width: 100%;
    overflow-wrap: anywhere;
}
