/* =====================================================
   CART — Swetry i Koszule
===================================================== */

.swiat-cart-page {
    background: #f6f1eb;
    color: #2b2724;
    padding: 150px 0 0;
}

.swiat-cart-page h1,
.swiat-cart-page h2,
.swiat-cart-page h3,
.swiat-cart-page p {
    margin: 0;
}

.swiat-cart-page h1,
.swiat-cart-page h2,
.swiat-cart-page h3 {
    font-family: "DM Serif Display", serif;
    font-weight: 400;
}

.swiat-cart-page a {
    color: inherit;
    text-decoration: none;
}

.swiat-cart-hero,
.swiat-cart-layout,
.swiat-cart-recommendations,
.swiat-cart-empty {
    width: calc(100% - 160px);
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

.swiat-cart-secure {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;

    margin-bottom: 46px;

    font-size: 11px;
    letter-spacing: .08em;
    color: #5f564e;
}

.swiat-cart-hero h1 {
    margin-bottom: 34px;

    font-size: clamp(48px, 4vw, 72px);
    line-height: 1;
    letter-spacing: -.04em;
}

.swiat-cart-hero h1 span {
    font-size: .62em;
}

.swiat-cart-progress {
    margin-bottom: 48px;
}

.swiat-cart-progress-text {
    display: flex;
    justify-content: space-between;
    gap: 40px;

    margin-bottom: 14px;

    font-size: 14px;
    line-height: 1.5;
}

.swiat-cart-progress-text strong {
    font-weight: 500;
}

.swiat-cart-progress-text span {
    color: #5f564e;
}

.swiat-cart-progress-bar {
    height: 5px;
    background: rgba(43, 39, 36, .1);
    overflow: hidden;
}

.swiat-cart-progress-bar span {
    display: block;
    height: 100%;
    background: #2b2724;
}

/* layout */

.swiat-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 60px;
    align-items: start;
}

.swiat-cart-main {
    min-width: 0;
}

.swiat-cart-summary {
    position: sticky;
    top: 110px;
}

/* table */

.swiat-cart-table-head {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 120px 120px 130px 120px 30px;
    gap: 24px;

    padding: 0 0 18px;
    border-bottom: 1px solid rgba(43, 39, 36, .18);

    font-size: 10px;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #4d463f;
}

.swiat-cart-item {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 120px 120px 130px 120px 30px;
    gap: 24px;
    align-items: center;

    padding: 28px 0;
    border-bottom: 1px solid rgba(43, 39, 36, .14);
}

.swiat-cart-product {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 28px;
    align-items: center;
}

.swiat-cart-product-image {
    height: 160px;
    background: #eee7dd;
    overflow: hidden;
}

.swiat-cart-product-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.swiat-cart-product-info > a {
    display: block;
    max-width: 260px;

    font-family: "DM Serif Display", serif;
    font-size: 26px;
    line-height: 1.12;
    letter-spacing: -.035em;
}

.swiat-cart-product-variation {
    margin-top: 18px;

    font-size: 13px;
    line-height: 1.65;
    color: #5f564e;
}

.swiat-cart-product-variation dt,
.swiat-cart-product-variation dd {
    display: inline;
    margin: 0;
}

.swiat-cart-product-variation dt {
    font-weight: 400;
}

.swiat-cart-product-variation dd p {
    display: inline;
}

.swiat-cart-size,
.swiat-cart-price,
.swiat-cart-subtotal {
    font-size: 14px;
    line-height: 1.4;
}

/* quantity */

.swiat-cart-quantity .quantity {
    width: 118px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(43, 39, 36, .22);
}

.swiat-cart-quantity input.qty {
    width: 70px;
    height: 50px;

    border: 0;
    background: transparent;
    text-align: center;

    font-size: 14px;
    color: #2b2724;
}

/* actions */

.swiat-cart-actions {
    display: flex;
    justify-content: space-between;
    gap: 20px;

    margin-top: 26px;
}

.swiat-cart-coupon {
    display: flex;
    border-bottom: 1px solid rgba(43, 39, 36, .22);
}

.swiat-cart-coupon input {
    width: 220px;
    padding: 14px 0;

    border: 0;
    background: transparent;
    outline: 0;
}

.swiat-cart-coupon button,
.swiat-cart-update {
    border: 0;
    background: transparent;
    cursor: pointer;

    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.swiat-cart-save {
    height: 58px;
    margin-top: 34px;
    padding: 0 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border: 1px solid rgba(43, 39, 36, .35);

    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.swiat-cart-continue {
    display: inline-flex;
    margin-top: 38px;

    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

/* summary */

.swiat-cart-summary-box {
    padding: 46px 38px;
    background: #eee7dd;
}

.swiat-cart-summary-box h2 {
    margin-bottom: 42px;

    font-family: inherit;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.swiat-cart-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 28px;

    margin-bottom: 22px;

    font-size: 15px;
    line-height: 1.4;
}

.swiat-cart-summary-row strong {
    font-weight: 400;
}

.swiat-cart-total {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 28px;

    margin-top: 34px;
    padding-top: 32px;

    border-top: 1px solid rgba(43, 39, 36, .16);
}

.swiat-cart-total span {
    font-size: 11px;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.swiat-cart-total strong {
    font-family: "DM Serif Display", serif;
    font-size: 42px;
    line-height: 1;
    font-weight: 400;
}

.swiat-cart-benefits {
    display: grid;
    gap: 24px;

    margin: 46px 0 36px;
}

.swiat-cart-benefits div {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 18px;
    align-items: start;
}

.swiat-cart-benefits span {
    font-size: 22px;
}

.swiat-cart-benefits p {
    font-size: 14px;
    line-height: 1.6;
    color: #4f4841;
}

.swiat-cart-checkout {
    width: 100%;
    height: 64px;

    display: flex !important;
    align-items: center;
    justify-content: center;

    background: #181615 !important;
    color: #fff !important;

    font-size: 12px !important;
    letter-spacing: .18em;
    text-transform: uppercase;

    border: 0 !important;
    border-radius: 0 !important;
}

.swiat-cart-secure-bottom {
    margin-top: 22px;

    text-align: center;
    font-size: 11px;
    color: #5f564e;
}

.swiat-cart-payments {
    margin-top: 28px;
    padding: 34px 38px;

    background: #eee7dd;
}

.swiat-cart-payments > span {
    display: block;
    margin-bottom: 24px;

    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.swiat-cart-payments div {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.swiat-cart-payments strong {
    font-size: 13px;
    letter-spacing: .1em;
}

/* recommendations */

.swiat-cart-recommendations {
    margin-top: 96px;
    padding-top: 44px;
    padding-bottom: 110px;

    border-top: 1px solid rgba(43, 39, 36, .16);
}

.swiat-cart-recommendations-heading h2 {
    margin-bottom: 38px;

    font-family: inherit;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.swiat-cart-recommendations-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px;
}

.swiat-cart-recommendation-image {
    display: block;
    aspect-ratio: 4 / 5;
    margin-bottom: 22px;

    overflow: hidden;
    background: #eee7dd;
}

.swiat-cart-recommendation-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiat-cart-recommendation h3 {
    margin-bottom: 8px;

    text-align: center;
    font-size: 17px;
    line-height: 1.25;
}

.swiat-cart-recommendation > span {
    display: block;

    text-align: center;
    font-size: 13px;
}

/* empty */

.swiat-cart-empty {
    min-height: 62vh;
    padding: 120px 0 140px;
    text-align: center;
}

.swiat-cart-empty > span {
    display: block;
    margin-bottom: 32px;

    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #8c8177;
}

.swiat-cart-empty h1 {
    font-size: clamp(58px, 6vw, 108px);
    line-height: .96;
    letter-spacing: -.05em;
}

.swiat-cart-empty p {
    max-width: 440px;
    margin: 34px auto 42px;

    font-size: 16px;
    line-height: 1.75;
    color: #5f564e;
}

.swiat-cart-empty a {
    display: inline-flex;
    gap: 14px;

    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
}
/* =========================
   CART — cross-sells / recommendations
========================= */

.cross-sells,
.swiat-cart-recommendations {
    margin-top: 110px !important;
    padding-top: 54px !important;
    border-top: 1px solid rgba(43, 39, 36, 0.14) !important;
}

.cross-sells > h2,
.swiat-cart-recommendations > h2 {
    margin: 0 0 44px !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: #2b2724 !important;
}

.cross-sells .products,
.swiat-cart-recommendations .products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 56px 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.cross-sells .product,
.swiat-cart-recommendations .product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center !important;
}

.cross-sells .product a,
.swiat-cart-recommendations .product a {
    color: inherit !important;
    text-decoration: none !important;
    display: block !important;
}

.cross-sells .product img,
.swiat-cart-recommendations .product img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 0 24px !important;
    transition: transform 0.6s ease, opacity 0.6s ease !important;
}

.cross-sells .product:hover img,
.swiat-cart-recommendations .product:hover img {
    transform: scale(1.02) !important;
    opacity: 0.95 !important;
}

.cross-sells .woocommerce-loop-product__title,
.swiat-cart-recommendations .woocommerce-loop-product__title,
.cross-sells .product h2,
.cross-sells .product h3,
.swiat-cart-recommendations .product h2,
.swiat-cart-recommendations .product h3 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-family: var(--font-title) !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    color: #2b2724 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.cross-sells .price,
.swiat-cart-recommendations .price {
    display: block !important;
    margin: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #2b2724 !important;
}

.cross-sells .button,
.cross-sells .add_to_cart_button,
.cross-sells .added_to_cart,
.swiat-cart-recommendations .button,
.swiat-cart-recommendations .add_to_cart_button,
.swiat-cart-recommendations .added_to_cart {
    display: none !important;
}

/* CART — rekomendacje 3 produkty, pionowe karty */
.swiat-cart-recommendations-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 48px !important;
}

.swiat-cart-recommendation {
    width: 100% !important;
}

.swiat-cart-recommendation-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important; /* pion */
    overflow: hidden !important;
}

.swiat-cart-recommendation-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    aspect-ratio: 4 / 5 !important; /* pion */
}

.swiat-cart-recommendation h3 {
    margin-top: 20px !important;
}

/* =========================
   CART — shipping methods
========================= */

.swiat-cart-shipping-box {
    padding: 24px 0;
    border-top: 1px solid rgba(43, 39, 36, .14);
    border-bottom: 1px solid rgba(43, 39, 36, .14);
}

.swiat-cart-shipping-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.swiat-cart-shipping-head span {
    font-size: 13px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(43, 39, 36, .62);
}

.swiat-cart-shipping-head strong {
    font-size: 15px;
    font-weight: 500;
    color: #2b2724;
    white-space: nowrap;
}

.swiat-cart-shipping-methods {
    display: grid;
    gap: 12px;
}

.swiat-cart-shipping-method {
    position: relative;
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 14px;
    align-items: flex-start;
    padding: 18px 18px;
    border: 1px solid rgba(43, 39, 36, .14);
    background: rgba(255, 253, 249, .62);
    cursor: pointer;
    transition: border-color .25s ease, background .25s ease;
}

.swiat-cart-shipping-method:hover {
    border-color: rgba(43, 39, 36, .34);
    background: #fffdfa;
}

.swiat-cart-shipping-method input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.swiat-cart-shipping-radio {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    border: 1px solid rgba(43, 39, 36, .42);
    border-radius: 50%;
    display: block;
    position: relative;
}

.swiat-cart-shipping-method input:checked + .swiat-cart-shipping-radio {
    border-color: #2b2724;
}

.swiat-cart-shipping-method input:checked + .swiat-cart-shipping-radio::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: #2b2724;
}

.swiat-cart-shipping-content {
    display: grid;
    gap: 6px;
}

.swiat-cart-shipping-name {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 500;
    color: #2b2724;
}

.swiat-cart-shipping-name .woocommerce-Price-amount {
    font-weight: 500;
}

.swiat-cart-shipping-content small {
    font-size: 12px;
    line-height: 1.45;
    color: rgba(43, 39, 36, .58);
}

.swiat-cart-shipping-empty {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(43, 39, 36, .62);
}


/* =========================
   CART — payments box
========================= */

.swiat-cart-payments {
    margin-top: 24px !important;
    padding: 28px 28px !important;
    background: #f4efe7 !important;
    border: 1px solid rgba(43, 39, 36, .08) !important;
}

.swiat-cart-payments-label {
    display: block !important;
    margin-bottom: 18px !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: rgba(43, 39, 36, .72) !important;
}

.swiat-cart-payments-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.swiat-cart-payments-list span {
    min-width: 66px !important;
    height: 38px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(43, 39, 36, .16) !important;
    background: #fffdfa !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: .04em !important;
    color: #2b2724 !important;
}

/* =========================
   CART — shipping methods
========================= */

.swiat-cart-shipping-box {
    margin: 24px 0;
    padding: 24px 0;
    border-top: 1px solid rgba(43, 39, 36, .14);
    border-bottom: 1px solid rgba(43, 39, 36, .14);
}

.swiat-cart-shipping-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.swiat-cart-shipping-head span {
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(43, 39, 36, .6);
}

.swiat-cart-shipping-head strong {
    font-size: 15px;
    line-height: 1.3;
    font-weight: 500;
    color: #2b2724;
    white-space: nowrap;
}

.swiat-cart-shipping-methods {
    display: grid;
    gap: 12px;
}

.swiat-cart-shipping-method {
    position: relative;
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 16px;
    border: 1px solid rgba(43, 39, 36, .13);
    background: rgba(255, 253, 249, .64);
    cursor: pointer;
    transition: border-color .25s ease, background .25s ease;
}

.swiat-cart-shipping-method:hover {
    border-color: rgba(43, 39, 36, .32);
    background: #fffdfa;
}

.swiat-cart-shipping-method input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.swiat-cart-shipping-radio {
    position: relative;
    display: block;
    width: 17px;
    height: 17px;
    margin-top: 2px;
    border: 1px solid rgba(43, 39, 36, .42);
    border-radius: 50%;
}

.swiat-cart-shipping-method input:checked + .swiat-cart-shipping-radio {
    border-color: #2b2724;
}

.swiat-cart-shipping-method input:checked + .swiat-cart-shipping-radio::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: #2b2724;
}

.swiat-cart-shipping-content {
    display: grid;
    gap: 6px;
}

.swiat-cart-shipping-name {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 500;
    color: #2b2724;
}

.swiat-cart-shipping-name .woocommerce-Price-amount {
    font-weight: 500;
}

.swiat-cart-shipping-content small {
    font-size: 12px;
    line-height: 1.45;
    color: rgba(43, 39, 36, .56);
}

.swiat-cart-shipping-empty {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(43, 39, 36, .62);
}


/* =========================
   CART — payments box
========================= */

.swiat-cart-payments {
    margin-top: 24px !important;
    padding: 28px !important;
    background: #f4efe7 !important;
    border: 1px solid rgba(43, 39, 36, .08) !important;
}

.swiat-cart-payments-label {
    display: block !important;
    margin-bottom: 18px !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: rgba(43, 39, 36, .72) !important;
}

.swiat-cart-payments-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.swiat-cart-payments-list span {
    min-width: 66px !important;
    height: 38px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(43, 39, 36, .16) !important;
    background: #fffdfa !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: .04em !important;
    color: #2b2724 !important;
}

/* EMPTY CART */

.swiat-empty-cart-page {
    min-height: 70vh;
    padding: 180px 70px 120px;
    background: #f4eee7;
}

.swiat-empty-cart {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.swiat-empty-cart span {
    display: block;
    margin-bottom: 28px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: #a9947d;
}

.swiat-empty-cart h1 {
    margin: 0 0 32px;
    font-family: "DM Serif Display", serif;
    font-size: clamp(58px, 6vw, 104px);
    line-height: .95;
    font-weight: 400;
    letter-spacing: -0.04em;
    color: #2d2926;
}

.swiat-empty-cart p {
    max-width: 560px;
    margin: 0 auto 46px;
    font-size: 17px;
    line-height: 1.8;
    color: #6b625a;
}

.swiat-empty-cart a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 36px;
    background: #2d2926;
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    letter-spacing: .24em;
    text-transform: uppercase;
}

/* CART — WooCommerce notices */

.woocommerce-cart .woocommerce-notices-wrapper {
    max-width: 1180px !important;
    margin: 118px auto 26px !important;
    padding: 0 70px !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    margin: 0 0 12px !important;
    padding: 16px 22px !important;
    background: rgba(255, 253, 249, .72) !important;
    border: 1px solid rgba(45, 41, 38, .12) !important;
    color: #5f554c !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    list-style: none !important;
    box-shadow: none !important;
}

.woocommerce-cart .woocommerce-message a,
.woocommerce-cart .woocommerce-info a,
.woocommerce-cart .woocommerce-error a {
    color: #2d2926 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before {
    display: none !important;
}

/* CART — remove product button */

.woocommerce-cart-form__cart-item,
.swiat-cart-item,
.swiat-cart-row {
    position: relative !important;
}

.swiat-cart-remove-link {
    position: absolute !important;
    right: 22px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 42px !important;
    height: 42px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(45, 41, 38, .14) !important;
    background: rgba(255, 253, 249, .64) !important;
    color: #5f554c !important;

    text-decoration: none !important;
    font-size: 15px !important;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.swiat-cart-remove-link:hover {
    background: #2d2926 !important;
    border-color: #2d2926 !important;
    color: #fff !important;
}

.woocommerce-cart-form__cart-item,
.swiat-cart-item,
.swiat-cart-row {
    padding-right: 76px !important;
}

/* CART — remove product button */

.swiat-cart-remove {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.swiat-cart-remove-link {
    width: 42px !important;
    height: 42px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(45, 41, 38, .14) !important;
    background: rgba(255, 253, 249, .64) !important;
    color: #5f554c !important;

    text-decoration: none !important;
    font-size: 15px !important;
    line-height: 1 !important;

    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.swiat-cart-remove-link:hover {
    background: #2d2926 !important;
    border-color: #2d2926 !important;
    color: #fff !important;
}

.swiat-cart-remove-link i {
    pointer-events: none;
}

/* CART — remove product button near product title */

.swiat-cart-product-info {
    position: relative !important;
    min-width: 0 !important;
}

.swiat-cart-product-title-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.swiat-cart-product-title {
    flex: 1 !important;
    min-width: 0 !important;
}

.swiat-cart-remove-link {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(45, 41, 38, .14) !important;
    background: rgba(255, 253, 249, .72) !important;
    color: #5f554c !important;

    text-decoration: none !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 300 !important;

    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.swiat-cart-remove-link:hover {
    background: #2d2926 !important;
    border-color: #2d2926 !important;
    color: #fff !important;
}

.swiat-cart-remove-link span {
    display: block !important;
    transform: translateY(-1px);
}

.swiat-cart-remove {
    display: none !important;
}

/* CART — final remove button */

.swiat-cart-table-head {
    display: grid !important;
    grid-template-columns: minmax(320px, 2.2fr) .75fr .75fr .85fr .85fr 54px !important;
    gap: 24px !important;
    align-items: center !important;
}

.swiat-cart-item {
    display: grid !important;
    grid-template-columns: minmax(320px, 2.2fr) .75fr .75fr .85fr .85fr 54px !important;
    gap: 24px !important;
    align-items: center !important;
}

.swiat-cart-remove {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.swiat-cart-remove-link {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(45, 41, 38, .16) !important;
    background: rgba(255, 253, 249, .72) !important;
    color: #5f554c !important;

    text-decoration: none !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 300 !important;

    visibility: visible !important;
    opacity: 1 !important;

    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.swiat-cart-remove-link:hover {
    background: #2d2926 !important;
    border-color: #2d2926 !important;
    color: #fff !important;
}

/* CART — finalne równe kolumny desktop */

@media (min-width: 1181px) {

    .swiat-cart-main {
        width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .swiat-cart-table-head,
    .swiat-cart-item {
        display: grid !important;
        grid-template-columns:
            minmax(420px, 1.9fr)
            110px
            130px
            170px
            140px
            34px !important;
        column-gap: 34px !important;
        align-items: center !important;
        width: 100% !important;
    }

    .swiat-cart-table-head span {
        display: block !important;
        font-size: 11px !important;
        letter-spacing: .24em !important;
        text-transform: uppercase !important;
    }

    .swiat-cart-table-head span:nth-child(1) {
        text-align: left !important;
    }

    .swiat-cart-table-head span:nth-child(2),
    .swiat-cart-table-head span:nth-child(3),
    .swiat-cart-table-head span:nth-child(4),
    .swiat-cart-table-head span:nth-child(5) {
        text-align: center !important;
    }

    .swiat-cart-table-head span:nth-child(6) {
        display: block !important;
        text-align: center !important;
    }

    .swiat-cart-item {
        position: relative !important;
        padding-right: 0 !important;
    }

    .swiat-cart-product {
        display: grid !important;
        grid-template-columns: 220px minmax(0, 1fr) !important;
        gap: 42px !important;
        align-items: center !important;
        min-width: 0 !important;
    }

    .swiat-cart-product-image img {
        width: 220px !important;
        height: 260px !important;
        object-fit: cover !important;
    }

    .swiat-cart-product-info {
        min-width: 0 !important;
    }

    .swiat-cart-size,
    .swiat-cart-price,
    .swiat-cart-quantity,
    .swiat-cart-subtotal,
    .swiat-cart-remove {
        justify-self: center !important;
        text-align: center !important;
    }

    .swiat-cart-price,
    .swiat-cart-subtotal {
        white-space: nowrap !important;
    }

    .swiat-cart-quantity {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .swiat-cart-quantity .quantity,
    .swiat-cart-qty-control {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 18px !important;
    }

    .swiat-cart-remove {
        position: static !important;
        transform: none !important;
        width: auto !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .swiat-cart-remove-link {
        width: 32px !important;
        height: 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        background: transparent !important;
        color: #2d2926 !important;
        text-decoration: none !important;
        font-size: 24px !important;
        line-height: 1 !important;
        font-weight: 300 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .swiat-cart-remove-link:hover {
        color: #8f7d6b !important;
        background: transparent !important;
    }
}

/* =====================================================
   CART — tablet/mobile final
   cart.css loads after responsive.css, so these rules
   deliberately override the earlier min-width desktop fixes.
===================================================== */

@media (min-width: 769px) and (max-width: 1180px) {

    .swiat-cart-page {
        max-width: 100% !important;
        padding: 64px 0 100px !important;
        overflow-x: hidden !important;
    }

    .woocommerce-cart .woocommerce-notices-wrapper,
    .swiat-cart-hero,
    .swiat-cart-layout,
    .swiat-cart-recommendations,
    .swiat-cart-empty {
        width: calc(100% - 84px) !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .woocommerce-cart .woocommerce-notices-wrapper {
        margin: 38px auto 24px !important;
    }

    .swiat-cart-progress-text {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .swiat-cart-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 44px !important;
    }

    .swiat-cart-main,
    .swiat-cart-summary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        position: static !important;
    }

    .swiat-cart-table-head {
        display: none !important;
    }

    .swiat-cart-items {
        display: grid !important;
        gap: 20px !important;
    }

    .swiat-cart-item {
        width: 100% !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 18px 24px !important;
        padding: 24px !important;
        border: 1px solid rgba(45, 41, 38, .12) !important;
        background: rgba(255, 253, 249, .62) !important;
        overflow: hidden !important;
    }

    .swiat-cart-product {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 130px minmax(0, 1fr) !important;
        gap: 24px !important;
        align-items: start !important;
        min-width: 0 !important;
    }

    .swiat-cart-product-image,
    .swiat-cart-product-image img {
        width: 130px !important;
        height: 168px !important;
    }

    .swiat-cart-product-info,
    .swiat-cart-product-info a {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .swiat-cart-product-info > a {
        font-size: 24px !important;
        line-height: 1.15 !important;
    }

    .swiat-cart-size {
        display: none !important;
    }

    .swiat-cart-price,
    .swiat-cart-quantity,
    .swiat-cart-subtotal {
        min-width: 0 !important;
        justify-self: start !important;
        text-align: left !important;
        font-size: 14px !important;
    }

    .swiat-cart-price {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .swiat-cart-quantity {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    .swiat-cart-subtotal {
        grid-column: 1 !important;
        grid-row: 4 !important;
        white-space: nowrap !important;
    }

    .swiat-cart-price::before,
    .swiat-cart-quantity::before,
    .swiat-cart-subtotal::before {
        display: block !important;
        margin-bottom: 6px !important;
        font-size: 9px !important;
        line-height: 1 !important;
        letter-spacing: .22em !important;
        text-transform: uppercase !important;
        color: #9a8978 !important;
    }

    .swiat-cart-price::before {
        content: "Cena";
    }

    .swiat-cart-quantity::before {
        content: "Ilość";
    }

    .swiat-cart-subtotal::before {
        content: "Wartość";
    }

    .swiat-cart-quantity .quantity,
    .swiat-cart-qty-control {
        width: auto !important;
        height: 44px !important;
        display: inline-flex !important;
        gap: 14px !important;
    }

    .swiat-cart-remove {
        grid-column: 2 !important;
        grid-row: 2 / 5 !important;
        position: static !important;
        transform: none !important;
        align-self: center !important;
        justify-self: end !important;
        width: auto !important;
        height: auto !important;
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .swiat-cart-remove a,
    .swiat-cart-remove-link {
        width: 34px !important;
        height: 34px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid rgba(45, 41, 38, .16) !important;
        background: rgba(255, 253, 249, .78) !important;
        color: #2d2926 !important;
        text-decoration: none !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    .swiat-cart-actions,
    .swiat-cart-coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .swiat-cart-coupon input,
    .swiat-cart-coupon button,
    .swiat-cart-update {
        width: 100% !important;
    }

    .swiat-cart-summary-box,
    .swiat-cart-payments {
        max-width: 100% !important;
    }

    .cross-sells .products,
    .swiat-cart-recommendations .products,
    .swiat-cart-recommendations-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 36px 28px !important;
    }

}

@media (max-width: 768px) {

    .swiat-cart-page {
        max-width: 100% !important;
        padding: 38px 0 78px !important;
        overflow-x: hidden !important;
    }

    .woocommerce-cart .woocommerce-notices-wrapper,
    .swiat-cart-hero,
    .swiat-cart-layout,
    .swiat-cart-recommendations,
    .swiat-cart-empty {
        width: calc(100% - 40px) !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .woocommerce-cart .woocommerce-notices-wrapper {
        margin: 28px auto 18px !important;
    }

    .swiat-cart-secure {
        justify-content: flex-start !important;
        margin-bottom: 28px !important;
    }

    .swiat-cart-hero h1 {
        font-size: clamp(42px, 12vw, 62px) !important;
    }

    .swiat-cart-progress-text {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        font-size: 13px !important;
    }

    .swiat-cart-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .swiat-cart-main,
    .swiat-cart-summary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        position: static !important;
    }

    .swiat-cart-table-head {
        display: none !important;
    }

    .swiat-cart-items {
        display: grid !important;
        gap: 18px !important;
    }

    .swiat-cart-item {
        width: 100% !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 16px !important;
        padding: 18px !important;
        border: 1px solid rgba(45, 41, 38, .12) !important;
        background: rgba(255, 253, 249, .62) !important;
        overflow: hidden !important;
    }

    .swiat-cart-product {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 16px !important;
        align-items: start !important;
        min-width: 0 !important;
    }

    .swiat-cart-product-image,
    .swiat-cart-product-image img {
        width: 92px !important;
        height: 122px !important;
    }

    .swiat-cart-product-info,
    .swiat-cart-product-info a {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .swiat-cart-product-info > a {
        font-size: 18px !important;
        line-height: 1.25 !important;
    }

    .swiat-cart-size {
        display: none !important;
    }

    .swiat-cart-price,
    .swiat-cart-quantity,
    .swiat-cart-subtotal {
        min-width: 0 !important;
        justify-self: start !important;
        text-align: left !important;
        font-size: 14px !important;
    }

    .swiat-cart-price {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .swiat-cart-quantity {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    .swiat-cart-subtotal {
        grid-column: 1 !important;
        grid-row: 4 !important;
        white-space: nowrap !important;
    }

    .swiat-cart-price::before,
    .swiat-cart-quantity::before,
    .swiat-cart-subtotal::before {
        display: block !important;
        margin-bottom: 6px !important;
        font-size: 9px !important;
        line-height: 1 !important;
        letter-spacing: .22em !important;
        text-transform: uppercase !important;
        color: #9a8978 !important;
    }

    .swiat-cart-price::before {
        content: "Cena";
    }

    .swiat-cart-quantity::before {
        content: "Ilość";
    }

    .swiat-cart-subtotal::before {
        content: "Wartość";
    }

    .swiat-cart-quantity .quantity,
    .swiat-cart-qty-control {
        width: auto !important;
        height: 42px !important;
        display: inline-flex !important;
        gap: 12px !important;
    }

    .swiat-cart-remove {
        grid-column: 2 !important;
        grid-row: 2 / 5 !important;
        position: static !important;
        transform: none !important;
        align-self: center !important;
        justify-self: end !important;
        width: auto !important;
        height: auto !important;
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .swiat-cart-remove a,
    .swiat-cart-remove-link {
        width: 32px !important;
        height: 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid rgba(45, 41, 38, .16) !important;
        background: rgba(255, 253, 249, .78) !important;
        color: #2d2926 !important;
        text-decoration: none !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    .swiat-cart-actions,
    .swiat-cart-coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .swiat-cart-coupon input,
    .swiat-cart-coupon button,
    .swiat-cart-update,
    .swiat-cart-checkout {
        width: 100% !important;
    }

    .swiat-cart-save,
    .swiat-cart-summary-box,
    .swiat-cart-payments {
        max-width: 100% !important;
    }

    .swiat-cart-summary-box,
    .swiat-cart-payments {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .swiat-cart-total strong {
        font-size: 32px !important;
    }

    .swiat-cart-benefits,
    .cross-sells .products,
    .swiat-cart-recommendations .products,
    .swiat-cart-recommendations-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

}

/* CART — laptop fix: koszyk nie wchodzi pod podsumowanie */

@media (min-width: 1181px) {

    .swiat-cart-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(360px, 25vw, 420px) !important;
        gap: clamp(36px, 4vw, 64px) !important;
        align-items: start !important;
    }

    .swiat-cart-main {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .swiat-cart-summary {
        min-width: 0 !important;
        max-width: 100% !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .swiat-cart-table-head,
    .swiat-cart-item {
        display: grid !important;
        grid-template-columns:
            minmax(300px, 1.55fr)
            72px
            92px
            122px
            104px
            28px !important;
        column-gap: clamp(14px, 1.4vw, 26px) !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .swiat-cart-item {
        position: relative !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    .swiat-cart-product {
        display: grid !important;
        grid-template-columns: clamp(150px, 11vw, 190px) minmax(0, 1fr) !important;
        gap: clamp(24px, 2.4vw, 40px) !important;
        align-items: center !important;
        min-width: 0 !important;
    }

    .swiat-cart-product-image img {
        width: clamp(150px, 11vw, 190px) !important;
        height: clamp(180px, 13vw, 230px) !important;
        object-fit: cover !important;
    }

    .swiat-cart-product-info,
    .swiat-cart-product-info a {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .swiat-cart-product-info a {
        font-size: clamp(24px, 1.7vw, 34px) !important;
        line-height: 1.08 !important;
    }

    .swiat-cart-size,
    .swiat-cart-price,
    .swiat-cart-quantity,
    .swiat-cart-subtotal,
    .swiat-cart-remove {
        justify-self: center !important;
        text-align: center !important;
        min-width: 0 !important;
    }

    .swiat-cart-price,
    .swiat-cart-subtotal {
        white-space: nowrap !important;
        font-size: 15px !important;
    }

    .swiat-cart-quantity {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .swiat-cart-quantity .quantity,
    .swiat-cart-qty-control {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 14px !important;
    }

    .swiat-cart-remove {
        position: static !important;
        transform: none !important;
        width: 28px !important;
        height: 28px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 1 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .swiat-cart-remove-link {
        width: 28px !important;
        height: 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        background: transparent !important;
        color: #2d2926 !important;
        text-decoration: none !important;
        font-size: 22px !important;
        line-height: 1 !important;
        font-weight: 300 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .swiat-cart-remove-link:hover {
        color: #8f7d6b !important;
        background: transparent !important;
    }
}

/* =====================================================
   CART — PAYMENT LOGOS
===================================================== */

.swiat-cart-payment-logos {
    margin-top: 34px;
    padding: 38px 42px;
    background: #f3eee6;
    border: 1px solid rgba(45, 41, 38, .10);
}

.swiat-cart-payment-logos__label {
    margin-bottom: 24px;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #9d8771;
}

.swiat-cart-payment-logos__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.swiat-cart-payment-logo {
    min-height: 76px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 253, 249, .72);
    border: 1px solid rgba(45, 41, 38, .11);
}

.swiat-cart-payment-logo img {
    display: block;
    width: auto;
    max-width: 104px;
    max-height: 32px;
    object-fit: contain;
}

.swiat-cart-payment-logo img[alt="Przelewy24"] {
    max-width: 120px;
    max-height: 34px;
}

.swiat-cart-payment-logo img[alt="BLIK"] {
    max-width: 78px;
    max-height: 32px;
}


/* MOBILE */

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

    .swiat-cart-payment-logos {
        margin-top: 28px;
        padding: 30px 24px;
    }

    .swiat-cart-payment-logos__label {
        margin-bottom: 20px;
        text-align: center;
        font-size: 10px;
        letter-spacing: .24em;
    }

    .swiat-cart-payment-logos__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .swiat-cart-payment-logo {
        min-height: 66px;
        padding: 15px 14px;
    }

    .swiat-cart-payment-logo img {
        max-width: 88px;
        max-height: 28px;
    }

    .swiat-cart-payment-logo img[alt="Przelewy24"] {
        max-width: 104px;
    }

    .swiat-cart-payment-logo img[alt="BLIK"] {
        max-width: 68px;
    }
}

/* =====================================================
   CART — PAYMENT LOGOS FINAL LOOK
===================================================== */

/* jeśli stary wrapper nadal gdzieś obejmuje nowy blok */
.swiat-cart-payments {
    margin-top: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* główny box */
.swiat-cart-payment-logos {
    width: 100% !important;
    margin-top: 34px !important;
    padding: 34px 38px 38px !important;
    background: #f3eee6 !important;
    border: 1px solid rgba(45, 41, 38, .10) !important;
    box-sizing: border-box !important;
}

/* napis */
.swiat-cart-payment-logos__label {
    margin: 0 0 26px !important;
    display: block !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .30em !important;
    text-transform: uppercase !important;
    color: #9d8771 !important;
}

/* układ ikon */
.swiat-cart-payment-logos__grid {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 18px !important;
}

/* pojedynczy kafelek */
.swiat-cart-payment-logo {
    width: 150px !important;
    height: 82px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 253, 249, .72) !important;
    border: 1px solid rgba(45, 41, 38, .10) !important;
    box-sizing: border-box !important;
}

/* logotypy */
.swiat-cart-payment-logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.swiat-cart-payment-logo img[alt="Visa"] {
    max-width: 86px !important;
    max-height: 38px !important;
}

.swiat-cart-payment-logo img[alt="Mastercard"] {
    max-width: 84px !important;
    max-height: 48px !important;
}

.swiat-cart-payment-logo img[alt="Przelewy24"] {
    max-width: 104px !important;
    max-height: 42px !important;
}


/* MOBILE */

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

    .swiat-cart-payment-logos {
        padding: 30px 24px 34px !important;
    }

    .swiat-cart-payment-logos__grid {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .swiat-cart-payment-logo {
        width: 100% !important;
        max-width: 260px !important;
        height: 70px !important;
    }
}