/* ==========================================================================
   NINO SEPO — CART PAGE
   ========================================================================== */


/* --------------------------------------------------------------------------
   Page
   -------------------------------------------------------------------------- */

body.woocommerce-cart {
    background: #fff;
    color: #111;
}

body.woocommerce-cart .ninosepo-cart-page {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding:
        52px
        clamp(24px, 5.2vw, 100px)
        110px;
}


/* --------------------------------------------------------------------------
   Editorial header
   -------------------------------------------------------------------------- */

body.woocommerce-cart .ninosepo-cart-page__header {
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(360px, 0.65fr);
    grid-template-areas:
        "eyebrow eyebrow"
        "title intro";
    column-gap: clamp(60px, 9vw, 170px);
    row-gap: 0;
    align-items: end;

    width: 100%;
    margin: 0 0 56px;
    padding: 26px 0 46px;

    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
}

body.woocommerce-cart .ninosepo-cart-page__eyebrow {
    grid-area: eyebrow;
    margin: 0 0 28px;
}

body.woocommerce-cart
.ninosepo-cart-page__eyebrow
.elementor-heading-title {
    margin: 0;
    color: #68717b;
    font-size: 9px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.woocommerce-cart .ninosepo-cart-page__title {
    grid-area: title;
    margin: 0;
}

body.woocommerce-cart
.ninosepo-cart-page__title
.elementor-heading-title {
    margin: 0;
    color: #111;
    font-size: clamp(52px, 4.4vw, 76px);
    font-weight: 400;
    line-height: 0.94;
    letter-spacing: -0.045em;
}

body.woocommerce-cart .ninosepo-cart-page__intro {
    grid-area: intro;
    align-self: end;
    margin: 0;
}

body.woocommerce-cart .ninosepo-cart-page__intro,
body.woocommerce-cart .ninosepo-cart-page__intro p {
    max-width: 430px;
    margin: 0;
    color: #444;
    font-family: inherit !important;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 0;
}


/* Prevent accidentally pasted preformatted text. */

body.woocommerce-cart
.ninosepo-cart-page__intro pre,
body.woocommerce-cart
.ninosepo-cart-page__intro code {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    white-space: normal;
}


/* --------------------------------------------------------------------------
   Elementor Cart widget reset
   -------------------------------------------------------------------------- */

body.woocommerce-cart .ninosepo-cart,
body.woocommerce-cart
.ninosepo-cart
.elementor-widget-container,
body.woocommerce-cart
.ninosepo-cart
.woocommerce,
body.woocommerce-cart
.ninosepo-cart
.e-cart__container,
body.woocommerce-cart
.ninosepo-cart
.e-cart__column,
body.woocommerce-cart
.ninosepo-cart
.e-cart-section,
body.woocommerce-cart
.ninosepo-cart
.cart-collaterals,
body.woocommerce-cart
.ninosepo-cart
.cart_totals {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart
.ninosepo-cart
.woocommerce {
    color: #111;
    font-family: inherit;
}

body.woocommerce-cart
.ninosepo-cart
.e-cart__container {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.72fr)
        minmax(350px, 0.78fr) !important;
    gap: clamp(72px, 6.8vw, 130px) !important;
    align-items: start;
    width: 100%;
}

body.woocommerce-cart
.ninosepo-cart
.e-cart__column {
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
}


/* --------------------------------------------------------------------------
   Shop table
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.e-shop-table {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
table.shop_table {
    width: 100%;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
    border-spacing: 0;
    border-radius: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
table.shop_table thead {
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}

body.woocommerce-cart
.ninosepo-cart
table.shop_table thead th {
    padding: 15px 12px !important;
    border: 0 !important;
    background: transparent !important;
    color: #68717b !important;
    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1.2;
    letter-spacing: 0.17em !important;
    text-align: left;
    text-transform: uppercase;
}

body.woocommerce-cart
.ninosepo-cart
table.shop_table thead th:first-child {
    padding-left: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
table.shop_table thead th:last-child {
    padding-right: 16px !important;
    text-align: right;
}


/* --------------------------------------------------------------------------
   Product rows
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.woocommerce-cart-form__cart-item {
    position: relative;
    border-bottom: 1px solid #dedede;
}

body.woocommerce-cart
.ninosepo-cart
.woocommerce-cart-form__cart-item td {
    height: 190px;
    padding: 24px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #dedede !important;
    background: transparent !important;
    vertical-align: middle;
}


/* --------------------------------------------------------------------------
   Remove button
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
td.product-remove {
    width: 28px !important;
    padding-left: 0 !important;
    padding-right: 8px !important;
}

body.woocommerce-cart
.ninosepo-cart
a.remove {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 22px !important;
    height: 22px !important;
    margin: 0;
    padding: 0;

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

    background: transparent !important;
    color: #8a8a8a !important;

    font-size: 0 !important;
    line-height: 1;
    text-decoration: none;
    transition: color 180ms ease;
}

body.woocommerce-cart
.ninosepo-cart
a.remove::before,
body.woocommerce-cart
.ninosepo-cart
a.remove::after {
    content: "";
    position: absolute;
    width: 13px;
    height: 1px;
    background: currentColor;
}

body.woocommerce-cart
.ninosepo-cart
a.remove::before {
    transform: rotate(45deg);
}

body.woocommerce-cart
.ninosepo-cart
a.remove::after {
    transform: rotate(-45deg);
}

body.woocommerce-cart
.ninosepo-cart
a.remove:hover,
body.woocommerce-cart
.ninosepo-cart
a.remove:focus-visible {
    background: transparent !important;
    color: #111 !important;
}


/* --------------------------------------------------------------------------
   Product photography
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
td.product-thumbnail {
    width: 154px !important;
    padding-left: 10px !important;
    padding-right: 24px !important;
}

body.woocommerce-cart
.ninosepo-cart
td.product-thumbnail a {
    display: block !important;
    width: 126px !important;
    height: 152px !important;
    overflow: hidden;
    background: #f4f4f2 !important;
}

body.woocommerce-cart
.ninosepo-cart
td.product-thumbnail img {
    display: block !important;
    width: 126px !important;
    min-width: 126px !important;
    max-width: none !important;
    height: 152px !important;
    margin: 0 !important;

    object-fit: cover !important;
    object-position: center !important;

    transition: transform 450ms ease;
}

body.woocommerce-cart
.ninosepo-cart
td.product-thumbnail a:hover img {
    transform: scale(1.018);
}


/* --------------------------------------------------------------------------
   Product information
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
td.product-name {
    width: auto;
    padding-left: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
td.product-name > a {
    color: #111 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;
    transition: opacity 180ms ease;
}

body.woocommerce-cart
.ninosepo-cart
td.product-name > a:hover {
    color: #111 !important;
    opacity: 0.52;
}

body.woocommerce-cart
.ninosepo-cart
td.product-name dl.variation {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 7px;
    row-gap: 4px;

    margin: 13px 0 0;
    color: #707070;

    font-size: 9px;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.woocommerce-cart
.ninosepo-cart
td.product-name dl.variation dt,
body.woocommerce-cart
.ninosepo-cart
td.product-name dl.variation dd,
body.woocommerce-cart
.ninosepo-cart
td.product-name dl.variation p {
    float: none;
    clear: none;
    margin: 0;
    padding: 0;
    font-weight: 400;
}


/* --------------------------------------------------------------------------
   Prices
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
td.product-price,
body.woocommerce-cart
.ninosepo-cart
td.product-subtotal {
    white-space: nowrap;
    color: #111 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

body.woocommerce-cart
.ninosepo-cart
td.product-subtotal {
    padding-right: 16px !important;
    text-align: right;
}


/* --------------------------------------------------------------------------
   Quantity
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
td.product-quantity {
    width: 96px !important;
}

body.woocommerce-cart
.ninosepo-cart
.quantity {
    display: inline-flex !important;
    align-items: center;

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

    border: 1px solid #d5d5d5 !important;
    background: #fff !important;
}

body.woocommerce-cart
.ninosepo-cart
.quantity .qty {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;

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

    background: transparent !important;
    color: #111 !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400;
    text-align: center;

    box-shadow: none !important;
    appearance: textfield;
    -moz-appearance: textfield;
}

body.woocommerce-cart
.ninosepo-cart
.quantity .qty::-webkit-inner-spin-button,
body.woocommerce-cart
.ninosepo-cart
.quantity .qty::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
}

body.woocommerce-cart
.ninosepo-cart
.quantity:focus-within {
    border-color: #111 !important;
}


/* --------------------------------------------------------------------------
   Update cart
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
td.actions {
    height: auto !important;
    padding: 26px 0 0 !important;
    border: 0 !important;
    text-align: left;
}

body.woocommerce-cart
.ninosepo-cart
td.actions button[name="update_cart"] {
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 7px !important;

    border: 0 !important;
    border-bottom: 1px solid currentColor !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #111 !important;

    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase;

    box-shadow: none !important;
}

body.woocommerce-cart
.ninosepo-cart
td.actions button[name="update_cart"]:disabled {
    color: #a0a0a0 !important;
    background: transparent !important;
    opacity: 1 !important;
    cursor: not-allowed;
}


/* --------------------------------------------------------------------------
   Coupon
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.coupon.e-cart-section {
    margin: 48px 0 0 !important;
    padding: 28px 0 !important;

    border-top: 1px solid #dedede !important;
    border-bottom: 1px solid #dedede !important;

    background: transparent !important;
}

body.woocommerce-cart
.ninosepo-cart
.coupon
.form-row.coupon-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 170px !important;
    align-items: stretch !important;
    gap: 12px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
.coupon
.coupon-col-start,
body.woocommerce-cart
.ninosepo-cart
.coupon
.coupon-col-end {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
.coupon
#coupon_code {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 15px !important;

    border: 1px solid #d5d5d5 !important;
    border-radius: 0 !important;
    outline: 0;

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

    font-family: inherit !important;
    font-size: 12px !important;
    box-shadow: none !important;
}

body.woocommerce-cart
.ninosepo-cart
.coupon
#coupon_code::placeholder {
    color: #777;
    opacity: 1;
}

body.woocommerce-cart
.ninosepo-cart
.coupon
#coupon_code:focus {
    border-color: #111 !important;
}

body.woocommerce-cart
.ninosepo-cart
.coupon
.e-apply-coupon {
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 18px !important;

    border: 1px solid #111 !important;
    border-radius: 0 !important;

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

    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;

    box-shadow: none !important;
    transition:
        background 180ms ease,
        color 180ms ease;
}

body.woocommerce-cart
.ninosepo-cart
.coupon
.e-apply-coupon:hover,
body.woocommerce-cart
.ninosepo-cart
.coupon
.e-apply-coupon:focus-visible {
    background: #111 !important;
    color: #fff !important;
}


/* --------------------------------------------------------------------------
   Cart totals
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.e-cart__column-inner {
    width: 100%;
}

body.woocommerce-cart
.ninosepo-cart
.e-sticky-right-column {
    position: sticky;
    top: 108px;
}

body.woocommerce-cart
.ninosepo-cart
.e-cart-totals {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
.cart_totals {
    width: 100% !important;
    float: none !important;
}

body.woocommerce-cart
.ninosepo-cart
.cart_totals h2 {
    margin: 0 !important;
    padding: 15px 0 !important;

    border-top: 1px solid #111 !important;
    border-bottom: 1px solid #dedede !important;

    color: #111 !important;
    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1.2;
    letter-spacing: 0.17em !important;
    text-transform: uppercase;
}

body.woocommerce-cart
.ninosepo-cart
.cart_totals table {
    margin: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
.cart_totals table th,
body.woocommerce-cart
.ninosepo-cart
.cart_totals table td {
    padding: 20px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid #dedede !important;

    background: transparent !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    vertical-align: middle;
}

body.woocommerce-cart
.ninosepo-cart
.cart_totals table th {
    width: 50%;
    color: #68717b !important;
    text-align: left;
}

body.woocommerce-cart
.ninosepo-cart
.cart_totals table td {
    color: #111 !important;
    text-align: right;
}

body.woocommerce-cart
.ninosepo-cart
.cart_totals tr.order-total th,
body.woocommerce-cart
.ninosepo-cart
.cart_totals tr.order-total td {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    color: #111 !important;
    font-size: 15px !important;
}

body.woocommerce-cart
.ninosepo-cart
.cart_totals tr.order-total strong {
    font-weight: 400 !important;
}


/* --------------------------------------------------------------------------
   Checkout button
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.wc-proceed-to-checkout {
    margin: 28px 0 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
.wc-proceed-to-checkout
.checkout-button,
body.woocommerce-cart
.ninosepo-cart
a.checkout-button.button.alt.wc-forward {
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 16px 24px !important;

    border: 1px solid #111 !important;
    border-radius: 0 !important;

    background-color: #111 !important;
    color: #fff !important;

    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0.16em !important;
    text-align: center;
    text-transform: uppercase !important;

    box-shadow: none !important;
    transition:
        background 180ms ease,
        color 180ms ease;
}

body.woocommerce-cart
.ninosepo-cart
.wc-proceed-to-checkout
.checkout-button:hover,
body.woocommerce-cart
.ninosepo-cart
a.checkout-button.button.alt.wc-forward:hover {
    background-color: #fff !important;
    color: #111 !important;
}

body.woocommerce-cart
.ninosepo-cart
.wc-proceed-to-checkout::after {
    content: "SECURE CHECKOUT  ·  30-DAY RETURNS";
    display: block;

    margin: 16px 0 0;

    color: #68717b;
    font-size: 8px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.14em;
    text-align: center;
}


/* --------------------------------------------------------------------------
   Notices
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}

body.woocommerce-cart
.ninosepo-cart
.woocommerce-message,
body.woocommerce-cart
.ninosepo-cart
.woocommerce-info,
body.woocommerce-cart
.ninosepo-cart
.woocommerce-error {
    margin: 0 0 36px;
    padding: 17px 20px;

    border: 1px solid #dedede;
    border-top-color: #111;
    border-radius: 0;

    background: #fff;
    color: #111;

    font-size: 12px;
    line-height: 1.6;
    list-style: none;
}

body.woocommerce-cart
.ninosepo-cart
.woocommerce-message::before,
body.woocommerce-cart
.ninosepo-cart
.woocommerce-info::before,
body.woocommerce-cart
.ninosepo-cart
.woocommerce-error::before {
    display: none;
}


/* --------------------------------------------------------------------------
   AJAX loading
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.blockUI.blockOverlay {
    background: rgba(255, 255, 255, 0.76) !important;
    opacity: 1 !important;
}

body.woocommerce-cart
.ninosepo-cart
.blockUI.blockOverlay::before {
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;

    border: 1px solid rgba(0, 0, 0, 0.22);
    border-top-color: #111;

    background: none;
    animation: ninosepo-cart-spin 650ms linear infinite;
}

@keyframes ninosepo-cart-spin {
    to {
        transform: rotate(360deg);
    }
}


/* --------------------------------------------------------------------------
   Empty cart
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.cart-empty {
    margin: 0;
    padding: 64px 20px;

    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;

    background: transparent;
    color: #111;

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

body.woocommerce-cart
.ninosepo-cart
.cart-empty::before {
    display: none;
}

body.woocommerce-cart
.ninosepo-cart
.return-to-shop {
    margin: 28px 0 0;
    text-align: center;
}

body.woocommerce-cart
.ninosepo-cart
.return-to-shop .button {
    min-width: 220px;
    min-height: 52px;
    padding: 17px 28px;

    border: 1px solid #111 !important;
    border-radius: 0 !important;

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

    font-family: inherit;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

body.woocommerce-cart
.ninosepo-cart
.return-to-shop .button:hover {
    background: #fff !important;
    color: #111 !important;
}


/* --------------------------------------------------------------------------
   Tablet
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {

    body.woocommerce-cart .ninosepo-cart-page {
        padding:
            46px
            clamp(22px, 4vw, 48px)
            90px;
    }

    body.woocommerce-cart
    .ninosepo-cart-page__header {
        grid-template-columns: 1fr 0.8fr;
        column-gap: 48px;
    }

    body.woocommerce-cart
    .ninosepo-cart
    .e-cart__container {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, 0.72fr) !important;
        gap: 44px !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-thumbnail {
        width: 116px !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-thumbnail a,
    body.woocommerce-cart
    .ninosepo-cart
    td.product-thumbnail img {
        width: 94px !important;
        min-width: 94px !important;
        height: 120px !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    .woocommerce-cart-form__cart-item td {
        height: 158px;
    }
}


/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {

    body.woocommerce-cart .ninosepo-cart-page {
        padding: 34px 18px 72px;
    }

    body.woocommerce-cart
    .ninosepo-cart-page__header {
        display: block;
        margin-bottom: 38px;
        padding: 22px 0 30px;
    }

    body.woocommerce-cart
    .ninosepo-cart-page__eyebrow {
        margin-bottom: 24px;
    }

    body.woocommerce-cart
    .ninosepo-cart-page__title
    .elementor-heading-title {
        font-size: clamp(42px, 13vw, 60px);
    }

    body.woocommerce-cart
    .ninosepo-cart-page__intro {
        margin-top: 24px;
    }

    body.woocommerce-cart
    .ninosepo-cart
    .e-cart__container {
        display: block !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    .e-cart__column-end {
        margin-top: 58px;
    }

    body.woocommerce-cart
    .ninosepo-cart
    .e-sticky-right-column {
        position: static;
    }

    body.woocommerce-cart
    .ninosepo-cart
    table.shop_table thead {
        display: none;
    }

    body.woocommerce-cart
    .ninosepo-cart
    table.shop_table_responsive
    tr.woocommerce-cart-form__cart-item {
        display: grid;
        grid-template-columns: 22px 94px minmax(0, 1fr);
        grid-template-areas:
            "remove image name"
            ". image price"
            ". image quantity"
            ". image subtotal";
        column-gap: 14px;
        row-gap: 9px;

        min-height: 0;
        padding: 24px 0;
    }

    body.woocommerce-cart
    .ninosepo-cart
    table.shop_table_responsive
    tr.woocommerce-cart-form__cart-item td {
        display: block;
        width: auto !important;
        height: auto;
        padding: 0 !important;

        border: 0 !important;
        background: transparent;
        text-align: left !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-remove {
        grid-area: remove;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-thumbnail {
        grid-area: image;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-name {
        grid-area: name;
        padding-right: 8px !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-price {
        grid-area: price;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-quantity {
        grid-area: quantity;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-subtotal {
        grid-area: subtotal;
        margin-top: 3px;
    }

    body.woocommerce-cart
    .ninosepo-cart
    table.shop_table_responsive
    tr td::before {
        display: none;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-thumbnail a,
    body.woocommerce-cart
    .ninosepo-cart
    td.product-thumbnail img {
        width: 94px !important;
        min-width: 94px !important;
        height: 122px !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-name > a {
        font-size: 14px !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-price::before,
    body.woocommerce-cart
    .ninosepo-cart
    td.product-subtotal::before {
        display: inline !important;
        float: none !important;

        margin-right: 7px;

        color: #747474;
        font-size: 8px;
        font-weight: 400;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-price::before {
        content: "Price";
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-subtotal::before {
        content: "Subtotal";
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.actions {
        display: block !important;
        padding-top: 24px !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    .coupon
    .form-row.coupon-col {
        grid-template-columns: 1fr !important;
    }
}


/* --------------------------------------------------------------------------
   Small mobile
   -------------------------------------------------------------------------- */

@media (max-width: 420px) {

    body.woocommerce-cart .ninosepo-cart-page {
        padding-inline: 14px;
    }

    body.woocommerce-cart
    .ninosepo-cart
    table.shop_table_responsive
    tr.woocommerce-cart-form__cart-item {
        grid-template-columns: 20px 78px minmax(0, 1fr);
        column-gap: 11px;
    }

    body.woocommerce-cart
    .ninosepo-cart
    td.product-thumbnail a,
    body.woocommerce-cart
    .ninosepo-cart
    td.product-thumbnail img {
        width: 78px !important;
        min-width: 78px !important;
        height: 104px !important;
    }
}


/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    body.woocommerce-cart .ninosepo-cart *,
    body.woocommerce-cart .ninosepo-cart *::before,
    body.woocommerce-cart .ninosepo-cart *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
/* ==========================================================================
   NINO SEPO — FINAL CART POLISH
   ========================================================================== */


/* --------------------------------------------------------------------------
   Remove accidental list marker from the editorial header
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart-page__header,
body.woocommerce-cart
.ninosepo-cart-page__header * {
    list-style: none !important;
}

body.woocommerce-cart
.ninosepo-cart-page__header *::marker {
    content: "" !important;
    display: none !important;
}

body.woocommerce-cart
.ninosepo-cart-page__header ul,
body.woocommerce-cart
.ninosepo-cart-page__header ol,
body.woocommerce-cart
.ninosepo-cart-page__header li {
    margin: 0 !important;
    padding: 0 !important;
}


/* --------------------------------------------------------------------------
   Slightly tighter product rows
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.woocommerce-cart-form__cart-item td {
    height: 178px;
}

body.woocommerce-cart
.ninosepo-cart
td.product-thumbnail a,
body.woocommerce-cart
.ninosepo-cart
td.product-thumbnail img {
    height: 144px !important;
}


/* --------------------------------------------------------------------------
   Keep cart actions close to the products
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
td.actions {
    padding-top: 22px !important;
    padding-bottom: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
.coupon.e-cart-section {
    margin-top: 34px !important;
}


/* --------------------------------------------------------------------------
   Force the coupon into a true horizontal layout
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
form.woocommerce-cart-form
.coupon.e-cart-section
.form-row.coupon-col {
    display: grid !important;
    grid-template-columns:
        minmax(220px, 1fr)
        164px !important;
    grid-template-rows: 48px !important;
    gap: 12px !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: 620px;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart
.ninosepo-cart
form.woocommerce-cart-form
.coupon
.coupon-col-start {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 1 !important;

    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    flex: none !important;
    float: none !important;
}

body.woocommerce-cart
.ninosepo-cart
form.woocommerce-cart-form
.coupon
.coupon-col-end {
    grid-column: 2 !important;
    grid-row: 1 !important;
    order: 2 !important;

    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    flex: none !important;
    float: none !important;
}


/* --------------------------------------------------------------------------
   Coupon input
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
form.woocommerce-cart-form
.coupon
#coupon_code {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 15px !important;

    border: 1px solid #d5d5d5 !important;
    border-radius: 0 !important;

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

    font-family: inherit !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;

    box-shadow: none !important;
    float: none !important;
}


/* --------------------------------------------------------------------------
   Coupon button
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
form.woocommerce-cart-form
.coupon
button.e-apply-coupon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 164px !important;
    min-width: 164px !important;
    max-width: 164px !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    border: 1px solid #111 !important;
    border-radius: 0 !important;

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

    font-family: inherit !important;
    font-size: 8px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;

    box-shadow: none !important;
    float: none !important;
}

body.woocommerce-cart
.ninosepo-cart
form.woocommerce-cart-form
.coupon
button.e-apply-coupon:hover {
    background: #111 !important;
    color: #fff !important;
}


/* --------------------------------------------------------------------------
   Give the cart a clean ending before the footer
   -------------------------------------------------------------------------- */

body.woocommerce-cart
.ninosepo-cart
.e-cart__column-start {
    padding-bottom: 10px !important;
}


/* --------------------------------------------------------------------------
   Mobile coupon
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {

    body.woocommerce-cart
    .ninosepo-cart
    form.woocommerce-cart-form
    .coupon.e-cart-section
    .form-row.coupon-col {
        grid-template-columns: 1fr !important;
        grid-template-rows: 48px 48px !important;
        max-width: none;
    }

    body.woocommerce-cart
    .ninosepo-cart
    form.woocommerce-cart-form
    .coupon
    .coupon-col-start {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    form.woocommerce-cart-form
    .coupon
    .coupon-col-end {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body.woocommerce-cart
    .ninosepo-cart
    form.woocommerce-cart-form
    .coupon
    button.e-apply-coupon {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}