/* ==========================================================
   ISTYLE — CART 2026
   Modern minimal commerce UI
========================================================== */

body.woocommerce-cart {
    --cart-bg: #f7f3ee;
    --cart-surface: #ffffff;
    --cart-surface-soft: #fbf8f4;

    --cart-burgundy: #5A1C2D;
    --cart-text: #211d1e;
    --cart-muted: #7c7376;

    --cart-border: rgba(33, 29, 30, 0.10);
    --cart-border-strong: rgba(90, 28, 45, 0.18);

    margin: 0;

    background: var(--cart-bg);

    color: var(--cart-text);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Helvetica Neue",
        Arial,
        sans-serif;
}


/* ==========================================================
   REMOVE DEFAULT WOOCOMMERCE SPACING
========================================================== */

body.woocommerce-cart #primary,
body.woocommerce-cart #main,
body.woocommerce-cart main,
body.woocommerce-cart .site-main {

    width: 100%;

    max-width: none;

    margin: 0 !important;

    padding: 0 !important;
}


body.woocommerce-cart
#primary > .woocommerce {

    width: 100%;

    margin: 0;

    padding: 0;
}


/* ==========================================================
   PAGE
========================================================== */

.istyle-cart-page {

    width: 100%;

    padding:
        54px
        48px
        110px;

    box-sizing: border-box;
}


.istyle-cart-page__inner {

    width: 100%;

    max-width: 1280px;

    margin: 0 auto;
}


/* ==========================================================
   HEADING
========================================================== */

.istyle-cart-heading {

    margin-bottom: 38px;
}


.istyle-cart-heading__eyebrow {

    margin:
        0
        0
        10px;

    color: var(--cart-muted);

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 0.18em;

    text-transform: uppercase;
}


.istyle-cart-heading h1 {

    margin: 0;

    color: var(--cart-text);

    font-family: inherit;

    font-size:
        clamp(
            40px,
            4.6vw,
            60px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -0.045em;
}


/* ==========================================================
   MAIN LAYOUT
========================================================== */

.istyle-cart-layout {

    display: grid;

    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(360px, 0.72fr);

    gap: 56px;

    align-items: start;
}


/* ==========================================================
   PRODUCT LIST
========================================================== */

.istyle-cart-list {

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 14px;

    border: 0;
}


/* ==========================================================
   PRODUCT CARD
========================================================== */

.istyle-cart-item {

    position: relative;

    display: grid;

    grid-template-columns:
        138px
        minmax(0, 1fr)
        92px
        110px;

    grid-template-areas:
        "image info quantity subtotal";

    gap: 24px;

    align-items: center;

    padding:
        18px
        48px
        18px
        18px;

    background:
        var(--cart-surface);

    border:
        1px solid
        var(--cart-border);

    border-radius: 14px;

    box-sizing: border-box;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


@media (hover: hover) {

    .istyle-cart-item:hover {

        transform:
            translateY(-2px);

        box-shadow:
            0
            12px
            35px
            rgba(25, 20, 21, 0.06);
    }

}


/* ==========================================================
   REMOVE
========================================================== */

.istyle-cart-item__remove {

    position: absolute;

    top: 14px;

    right: 14px;
}


.istyle-cart-item__remove
a.remove {

    display: flex !important;

    width: 30px !important;

    height: 30px !important;

    align-items: center;

    justify-content: center;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 50% !important;

    background:
        #f6f2ef !important;

    color:
        #786d70 !important;

    font-size:
        17px !important;

    font-weight:
        300 !important;

    text-decoration:
        none !important;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.istyle-cart-item__remove
a.remove:hover {

    background:
        var(--cart-burgundy) !important;

    color:
        #fff !important;
}


/* ==========================================================
   PRODUCT IMAGE
========================================================== */

.istyle-cart-item__image {

    grid-area: image;

    width: 138px;
}


.istyle-cart-item__image a {

    display: block;
}


.istyle-cart-item__image img {

    display: block;

    width: 138px;

    height: 172px;

    max-width: none;

    object-fit: cover;

    object-position: center top;

    border-radius: 10px;

    background: #eee7df;
}


/* ==========================================================
   PRODUCT INFO
========================================================== */

.istyle-cart-item__info {

    grid-area: info;

    min-width: 0;
}


.istyle-cart-item__name {

    max-width: 330px;

    margin:
        0
        0
        10px;

    font-family: inherit;

    font-size:
        20px;

    font-weight:
        500;

    line-height:
        1.25;

    letter-spacing:
        -0.025em;
}


.istyle-cart-item__name a {

    color:
        var(--cart-text);

    text-decoration:
        none;
}


.istyle-cart-item__name a:hover {

    color:
        var(--cart-burgundy);
}


.istyle-cart-item__unit-price {

    margin: 0;

    color:
        var(--cart-muted);

    font-size:
        13px;

    font-weight:
        400;
}


/* ==========================================================
   LABEL
========================================================== */

.istyle-cart-item__label {

    display: block;

    margin-bottom:
        8px;

    color:
        var(--cart-muted);

    font-size:
        9px;

    font-weight:
        600;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


/* ==========================================================
   QUANTITY
========================================================== */

.istyle-cart-item__quantity {

    grid-area:
        quantity;
}


.istyle-cart-item__quantity
.quantity {

    width:
        68px;

    margin: 0;
}


.istyle-cart-item__quantity
.qty {

    width:
        68px;

    height:
        44px;

    margin: 0;

    padding:
        0
        8px;

    border:
        1px solid
        var(--cart-border-strong);

    border-radius:
        8px;

    outline: 0;

    background:
        var(--cart-surface-soft);

    color:
        var(--cart-text);

    font-size:
        14px;

    text-align:
        center;
}


/* ==========================================================
   SUBTOTAL
========================================================== */

.istyle-cart-item__subtotal {

    grid-area:
        subtotal;

    text-align:
        right;
}


.istyle-cart-item__subtotal strong {

    color:
        var(--cart-text);

    font-size:
        14px;

    font-weight:
        600;

    white-space:
        nowrap;
}


/* ==========================================================
   ACTIONS / COUPON
========================================================== */

.istyle-cart-actions {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

    margin-top:
        20px;
}


.istyle-cart-coupon {

    display: flex;

    flex: 1;

    max-width:
        480px;

    gap: 8px;
}


.istyle-cart-coupon
.input-text {

    flex: 1;

    height:
        48px;

    margin: 0;

    padding:
        0
        16px;

    border:
        1px solid
        var(--cart-border);

    border-radius:
        8px;

    outline: 0;

    background:
        var(--cart-surface);

    color:
        var(--cart-text);

    font-size:
        13px;
}


.istyle-cart-coupon
.input-text::placeholder {

    color:
        #999093;
}


.istyle-cart-coupon
.button,
.istyle-update-cart {

    min-height:
        48px !important;

    margin:
        0 !important;

    padding:
        0
        20px !important;

    border:
        1px solid
        var(--cart-burgundy) !important;

    border-radius:
        8px !important;

    background:
        transparent !important;

    color:
        var(--cart-burgundy) !important;

    font-family:
        inherit !important;

    font-size:
        10px !important;

    font-weight:
        600 !important;

    letter-spacing:
        0.10em !important;

    text-transform:
        uppercase !important;

    cursor:
        pointer;
}


.istyle-cart-coupon
.button:hover,
.istyle-update-cart:hover {

    background:
        var(--cart-burgundy) !important;

    color:
        #fff !important;
}


.istyle-update-cart:disabled {

    opacity:
        0.35;
}


/* ==========================================================
   ORDER SUMMARY
========================================================== */

.istyle-cart-summary {

    position:
        sticky;

    top:
        28px;

    padding:
        30px;

    border: 0;

    border-radius:
        16px;

    background:
        var(--cart-surface);

    box-shadow:
        0
        10px
        40px
        rgba(
            25,
            20,
            21,
            0.07
        );
}


/* ==========================================================
   SUMMARY HEADING
========================================================== */

.istyle-cart-summary h2 {

    margin:
        0
        0
        28px;

    color:
        var(--cart-text);

    font-family:
        inherit;

    font-size:
        25px;

    font-weight:
        600;

    line-height:
        1.1;

    letter-spacing:
        -0.035em;
}


/* ==========================================================
   DELIVERY ADDRESS
========================================================== */

.shipping-calculator-button {

    display:
        block !important;

    margin:
        0
        0
        18px;

    color:
        var(--cart-text) !important;

    font-size:
        11px !important;

    font-weight:
        600 !important;

    letter-spacing:
        0.08em !important;

    text-decoration:
        none !important;

    text-transform:
        uppercase;
}


.shipping-calculator-form {

    display:
        block !important;

    margin:
        0 !important;
}


.shipping-calculator-form
.form-row {

    width:
        100%;

    margin:
        0
        0
        14px;

    padding: 0;

    float:
        none;
}


.shipping-calculator-form label {

    display:
        block;

    margin-bottom:
        6px;

    color:
        var(--cart-muted);

    font-size:
        10px;

    font-weight:
        500;
}


.shipping-calculator-form
.required {

    color:
        var(--cart-burgundy);
}


.shipping-calculator-form
input,
.shipping-calculator-form
select {

    width:
        100% !important;

    height:
        46px !important;

    padding:
        0
        14px !important;

    border:
        1px solid
        var(--cart-border);

    border-radius:
        8px;

    outline: 0;

    background:
        #faf8f6;

    color:
        var(--cart-text);

    font-family:
        inherit;

    font-size:
        13px;

    box-sizing:
        border-box;
}


.shipping-calculator-form
input:focus,
.shipping-calculator-form
select:focus {

    border-color:
        rgba(
            90,
            28,
            45,
            0.45
        );

    background:
        #fff;
}


/* Hide update */
body.woocommerce-cart
.woocommerce-shipping-calculator
button[name="calc_shipping"] {

    display:
        none !important;
}


/* ==========================================================
   TOTAL ROWS
========================================================== */

.istyle-cart-summary__row {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    padding:
        15px
        0;

    border-bottom:
        1px solid
        var(--cart-border);
}


.istyle-cart-summary__row > span {

    color:
        var(--cart-muted);

    font-size:
        12px;

    font-weight:
        500;
}


.istyle-cart-summary__row strong {

    color:
        var(--cart-text);

    font-size:
        13px;

    font-weight:
        600;
}


/* ==========================================================
   TOTAL
========================================================== */

.istyle-cart-summary__total {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    margin-top:
        8px;

    padding-top:
        20px;

    border: 0;
}


.istyle-cart-summary__total > span {

    color:
        var(--cart-text);

    font-size:
        13px;

    font-weight:
        600;
}


.istyle-cart-summary__total strong {

    color:
        var(--cart-burgundy);

    font-family:
        inherit;

    font-size:
        24px;

    font-weight:
        600;

    letter-spacing:
        -0.03em;
}


/* ==========================================================
   CHECKOUT
========================================================== */

.istyle-cart-summary__checkout {

    margin-top:
        24px;
}


.istyle-cart-summary__checkout
.checkout-button {

    display:
        flex !important;

    width:
        100% !important;

    min-height:
        54px !important;

    align-items:
        center;

    justify-content:
        center;

    margin: 0 !important;

    padding:
        0
        20px !important;

    border:
        1px solid
        var(--cart-burgundy) !important;

    border-radius:
        9px !important;

    background:
        var(--cart-burgundy) !important;

    color:
        #fff !important;

    font-family:
        inherit !important;

    font-size:
        10px !important;

    font-weight:
        600 !important;

    letter-spacing:
        0.12em !important;

    text-decoration:
        none !important;

    text-transform:
        uppercase;

    box-sizing:
        border-box;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}


.istyle-cart-summary__checkout
.checkout-button:hover {

    transform:
        translateY(-1px);

    background:
        #451321 !important;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {

    .istyle-cart-page {

        padding:
            42px
            28px
            90px;
    }


    .istyle-cart-layout {

        grid-template-columns:
            1fr;

        gap:
            34px;
    }


    .istyle-cart-summary {

        position:
            static;

        width:
            100%;

        max-width:
            none;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .istyle-cart-page {

        padding:
            30px
            14px
            70px;
    }


    .istyle-cart-heading {

        margin-bottom:
            24px;
    }


    .istyle-cart-heading h1 {

        font-size:
            38px;
    }


    .istyle-cart-item {

        grid-template-columns:
            96px
            minmax(0,1fr);

        grid-template-areas:
            "image info"
            "image quantity"
            "image subtotal";

        gap:
            8px
            16px;

        padding:
            14px
            38px
            14px
            14px;

        border-radius:
            12px;
    }


    .istyle-cart-item__image,
    .istyle-cart-item__image img {

        width:
            96px;
    }


    .istyle-cart-item__image img {

        height:
            120px;
    }


    .istyle-cart-item__name {

        font-size:
            16px;
    }


    .istyle-cart-item__subtotal {

        text-align:
            left;
    }


    .istyle-cart-actions {

        display:
            block;

        margin-top:
            16px;
    }


    .istyle-cart-coupon {

        width:
            100%;

        max-width:
            none;
    }


    .istyle-update-cart {

        width:
            100%;

        margin-top:
            8px !important;
    }


    .istyle-cart-summary {

        padding:
            22px
            18px;

        border-radius:
            14px;
    }


    .istyle-cart-summary h2 {

        font-size:
            22px;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 420px) {

    .istyle-cart-coupon {

        flex-direction:
            column;
    }


    .istyle-cart-coupon
    .button {

        width:
            100% !important;
    }

}
/* ==========================================================
   ISTYLE — CART COLOR REFINEMENT
========================================================== */

body.woocommerce-cart {
    --cart-bg: #F3ECE2;
    --cart-surface: #F8F2EA;
    --cart-surface-soft: #F6EFE6;

    --cart-burgundy: #5A1C2D;

    --cart-text: #3A3033;
    --cart-muted: #8E777E;

    --cart-border: rgba(90, 28, 45, 0.11);
    --cart-border-strong: rgba(90, 28, 45, 0.20);

    background: var(--cart-bg);
}

/* Product card */
.istyle-cart-item {
    background: var(--cart-surface) !important;

    border-color:
        var(--cart-border) !important;

    box-shadow:
        0 8px 28px
        rgba(70, 48, 54, 0.045);
}

/* Summary card */
.istyle-cart-summary {
    background:
        #F8F2EA !important;

    box-shadow:
        0 12px 34px
        rgba(70, 48, 54, 0.06) !important;
}

/* Main title */
.istyle-cart-heading h1 {
    color:
        #352C2F !important;
}

/* Product title */
.istyle-cart-item__name a {
    color:
        #352C2F !important;
}

/* Summary title */
.istyle-cart-summary h2 {
    color:
        #352C2F !important;
}

/* Form fields */
.shipping-calculator-form input,
.shipping-calculator-form select {
    background:
        #FCF9F5 !important;

    border-color:
        rgba(90, 28, 45, 0.14) !important;
}

/* Quantity */
.istyle-cart-item__quantity .qty {
    background:
        #FCF9F5 !important;
}
.istyle-cart-item.is-updating {
    opacity: 0.55;
    pointer-events: none;

    transition:
        opacity 0.18s ease;
}
/* ==========================================================
   ISTYLE — MOBILE CART REFINEMENT
========================================================== */

@media (max-width: 767px) {

    /* Page */
    .istyle-cart-page {
        padding:
            24px
            14px
            60px;
    }

    .istyle-cart-heading {
        margin-bottom: 22px;
    }

    .istyle-cart-heading h1 {
        font-size: 34px !important;
        line-height: 1.02 !important;
        letter-spacing: -0.04em !important;
    }


    /* Product card */
    .istyle-cart-item {
        grid-template-columns:
            88px
            minmax(0, 1fr);

        grid-template-areas:
            "image info"
            "image quantity"
            "image subtotal";

        gap:
            6px
            14px;

        padding:
            14px
            36px
            14px
            14px;

        border-radius: 12px;
    }

    .istyle-cart-item__image,
    .istyle-cart-item__image img {
        width: 88px;
    }

    .istyle-cart-item__image img {
        height: 112px;
        border-radius: 9px;
    }


    /* Product name */
    .istyle-cart-item__name {
        max-width: none;

        margin-bottom: 6px;

        font-size: 16px !important;
        line-height: 1.18 !important;
        letter-spacing: -0.02em !important;
    }

    .istyle-cart-item__unit-price {
        font-size: 12px;
    }


    /* Quantity */
    .istyle-cart-item__quantity {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .istyle-cart-item__label {
        margin: 0;

        font-size: 8px;
        letter-spacing: 0.12em;
    }

    .istyle-cart-item__quantity .qty {
        width: 58px !important;
        height: 38px !important;

        border-radius: 7px;

        font-size: 14px;
    }


    /* Subtotal */
    .istyle-cart-item__subtotal {
        display: flex;
        align-items: center;
        justify-content: space-between;

        text-align: left;
    }

    .istyle-cart-item__subtotal strong {
        font-size: 13px;
    }


    /* Remove button */
    .istyle-cart-item__remove {
        top: 10px;
        right: 10px;
    }


    /* Order Summary */
    .istyle-cart-summary {
        padding:
            22px
            18px;

        border-radius: 14px;
    }

    .istyle-cart-summary h2 {
        margin-bottom: 22px;

        font-size: 24px !important;
        line-height: 1.05;
    }


    /* Delivery address */
    .shipping-calculator-button {
        margin-bottom: 14px !important;

        font-size: 9px !important;
        letter-spacing: 0.12em !important;
    }

    .shipping-calculator-form label {
        font-size: 10px;
    }

    .shipping-calculator-form input,
    .shipping-calculator-form select {
        height: 44px !important;

        font-size: 12px !important;
    }


    /* Summary rows */
    .istyle-cart-summary__row {
        padding: 13px 0;
    }

    .istyle-cart-summary__row > span {
        font-size: 11px;
    }

    .istyle-cart-summary__row strong {
        font-size: 12px;
    }


    /* Total */
    .istyle-cart-summary__total {
        padding-top: 18px;
    }

    .istyle-cart-summary__total > span {
        font-size: 12px;
    }

    .istyle-cart-summary__total strong {
        font-size: 21px !important;
    }


    /* Checkout button */
    .istyle-cart-summary__checkout {
        margin-top: 20px;
    }

    .istyle-cart-summary__checkout
    .checkout-button {
        min-height: 50px !important;

        font-size: 9px !important;
        letter-spacing: 0.11em !important;
    }

}
/* ==========================================================
   ISTYLE — EMPTY CART 2026
========================================================== */

body.woocommerce-cart
.wc-empty-cart-message,
body.woocommerce-cart
.cart-empty {

    width:
        min(
            calc(100% - 40px),
            720px
        );

    margin:
        70px
        auto
        0 !important;

    padding: 0 !important;

    border: 0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    color:
        var(--cart-text) !important;

    text-align:
        center;
}


/* Remove WooCommerce blue notice styling */
body.woocommerce-cart
.cart-empty.woocommerce-info {

    border: 0 !important;

    background:
        transparent !important;
}


body.woocommerce-cart
.cart-empty.woocommerce-info::before {

    display:
        none !important;
}


/* Main message */
body.woocommerce-cart
.cart-empty {

    font-size:
        0 !important;
}


body.woocommerce-cart
.cart-empty::before {

    content:
        "Your cart is empty";

    display:
        block;

    margin-bottom:
        14px;

    color:
        #352C2F;

    font-size:
        clamp(
            34px,
            4vw,
            48px
        );

    font-weight:
        500;

    line-height:
        1.05;

    letter-spacing:
        -0.04em;
}


body.woocommerce-cart
.cart-empty::after {

    content:
        "Discover timeless essentials designed for everyday elegance.";

    display:
        block;

    max-width:
        440px;

    margin:
        0
        auto;

    color:
        var(--cart-muted);

    font-size:
        14px;

    line-height:
        1.7;
}


/* Return to shop */
body.woocommerce-cart
.return-to-shop {

    width: 100%;

    margin:
        30px
        0
        90px !important;

    text-align:
        center;
}


body.woocommerce-cart
.return-to-shop
.button {

    display:
        inline-flex !important;

    min-width:
        210px;

    min-height:
        52px;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0
        28px !important;

    border:
        1px solid
        #5A1C2D !important;

    border-radius:
        8px !important;

    background:
        #5A1C2D !important;

    color:
        #fff !important;

    font-size:
        10px !important;

    font-weight:
        600 !important;

    letter-spacing:
        0.14em !important;

    text-transform:
        uppercase !important;

    text-decoration:
        none !important;
}


body.woocommerce-cart
.return-to-shop
.button:hover {

    background:
        #451321 !important;
}


/* ==========================================================
   REMOVE "ITEM REMOVED" BLUE SUCCESS NOTICE
========================================================== */

body.woocommerce-cart
.woocommerce-message {

    width:
        min(
            calc(100% - 40px),
            1280px
        );

    margin:
        22px
        auto
        0 !important;

    padding:
        14px
        18px !important;

    border:
        1px solid
        rgba(
            90,
            28,
            45,
            0.12
        ) !important;

    border-top:
        1px solid
        rgba(
            90,
            28,
            45,
            0.12
        ) !important;

    border-radius:
        8px !important;

    background:
        #F8F2EA !important;

    color:
        #4A3D42 !important;

    box-shadow:
        none !important;

    font-size:
        13px !important;
}


body.woocommerce-cart
.woocommerce-message::before {

    color:
        #5A1C2D !important;
}


body.woocommerce-cart
.woocommerce-message a {

    color:
        #5A1C2D !important;
}


/* ==========================================================
   MOBILE EMPTY CART
========================================================== */

@media (max-width: 767px) {

    body.woocommerce-cart
    .wc-empty-cart-message,
    body.woocommerce-cart
    .cart-empty {

        width:
            calc(100% - 28px);

        margin-top:
            42px !important;
    }


    body.woocommerce-cart
    .cart-empty::before {

        font-size:
            32px;
    }


    body.woocommerce-cart
    .cart-empty::after {

        padding:
            0
            8px;

        font-size:
            13px;
    }


    body.woocommerce-cart
    .return-to-shop {

        margin:
            24px
            0
            60px !important;
    }


    body.woocommerce-cart
    .return-to-shop
    .button {

        width:
            calc(100% - 28px);

        max-width:
            340px;
    }


    body.woocommerce-cart
    .woocommerce-message {

        width:
            calc(100% - 28px);

        margin-top:
            14px !important;
    }

}
/* ==========================================================
   PREVENT IOS ZOOM ON CART SHIPPING FIELDS
========================================================== */

@media (max-width: 767px) {

    body.woocommerce-cart
    .shipping-calculator-form select,

    body.woocommerce-cart
    .shipping-calculator-form input {

        font-size: 16px !important;
    }

}