@supports selector(:has(*)) {
    body:has(.content .cart-wrapper) #header,
    body:has(.content .cart-content) #header {
        --wave-h: 100px;
        position: relative;
        margin-bottom: var(--wave-h);
        z-index: 1;
        overflow: visible;
    }

    body:has(.content .cart-wrapper) #header::after,
    body:has(.content .cart-content) #header::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: var(--wave-h);
        background: #fef6df url(/user/documents/theme/header-border.png) no-repeat top center;
        background-size: 100% auto;
        pointer-events: none;
    }
}

#cart-wrapper, #cart-wrapper * {
    box-sizing: border-box
}

#cart-wrapper * {
    margin: 0;
    padding: 0
}

#cart-wrapper {
    color: #51282b;
    padding: 20px;
    font-family: "Roboto", sans-serif
}

ol.cart-header {
    --step-gap: 48px;
    font-family: "Knofedt", sans-serif;
    display: flex;
    list-style: none;
    background: #ddf65c;
    border-radius: 999px;
    padding: 0;
    margin: 40px auto !important;
    position: relative;
    gap: var(--step-gap);
    overflow: visible;
    max-width: 100%
}

ol.cart-header .step {
    --pad-x: 20px;
    --arrow-tweak: -2px;
    flex: 1;
    text-align: center;
    padding: 8px var(--pad-x) !important;
    position: relative;
    font-size: 30px;
    font-weight: 600;
    text-transform: uppercase;
    color: #30a506;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0;
    min-height: 60px;
    white-space: nowrap
}

body:has(.content .cart-content) ol.cart-header .step {
    --pad-x: -30%;
}

#cart-wrapper ol.cart-header .step.active {
    --arrow-tweak: 15%
}

ol.cart-header {
    position: relative;
    overflow: visible;
    z-index: 0
}

ol.cart-header .step {
    position: relative;
    z-index: 1
}

ol.cart-header .step.active {
    z-index: 2
}

ol.cart-header .step.completed {
    --arrow-tweak: 60px;
}

ol.cart-header .step.completed a {
    background-color: transparent;
    color: #a3a3a3;
}

ol.cart-header .step.completed a span {
    text-decoration: none
}

ol.cart-header .step.completed {
    background: transparent
}

ol.cart-header .step.completed::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: calc(-2 * var(--step-gap));
    background: #cfcfcf;
    z-index: -1;
    border-radius: 999px 0 0 999px;
    pointer-events: none;
}

ol.cart-header .step.completed::after {
    content: "\2714";
    color: #a3a3a3;
    position: absolute;
    left: calc(50% + var(--arrow-tweak));
    top: calc(50% + 3px);
    transform: translate(-50%, -50%);
    font-weight: 300;
    font-size: 30px;
    line-height: 1;
    pointer-events: none;
    z-index: 2;
    margin-top: -5px
}

ol.cart-header .step.active {
    color: #ddf65c
}

.cart-header .step strong:before, .cart-header .step a:before {
    display: none
}

.cart-header .step.step.active {
    background: #30a506;
    border-radius: 999px
}

.cart-header .step a {
    text-decoration: none;
    color: inherit;
    display: block
}

.cart-header .step a:hover {
    color: #30a506;
    background: transparent;
    text-decoration: underline
}

.cart-header .step:not(.completed):not(:last-child)::after {
    content: "›";
    position: absolute;
    left: calc(100% + var(--step-gap) / 2 - var(--pad-x) / 2 + var(--arrow-tweak));
    top: calc(50% + 7px);
    transform: translate(-50%, -50%);
    font-weight: 300;
    font-size: 40px;
    color: #30a506;
    line-height: 1;
    pointer-events: none;
    z-index: 2;
    margin-top: -10px
}

.cart-header .step:last-child::after {
    display: none
}

.cart-header .step.active strong {
    color: #ddf65c;
    background: transparent
}

ol.cart-header li a span:after, ol.cart-header li strong span:after {
    display: none
}

ol.cart-header li a, ol.cart-header li strong {
    color: inherit
}

#cart-wrapper .cart-wrapper {
    max-width: 1200px;
    margin: 0 auto
}

#cart-wrapper .cart-inner {
    padding: 0
}

#cart-wrapper .cart-table-card {
    background: #fff;
    border-radius: 30px;
    padding: 0 30px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08)
}

#cart-wrapper .cart-table {
    width: 100%;
    border-collapse: collapse;
    background: transparent;
    border-spacing: 0
}

#cart-wrapper .cart-table-header {
    background: #f9f9f9;
    border-bottom: 2px solid #51282b;
    color: #51282b
}

#cart-wrapper .cart-table-header td {
    padding: 15px 0;
    font-weight: 600;
    font-size: 22px;
    text-align: left
}

#cart-wrapper .cart-table tr.removeable {
    border-bottom: 1px solid #e0e0e0
}

#cart-wrapper .cart-table tr.removeable:hover {
    background: #fafafa
}

#cart-wrapper .cart-p-image {
    width: 120px;
    padding: 20px 0
}

#cart-wrapper .cart-p-image img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 15px;
    padding: 0
}

#cart-wrapper .p-name {
    min-width: 250px;
    padding: 20px
}

#cart-wrapper .p-name .main-link {
    text-decoration: none;
    font-weight: 600;
    font-size: 20px;
    color: #51282b
}

#cart-wrapper .p-name .main-link:hover {
    color: #8bc34a
}

#cart-wrapper .p-name .main-link .show-related {
    margin-top: 10px;
}

#cart-wrapper .p-cell {
    padding: 20px;
    text-align: center
}

#cart-wrapper .removeable .p-quantity, #cart-wrapper .removeable .p-price, #cart-wrapper .removeable .p-total {
    text-align: center
}

#cart-wrapper .removeable .p-price .price-final {
    font-size: 20px;
    font-weight: 600
}

#cart-wrapper .unit-value {
    display: none
}

#cart-wrapper .p-total {
    padding: 20px
}

#cart-wrapper .p-total .price-final {
    font-size: 24px
}

#cart-wrapper .p-label {
    display: none
}

#cart-wrapper .related .cart-related-product {
    margin: 10px 20px;
}

#cart-wrapper .related .cart-related-product .cart-related-img img {
    border-radius: 15px;
}

#cart-wrapper .related .cart-related-product .cart-related-name {
    font-size: 16px;
    font-weight: 600;
    color: #51282b;
    text-decoration: none;
    padding-left: 10px;
}

#cart-wrapper .related .cart-related-product .cart-related-button .btn {
    padding: 0 20px;
}

#cart-wrapper .cart-table .cart-table-header > td:nth-child(3), #cart-wrapper .cart-table .cart-table-header > th:nth-child(3) {
    display: none !important
}

#cart-wrapper .cart-table td.p-availability.p-cell {
    display: none !important
}

#cart-wrapper .cart-table .cart-table-header .p-quantity,
#cart-wrapper .cart-table .cart-table-header .p-price,
#cart-wrapper .cart-table .cart-table-header .p-total {
    text-align: center
}

#cart-wrapper .cart-table td.p-quantity.p-cell > div {
    display: grid;
    place-items: center;
    width: 100%
}

#cart-wrapper .price-final {
    font-size: 18px;
    font-weight: 700;
    color: #333
}

#cart-wrapper .remove-item {
    background: transparent;
    border: 0;
    cursor: pointer;
    width: 24px;
    height: 24px;
    position: relative;
    opacity: .8;
    transition: opacity .2s;
    display: inline-block
}

#cart-wrapper .remove-item:hover {
    opacity: 1
}

#cart-wrapper .remove-item::before, #cart-wrapper .remove-item::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 2px;
    background: #d74b55;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg)
}

#cart-wrapper .remove-item::after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

#cart-wrapper .p-name .remove-item {
    display: none
}

#cart-wrapper .summary {
    margin-top: 30px;
    display: flex;
    gap: 30px
}

#cart-wrapper .col-md-8 {
    flex: 1
}

#cart-wrapper .col-md-4 {
    width: 400px
}

#cart-wrapper .toggle-coupon-input .toggle-coupon-input-button {
    display: none !important
}

#cart-wrapper .toggle-coupon-input {
    margin: 0
}

#cart-wrapper .coupon-input .discount-coupon {
    display: inline-flex;
    flex-direction: column;
    gap: 12px;
    background: #fff;
    border-radius: 30px;
    padding: 20px 24px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
    width: max-content;
    max-width: 100%;
    align-self: flex-start
}

#cart-wrapper .coupon-input .discount-coupon > label {
    font-size: 14px;
    color: #666;
    padding-left: 4px
}

#cart-wrapper .toggle-coupon-input .discount-coupon .input-group {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    align-self: flex-start;
    gap: 0;
    background: transparent;
    border-radius: 30px;
    padding: 0;
    box-shadow: none
}

#cart-wrapper .toggle-coupon-input .discount-coupon .form-control.lg {
    flex: 0 0 260px;
    height: 46px;
    border: 1px solid #f3f3f3;
    border-right: 0;
    border-radius: 12px 0 0 12px;
    background: #f3f3f3;
    padding: 0 14px;
    font-size: 20px;
    outline: 0
}

#cart-wrapper .toggle-coupon-input .discount-coupon .form-control.lg::placeholder {
    color: #ababab
}

#cart-wrapper .toggle-coupon-input .discount-coupon .btn {
    height: 46px;
    border-radius: 0 12px 12px 0;
    border: 1px solid #ff7504;
    background: #ff7504;
    color: #fff;
    padding: 0 22px;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: .2px;
    text-transform: uppercase;
    white-space: nowrap
}

#cart-wrapper .toggle-coupon-input .discount-coupon .btn:hover {
    background: #e67e00;
    border-color: #e67e00
}

#cart-wrapper .toggle-coupon-input .discount-coupon .btn:before {
    display: none
}

#cart-wrapper .coupon-input .discount-coupon .applied-coupon {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border-radius: 20px;
    padding: 14px 16px;
    box-shadow: none;
    max-width: 100%;
    flex-wrap: wrap;
    width: max-content
}

#cart-wrapper .coupon-input .discount-coupon .applied-coupon strong {
    color: #51282b;
    font-weight: 600
}

#cart-wrapper .coupon-input .discount-coupon .applied-coupon .js-remove-form {
    margin-left: auto
}

#cart-wrapper .coupon-input .discount-coupon .applied-coupon .js-remove-form input[type="submit"] {
    width: 36px;
    height: 36px;
    line-height: 36px;
    border: 0;
    border-radius: 12px;
    background: #f3f3f3;
    color: #d74b55;
    font-weight: 700;
    padding: 0;
    cursor: pointer
}

#cart-wrapper .coupon-input .discount-coupon .applied-coupon .js-remove-form input[type="submit"]:hover {
    background: #ffe6e8
}

#cart-wrapper .row.summary {
    display: flex;
    gap: 30px;
    margin-left: 0 !important;
    margin-right: 0 !important
}

#cart-wrapper .row.summary > .col-md-8, #cart-wrapper .row.summary > .col-md-4 {
    padding-left: 0 !important;
    padding-right: 0 !important
}

#cart-wrapper .row.summary > .col-md-8 {
    flex: 1 1 auto
}

#cart-wrapper .row.summary > .col-md-4 {
    flex: 0 0 400px
}

#cart-wrapper .row:before, #cart-wrapper .row:after {
    display: none
}

#cart-wrapper .box {
    /*display: none;*/
    background-color: #fff;
    padding: 15px;
    border-radius: 15px;
    margin-top: 20px;
}

#cart-wrapper .box .extra.gift {
    margin-top: 20px;
}

#cart-wrapper .box .price-range {
    padding-left: 30px;
}

#cart-wrapper .row.summary > .col-md-4 {
    background: #fff;
    border-radius: 30px;
    padding: 30px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08)
}

#cart-wrapper .price-wrapper {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 0 30px;
    /*flex-direction: column;*/
}

#cart-wrapper .price-wrapper .price-label {
    display: inline-block;
    margin: 0;
    font-size: 16px;
    color: #666
}

#cart-wrapper .price-wrapper .price {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    line-height: 1
}

#cart-wrapper .price-wrapper .price-label.price-primary,
#cart-wrapper .price-wrapper .price.price-primary {
    flex: 0 0 auto !important;
    width: auto !important;
    text-align: left !important;
    margin: 0 !important;
    line-height: 1.1
}

#cart-wrapper .price-wrapper .price-label.price-primary {
    font-size: 22px;
    font-weight: 600;
    color: #51282b
}

#cart-wrapper .price-wrapper .price.price-primary {
    text-align: right !important;
    font-size: 30px;
    color: #51282b
}

#cart-wrapper .next-step {
    text-align: right;
    margin: 40px 30px 0
}

#cart-wrapper .btn,
#cboxContent .btn {
    padding: 5px 30px;
    border: 0;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: all .3s;
    display: inline-block
}

#cart-wrapper .next-step-back {
    display: none
}

#cart-wrapper .next-step-back:hover {
    background: #f5f5f5
}

#cart-wrapper .btn-conversion,
#cboxContent .btn-conversion {
    background: #ff7504;
    color: #fff
}

#cart-wrapper .btn-conversion:hover,
#cboxContent .btn-conversion:hover {
    background: #e67e00
}

#cart-wrapper .btn-conversion:after,
#cboxContent .btn-conversion:after {
    display: none
}

#cart-wrapper .btn-conversion .order-button-text {
    text-transform: none;
    font-size: 20px
}

#cart-wrapper .increase-tooltip, #cart-wrapper .decrease-tooltip {
    display: none
}

#cart-wrapper .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

#cart-wrapper:not(:has(.cart-table)) .cart-inner.cart-empty {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px
}

#cart-wrapper:not(:has(.cart-table)) .cart-heading {
    font-size: 40px;
    line-height: 1.2;
    text-align: center;
    margin: 10px 0 25px;
    color: #51282b;
    font-family: "Knofedt", sans-serif;
    text-transform: uppercase;
}

#cart-wrapper:not(:has(.cart-table)) .row.cart-row {
    display: flex;
    gap: 30px;
    margin-left: 0 !important;
    margin-right: 0 !important
}

#cart-wrapper:not(:has(.cart-table)) .row.cart-row > .col-md-8 {
    flex: 1 1 auto;
    padding: 0 !important
}

#cart-wrapper:not(:has(.cart-table)) .row.cart-row > .col-md-4 {
    flex: 0 0 360px;
    padding: 0 !important
}

#cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes {
    display: grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap: 20px
}

#cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes .col-md-6 {
    float: none;
    width: auto;
    background: #fff;
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08)
}

#cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes h3 {
    font-size: 26px;
    font-family: "Knofedt", sans-serif;
    text-transform: uppercase;
    margin-bottom: 12px;
    color: #51282b;
    font-weight: 100
}

#cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px
}

#cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes a {
    display: inline-block;
    font-weight: 600;
    text-decoration: none;
    color: #51282b;
    padding: 8px 12px;
    border-radius: 10px;
    transition: .2s
}

#cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes a:hover {
    background: #f5f5f5;
    color: #FF741F
}

#cart-wrapper:not(:has(.cart-table)) .js-try-search-button {
    background: #ff7504;
    border: 0;
    color: #fff;
    border-radius: 12px;
    padding: 12px 20px;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: .2px;
    cursor: pointer;
    transition: .2s
}

#cart-wrapper:not(:has(.cart-table)) .js-try-search-button:hover {
    background: #e67e00
}

#cart-wrapper:not(:has(.cart-table)) .col-md-4 .cart-content {
    background: #fff;
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08)
}

#cart-wrapper:not(:has(.cart-table)) .col-md-4 h4 {
    font-size: 26px;
    margin: 0 0 14px;
    color: #51282b;
    display: block;
}

#cart-wrapper:not(:has(.cart-table)) .box {
    display: block
}

#cart-wrapper:not(:has(.cart-table)) .contact-box {
    display: flex;
    align-items: center;
    gap: 16px
}

#cart-wrapper:not(:has(.cart-table)) .contact-box img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover
}

#cart-wrapper:not(:has(.cart-table)) .contact-box strong {
    font-size: 18px;
    color: #51282b
}

#cart-wrapper:not(:has(.cart-table)) .contact-box ul {
    margin: 6px 0 0;
    padding: 0;
    list-style: none
}

#cart-wrapper:not(:has(.cart-table)) .contact-box a {
    color: #30a506;
    text-decoration: none;
    font-weight: 700
}

#cart-wrapper:not(:has(.cart-table)) .contact-box a:hover {
    text-decoration: underline
}


/** POPUP **/
.cart-widget, .cart-widget-inner, .cart-widget-bottom, .cart-free-shipping {
    border-radius: 20px;
}

.cart-widget-inner .cart-widget-product-image img {
    border-radius: 12px;
}

.cart-widget-inner .cart-widget-product-name a {
    font-size: 16px;
    font-weight: 600;
    color: #51282b;
    text-decoration: none;
}

.cart-widget-inner .cart-widget-button a {
    background: #ff7504;
    color: #fff;
    border: 0;
    border-radius: 10px;
    padding: 8px 20px;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: .2px;
    cursor: pointer;
    transition: all .3s;
    display: inline-block;
    text-decoration: none;
}

.cart-widget-inner .cart-widget-button a:hover {
    background: #ff7504;
    text-decoration: underline;
    color: #fff !important;
}

.cart-widget-product-delete button {
    color: #d74b55;
}

body.in-kosik .cart-content .contact-box ul li {
    display: flex !important;
    align-items: center !important;
    gap: 8px;
}

body.in-kosik .cart-content .contact-box ul li > span {
    display: flex !important;
    align-items: center !important;
    gap: 8px;
}

body.in-kosik .cart-content .contact-box ul li > span::before {
    position: static !important;
    display: inline-block !important;
    margin: 0 !important;
}

body.in-kosik .cart-content .contact-box .tel a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

#cboxContent,
#cboxClose {
    border-radius: 25px;
    background-color: #FEF6DF !important;
    color: #3a1c0e;
}

#cboxContent .h1 {
    font-family: "Knofedt", sans-serif;
    font-size: 48px;
    text-transform: uppercase;
    color: #3a1c0e;
}

#cboxContent .h2 {
    color: #3a1c0e;
}

#cboxContent .ao-product {
    padding: 5px;
    background: #fff;
    border-radius: 25px;
}

#cboxContent .ao-product img {
    border-radius: 25px;
}

#cboxContent .extra.delivery {
    text-align: center;
}

#cboxContent .quantity label {
    text-align: center;
}

#cboxContent .next-step-back, #cboxContent a.next-step-back {
    color: #3a1c0e;
}




@media (max-width: 768px) {
    #cart-wrapper {
        padding: 15px
    }

    ol.cart-header {
        gap: 8px;
        padding: 8px;
        margin: 20px auto !important;
        --step-gap: 15px
    }

    ol.cart-header .step {
        font-size: 20px;
        padding: 10px 8px !important;
        min-height: 44px
    }

    ol.cart-header .step:not(:last-child)::after {
        font-size: 24px;
        left: calc(100% + var(--step-gap) / 2 - var(--pad-x) / 2)
    }

    #cart-wrapper .cart-table-card {
        border-radius: 20px;
        padding: 15px;
        background: #f9f9f9
    }

    #cart-wrapper .cart-table-header {
        display: none
    }

    #cart-wrapper .cart-table tbody {
        display: block
    }

    #cart-wrapper .cart-table tr.removeable {
        display: grid;
        grid-template-columns:80px 1fr 40px;
        grid-template-areas:
            "image name remove"
            "image availability availability"
            "quantity quantity quantity"
            "price total total";
        gap: 8px;
        padding: 15px;
        margin-bottom: 15px;
        background: #fff;
        border: none;
        border-radius: 15px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
        position: relative
    }

    #cart-wrapper .cart-table tr.removeable:last-child {
        margin-bottom: 0
    }

    #cart-wrapper .cart-table td {
        display: block;
        padding: 0;
        text-align: left;
        border: none;
        width: auto;
    }

    #cart-wrapper .cart-p-image {
        grid-area: image;
        width: 80px;
        padding: 0
    }

    #cart-wrapper .cart-p-image img {
        width: 80px;
        height: 80px;
        border-radius: 12px
    }

    #cart-wrapper .p-name {
        grid-area: name;
        padding: 0;
        min-width: 0;
        display: flex;
        flex-direction: column
    }

    #cart-wrapper .p-name .main-link {
        font-size: 16px;
        font-weight: 600;
        line-height: 1.3
    }

    #cart-wrapper .p-name .product-table-name-footer {
        display: none
    }

    #cart-wrapper .p-name .delete-cart-item {
        display: none
    }

    #cart-wrapper .p-availability.p-cell {
        grid-area: availability;
        display: block !important;
        padding: 4px 0 0;
        font-size: 13px
    }

    #cart-wrapper .p-availability.p-cell .availability-label {
        color: #30a506 !important
    }

    #cart-wrapper .p-quantity.p-cell {
        grid-area: quantity;
        padding: 10px 0;
        text-align: center;
        border-top: 1px solid #f0f0f0
    }

    #cart-wrapper .p-price.p-cell {
        grid-area: price;
        padding: 10px 0 0
    }

    #cart-wrapper .p-total {
        grid-area: total;
        padding: 10px 0 0;
        text-align: right;
        position: relative
    }

    #cart-wrapper .p-total .inline {
        grid-area: remove;
        position: absolute;
        top: -40px;
        right: 0
    }

    #cart-wrapper .p-total .remove-item {
        display: block
    }

    #cart-wrapper .p-label {
        display: inline-block !important;
        font-weight: 600;
        color: #666;
        font-size: 13px;
        margin-right: 5px
    }

    #cart-wrapper td.p-quantity.p-cell > div {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        width: auto;
        justify-content: start
    }

    #cart-wrapper .quantity {
        display: inline-flex;
        align-items: center;
        gap: 5px
    }

    #cart-wrapper .quantity input.amount {
        width: 50px;
        text-align: center;
        border: 1px solid #ddd;
        border-radius: 5px;
        padding: 5px;
        font-size: 16px
    }

    #cart-wrapper .quantity .decrease,
    #cart-wrapper .quantity .increase {
        width: 32px;
        height: 32px;
        border: 1px solid #ddd;
        border-radius: 5px;
        background: #fff;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        color: #333;
        transition: all .2s
    }

    #cart-wrapper .quantity .decrease:hover,
    #cart-wrapper .quantity .increase:hover {
        background: #f5f5f5;
        border-color: #999
    }

    #cart-wrapper .summary {
        flex-direction: column;
        gap: 20px;
        margin-top: 20px
    }

    #cart-wrapper .col-md-8, #cart-wrapper .col-md-4 {
        width: 100%
    }

    #cart-wrapper .toggle-coupon-input .discount-coupon {
        padding: 15px;
        gap: 10px;
        border-radius: 15px
    }

    #cart-wrapper .toggle-coupon-input .discount-coupon .input-group {
        display: flex;
        width: max-content;
        gap: 10px
    }

    #cart-wrapper .toggle-coupon-input .discount-coupon .form-control.lg {
        flex: 1 1 auto;
        width: 100%;
        height: 44px;
        font-size: 16px;
        border-radius: 10px;
        border: 1px solid #ddd
    }

    #cart-wrapper .toggle-coupon-input .discount-coupon .btn {
        flex: 0 0 auto;
        height: 44px;
        padding: 0 20px;
        font-size: 16px;
        border-radius: 10px
    }

    #cart-wrapper .row.summary > .col-md-4 {
        flex: 1 1 auto;
        padding: 20px;
        border-radius: 20px
    }

    #cart-wrapper .price-wrapper {
        padding: 0 15px;
    }

    #cart-wrapper .next-step {
        margin: 20px 0 0;
        text-align: center
    }

    #cart-wrapper .btn-conversion {
        width: 100%;
        max-width: none
    }

    #cart-wrapper .p-price.p-cell,
    #cart-wrapper .p-total {
        display: grid;
        grid-template-rows:auto auto;
        row-gap: 4px;
    }

    #cart-wrapper .p-price.p-cell {
        text-align: left;
        align-items: start;
        justify-items: start
    }

    #cart-wrapper .p-total {
        text-align: right;
        align-items: end;
        justify-items: end
    }

    #cart-wrapper .removeable .p-total {
        text-align: right;
    }

    #cart-wrapper .p-price .p-label,
    #cart-wrapper .p-total .p-label {
        display: block;
        font-weight: 600;
        font-size: 13px;
        line-height: 1.2;
        margin: 0;
    }

    #cart-wrapper .p-price .price-final,
    #cart-wrapper .p-total .price-final {
        display: block;
        line-height: 1.2;
        font-size: 20px;
    }

    #cart-wrapper:not(:has(.cart-table)) .cart-inner.cart-empty {
        padding: 15px
    }

    #cart-wrapper:not(:has(.cart-table)) .cart-heading {
        font-size: 26px;
        line-height: 1.25;
        text-align: center;
        margin: 8px 0 18px
    }

    #cart-wrapper:not(:has(.cart-table)) .row.cart-row {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    #cart-wrapper:not(:has(.cart-table)) .row.cart-row > .col-md-8,
    #cart-wrapper:not(:has(.cart-table)) .row.cart-row > .col-md-4 {
        flex: 1 1 auto;
        padding: 0 !important
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes {
        display: grid;
        grid-template-columns:1fr;
        gap: 14px
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes .col-md-6 {
        float: none;
        width: auto;
        background: #fff;
        border-radius: 18px;
        padding: 18px;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .08)
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes h3 {
        font-size: 18px;
        margin-bottom: 10px
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        gap: 8px
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes a {
        display: inline-block;
        font-weight: 600;
        text-decoration: none;
        color: #51282b;
        padding: 8px 12px;
        border-radius: 10px;
        transition: .2s
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes a:hover {
        background: #f5f5f5;
        color: #30a506
    }

    #cart-wrapper:not(:has(.cart-table)) .js-try-search-button {
        width: 100%;
        background: #ff7504;
        border: 0;
        color: #fff;
        border-radius: 10px;
        padding: 12px 16px;
        font-weight: 700;
        font-size: 16px;
        letter-spacing: .2px;
        cursor: pointer;
        transition: .2s
    }

    #cart-wrapper:not(:has(.cart-table)) .js-try-search-button:hover {
        background: #e67e00
    }

    #cart-wrapper:not(:has(.cart-table)) .col-md-4 .cart-content {
        background: #fff;
        border-radius: 18px;
        padding: 18px;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .08)
    }

    #cart-wrapper:not(:has(.cart-table)) .col-md-4 h4 {
        font-size: 18px;
        margin: 0 0 12px
    }

    #cart-wrapper:not(:has(.cart-table)) .box {
        display: block
    }

    #cart-wrapper:not(:has(.cart-table)) .contact-box {
        display: flex;
        align-items: center;
        gap: 12px
    }

    #cart-wrapper:not(:has(.cart-table)) .contact-box img {
        width: 56px;
        height: 56px;
        border-radius: 50%;
        object-fit: cover
    }

    #cart-wrapper:not(:has(.cart-table)) .contact-box strong {
        font-size: 17px
    }

    #cart-wrapper:not(:has(.cart-table)) .contact-box ul {
        margin: 6px 0 0;
        padding: 0;
        list-style: none
    }

    #cart-wrapper:not(:has(.cart-table)) .contact-box a {
        color: #30a506;
        text-decoration: none;
        font-weight: 700
    }

    #cart-wrapper:not(:has(.cart-table)) .contact-box a:hover {
        text-decoration: underline
    }
}

@media (max-width: 520px) {
    #cart-wrapper {
        padding: 10px
    }

    ol.cart-header {
        flex-direction: column;
        border-radius: 20px;
        gap: 0;
        padding: 0;
        margin: 15px auto !important
    }

    ol.cart-header .step {
        border-radius: 0;
        width: 100%;
        font-size: 24px;
        padding: 12px !important
    }

    ol.cart-header .step:first-child {
        border-radius: 20px 20px 0 0
    }

    ol.cart-header .step:last-child {
        border-radius: 0 0 20px 20px
    }

    ol.cart-header .step.active {
        border-radius: 0
    }

    ol.cart-header .step:first-child.active {
        border-radius: 20px 20px 0 0
    }

    ol.cart-header .step:last-child.active {
        border-radius: 0 0 20px 20px
    }

    ol.cart-header .step:only-child.active {
        border-radius: 20px
    }

    ol.cart-header .step:not(:last-child)::after {
        display: none
    }

    #cart-wrapper .cart-table-card {
        padding: 10px
    }

    #cart-wrapper .cart-table tr.removeable {
        padding: 12px;
        margin-bottom: 10px;
        grid-template-columns:70px 1fr 30px
    }

    #cart-wrapper .cart-p-image {
        width: 70px
    }

    #cart-wrapper .cart-p-image img {
        width: 70px;
        height: 70px;
        border-radius: 10px
    }

    #cart-wrapper .p-name .main-link {
        font-size: 16px
    }

    #cart-wrapper .coupon-input .discount-coupon {
        width: 100%
    }

    #cart-wrapper .toggle-coupon-input .discount-coupon .input-group {
        flex-direction: column;
        gap: 8px;
        width: 100%
    }

    #cart-wrapper .toggle-coupon-input .discount-coupon .btn {
        width: 100%
    }

    #cart-wrapper .row.summary > .col-md-4 {
        padding: 15px;
        border-radius: 15px
    }

    #cart-wrapper .price-wrapper .price-label {
        font-size: 14px
    }

    #cart-wrapper .price-wrapper .price {
        font-size: 22px
    }

    #cart-wrapper .price-wrapper .price-label.price-primary {
        font-size: 16px
    }

    #cart-wrapper .price-wrapper .price.price-primary {
        font-size: 22px
    }

    #cart-wrapper .next-step {
        margin: 15px 0 0;
        padding: 0 15px;
    }

    #cart-wrapper .btn {
        padding: 12px 20px;
        font-size: 16px
    }

    #cart-wrapper .btn-conversion .order-button-text {
        font-size: 16px
    }

    #cart-wrapper .p-price .price-final,
    #cart-wrapper .p-total .price-final {
        font-size: 18px
    }

    #cart-wrapper:not(:has(.cart-table)) .cart-inner.cart-empty {
        padding: 10px
    }

    #cart-wrapper:not(:has(.cart-table)) .cart-heading {
        font-size: 22px;
        margin: 6px 0 14px
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes .col-md-6 {
        padding: 14px;
        border-radius: 14px
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes h3 {
        text-align: center;
        font-size: 17px
    }

    #cart-wrapper:not(:has(.cart-table)) .empty-cart-boxes a {
        font-size: 15px;
        padding: 8px 10px
    }

    #cart-wrapper:not(:has(.cart-table)) .col-md-4 .cart-content {
        padding: 14px;
        border-radius: 14px
    }

    #cart-wrapper:not(:has(.cart-table)) .contact-box img {
        display: none;
    }

    #cart-wrapper:not(:has(.cart-table)) .js-try-search-button {
        height: 40px;
        font-size: 15px
    }
}

@media (min-width: 521px) {
    body.in-kosik .discount-coupon {
        width: 100% !important;
    }

    body.in-kosik .discount-coupon form {
        width: 100% !important;
        flex-direction: column;
    }

    body.in-kosik .next-step.next-step--cart {
        padding: 0 15px !important;
    }

    body.in-kosik .cart-header .step:not(.completed):not(:last-child):not(.step-2)::after {
        left: calc(100% + var(--step-gap) / 2 - var(--pad-x) / 2 + var(--arrow-tweak) - 10px) !important;
    }
}

@media (min-width: 768px) {
    body.in-kosik .cart-header .step:not(.completed):not(:last-child):not(.step-2)::after {
        left: calc(100% + var(--step-gap) / 2 - var(--pad-x) / 2 + var(--arrow-tweak)) !important;
    }

    body.in-kosik .discount-coupon {
        width: auto !important;
        display: inline-block !important;
    }

    body.in-kosik .discount-coupon form {
        width: auto !important;
        flex-direction: row;
    }

    body.in-kosik .row.summary {
        flex-direction: row !important;
    }

    body.in-kosik .discount-coupon .form-control {
        max-width: 140px !important;
    }

    body.in-kosik .next-step.next-step--cart {
        display: block !important;
    }

    body.in-kosik #cart-wrapper .row.summary > .col-md-4 {
        flex: none !important;
    }

    body.in-kosik #cart-wrapper .col-md-4 {
        width: auto !important;
        max-width: 400px;
    }

    /*body.in-kosik .cart-table .cart-p-image {*/
    /*    margin: 0 auto !important;*/
    /*}*/

    /*body.in-kosik .cart-table .p-name {*/
    /*    text-align: center;*/
    /*}*/

    body.in-kosik .cart-table tr.removeable {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    body.in-kosik .cart-table tr.removeable .cart-p-image,
    body.in-kosik .cart-table tr.removeable .p-name {
        order: 1;
    }

    body.in-kosik .cart-table tr.removeable .cart-p-image {
        flex: 0 0 100px;
        margin-right: 12px;
    }

    body.in-kosik .cart-table tr.removeable .p-name {
        flex: 1 1 calc(100% - 112px);
    }

    #cart-wrapper .box {
        border-radius: 30px;
    }
}

@media (min-width: 992px) {
    body.in-kosik .cart-table tr.removeable {
        display: table-row;
    }

    body.in-kosik .cart-table tr.removeable .cart-p-image,
    body.in-kosik .cart-table tr.removeable .p-name {
        flex: none !important;
        margin: 0 !important;
    }

    .popup-widget-inner .cart-widget-products {
        max-height: 700px;
    }

    body.in-kosik #cart-wrapper .col-md-4 {
        width: 400px !important;
    }

    body.in-kosik .discount-coupon .form-control {
        max-width: 240px !important;
    }

    /*body.in-kosik .row.summary {*/
    /*    flex-direction: row !important;*/
    /*}*/
}
