/**
 * WooCommerce cart page — Dianeosis layout (Figma 421:6761 Cart).
 *
 * Restyles the default WooCommerce cart table into the design: no price column,
 * 64 px cover thumbnails, a −/+ quantity stepper (enhanced by cart.js), a
 * bordered coupon group, a text "update cart" action, and a right-aligned
 * totals card with the checkout button. Notice styling lives in
 * woocommerce-notices.css.
 */

/* ── Page title (Figma Titles/H3 — 36 px bold, LH 42, tracking -0.72) ─────── */
/* Generic pages use .dian-page__title at 56 px (H2). The cart title is the
   smaller H3 from Figma 421:6847, so it must override page.css here. */
.woocommerce-cart .dian-page__title,
.woocommerce-cart .entry-title,
.woocommerce-cart .woocommerce-products-header__title {
    margin-bottom: 32px;
    font-family: var(--dian-bague-bold);
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 4.2rem;
    letter-spacing: -0.72px;
    color: var(--surface-100);
}

/* Breathing room around the notice stack (Figma pt-32 / pb-40). */
.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) {
    margin: 32px 0 40px;
}

/* ── Cart table ───────────────────────────────────────────────────────────── */
.woocommerce-cart .woocommerce-cart-form {
    margin: 0;
}

.woocommerce-cart table.shop_table.cart {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

/* Column headers (Figma body/x-small — 14 px grey). */
.woocommerce-cart table.cart thead th {
    padding: 0 0 12px;
    font-family: var(--dian-bague-reg);
    font-size: 14px;
    line-height: 18px;
    font-weight: 400;
    color: var(--contrast);
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
    vertical-align: bottom;
    background: none;
    border: 0;
    border-bottom: 1px solid #e0dcd7;
}

.woocommerce-cart table.cart thead th.product-subtotal {
    text-align: right;
}

/* Cells + row rules. */
.woocommerce-cart table.cart td {
    padding: 24px 0;
    background: none;
    border: 0;
    border-bottom: 1px solid #e0dcd7;
    vertical-align: middle;
}

/* Closing rule under the last item is darker (Figma rule / close). */
.woocommerce-cart table.cart tbody tr.cart_item:last-of-type td {
    border-bottom-color: var(--surface-100);
}

/* Column widths mirror the design. */
.woocommerce-cart table.cart th.product-remove,
.woocommerce-cart table.cart td.product-remove {
    width: 44px;
    text-align: center;
}

.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail {
    width: 88px;
}

.woocommerce-cart table.cart th.product-quantity,
.woocommerce-cart table.cart td.product-quantity {
    width: 148px;
}

.woocommerce-cart table.cart th.product-subtotal,
.woocommerce-cart table.cart td.product-subtotal {
    width: 120px;
    text-align: right;
}

/* Remove link → masked close icon (a fixed 20px box, not the whole cell). */
.woocommerce-cart table.cart td.product-remove a.remove {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 auto;
    padding: 0;
    font-size: 0;
    line-height: 0;
    vertical-align: middle;
    color: transparent !important;
    background-color: #556566 !important;
    border-radius: 0;
    -webkit-mask: url("../icons/close-big.svg") no-repeat center / contain;
    mask: url("../icons/close-big.svg") no-repeat center / contain;
}

.woocommerce-cart table.cart td.product-remove a.remove:hover {
    color: transparent !important;
    background-color: var(--primary) !important;
}

/* Cover thumbnail with the Figma teal offset shadow. */
.woocommerce-cart table.cart td.product-thumbnail img {
    width: 64px;
    height: auto;
    margin: 0;
    border-radius: 0;
    box-shadow:
        0 1px 3px rgba(12, 12, 13, 0.08),
        4px 5px 0 rgba(0, 156, 167, 0.2);
}

/* Product name (Figma body/medium — 18 px regular). */
.woocommerce-cart table.cart td.product-name {
    padding-right: 40px;
    font-family: var(--dian-bague-reg);
    font-size: 18px;
    line-height: 22px;
    color: var(--surface-100);
}

.woocommerce-cart table.cart td.product-name a {
    font-family: var(--dian-bague-reg);
    font-weight: 400;
    color: var(--surface-100);
    text-decoration: none;
}

.woocommerce-cart table.cart td.product-name a:hover {
    color: var(--primary);
}

.woocommerce-cart table.cart td.product-name .variation {
    font-family: var(--dian-regal-reg);
    font-size: 14px;
    color: var(--contrast);
}

/* Subtotal (Figma body/medium-bold). */
.woocommerce-cart table.cart td.product-subtotal {
    font-family: var(--dian-bague-medium);
    font-size: 18px;
    line-height: 22px;
    font-weight: 500;
    color: var(--surface-100);
}

/* Price amounts: PF Bague is loaded as separate family names (Regular /
   Medium / Bold), so a 700 weight on Medium falls back to a system face.
   Set family + weight explicitly — do not use font: inherit. */
.woocommerce-cart .woocommerce-Price-amount,
.woocommerce-cart .woocommerce-Price-amount bdi,
.woocommerce-cart .woocommerce-Price-currencySymbol,
.woocommerce-cart .amount {
    font-family: var(--dian-bague-medium);
    font-weight: 500;
    font-style: normal;
    color: inherit;
}

.woocommerce-cart .cart_totals tr:not(.order-total) .woocommerce-Price-amount,
.woocommerce-cart .cart_totals tr:not(.order-total) .woocommerce-Price-amount bdi,
.woocommerce-cart .cart_totals tr:not(.order-total) .woocommerce-Price-currencySymbol,
.woocommerce-cart .cart_totals tr:not(.order-total) .amount {
    font-family: var(--dian-bague-reg);
    font-weight: 400;
}

/* ── Quantity stepper (Figma 421:6876) ────────────────────────────────────── */
.woocommerce-cart table.cart td.product-quantity .quantity {
    display: inline-flex;
    align-items: center;
    height: 44px;
    margin: 0;
    background: rgba(178, 170, 159, 0.2);
    border: 0;
    border-radius: 0;
    overflow: hidden;
}

.woocommerce-cart .quantity .dian-qty__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 44px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
}

.woocommerce-cart .quantity .dian-qty__btn::before {
    content: "";
    width: 16px;
    height: 16px;
    background-color: var(--surface-100);
    -webkit-mask: no-repeat center / contain;
    mask: no-repeat center / contain;
}

.woocommerce-cart .quantity .dian-qty__btn--minus::before {
    -webkit-mask-image: url("../icons/minus.svg");
    mask-image: url("../icons/minus.svg");
}

.woocommerce-cart .quantity .dian-qty__btn--plus::before {
    -webkit-mask-image: url("../icons/plus.svg");
    mask-image: url("../icons/plus.svg");
}

.woocommerce-cart .quantity .dian-qty__btn:disabled {
    opacity: 0.4;
    cursor: default;
}

.woocommerce-cart .quantity input.qty {
    width: 36px;
    height: 44px;
    margin: 0;
    padding: 0;
    font-family: var(--dian-bague-medium);
    font-size: 18px;
    line-height: 22px;
    font-weight: 500;
    text-align: center;
    color: var(--surface-100);
    background: transparent;
    border: 0;
    border-radius: 0;
    -moz-appearance: textfield;
    appearance: textfield;
}

.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.woocommerce-cart .quantity input.qty:focus {
    outline: none;
    box-shadow: none;
    border: 0;
}

/* ── Cart actions row (coupon + update) ───────────────────────────────────── */
.woocommerce-cart table.cart td.actions {
    padding: 32px 0 0;
    background: none;
    border: 0;
}

.woocommerce-cart .dian-cart-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.woocommerce-cart .coupon {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 420px;
    max-width: 100%;
    height: auto;
    min-height: 52px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e0dcd7;
    border-radius: 0;
    box-sizing: border-box;
}

.woocommerce-cart .coupon .input-text#coupon_code {
    flex: 1 1 0;
    order: 1;
    min-width: 0;
    width: auto !important;
    height: 52px;
    margin: 0;
    padding: 0 16px;
    font-family: var(--dian-bague-reg);
    font-size: 16px;
    line-height: 20px;
    color: var(--surface-100);
    background: transparent;
    border: 0;
    border-radius: 0;
}

.woocommerce-cart .coupon .input-text#coupon_code::placeholder {
    color: var(--contrast);
}

.woocommerce-cart .coupon .input-text#coupon_code:focus {
    outline: none;
    box-shadow: none;
}

.woocommerce-cart table.cart td.actions .coupon .button[name="apply_coupon"],
.woocommerce-cart .coupon .button[name="apply_coupon"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    order: 2;
    width: auto !important;
    height: 52px;
    margin: 0;
    padding: 0 20px;
    white-space: nowrap;
    font-family: var(--dian-bague-medium);
    font-size: 18px;
    line-height: 22px;
    font-weight: 500;
    color: #00838c !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid #e0dcd7 !important;
    border-radius: 0;
    text-transform: none;
    box-shadow: none;
    cursor: pointer;
}

.woocommerce-cart .coupon .button[name="apply_coupon"]:hover {
    color: var(--primary) !important;
    background: transparent !important;
}

/* WooCommerce appends <p class="coupon-error-notice"> inside .coupon and, on
   small screens, floats it at 48% width — that splits the field. Force a
   full-width row under the input + apply button. */
.woocommerce-cart table.cart td.actions .coupon .coupon-error-notice,
.woocommerce-cart .coupon .coupon-error-notice {
    flex: 1 0 100% !important;
    order: 3;
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    padding: 10px 16px;
    border-top: 1px solid #e0dcd7;
    font-family: var(--dian-bague-reg);
    font-size: 14px;
    line-height: 18px;
    color: #c0392b;
    text-align: left;
    box-sizing: border-box;
}

.woocommerce-cart .coupon .input-text#coupon_code.has-error {
    box-shadow: none;
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    width: auto;
    margin: 0 0 0 auto;
    padding: 0;
    white-space: nowrap;
    font-family: var(--dian-bague-medium);
    font-size: 18px;
    line-height: 22px;
    font-weight: 500;
    color: #556566 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    text-transform: none;
    box-shadow: none !important;
    cursor: pointer;
    opacity: 1;
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"]::before {
    content: "";
    width: 20px;
    height: 20px;
    background-color: var(--contrast);
    -webkit-mask: url("../icons/refresh.svg") no-repeat center / contain;
    mask: url("../icons/refresh.svg") no-repeat center / contain;
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"]:disabled {
    cursor: default;
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"]:hover:not(:disabled) {
    color: var(--primary) !important;
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"]:hover:not(:disabled)::before {
    background-color: var(--primary);
}

/* ── Totals card ──────────────────────────────────────────────────────────── */
/* The design has no cross-sells on the cart. */
.woocommerce-cart .cross-sells {
    display: none;
}

.woocommerce-cart .cart-collaterals {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    padding-top: 56px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    float: none;
    width: 508px;
    max-width: 100%;
}

.woocommerce-cart .cart_totals table.shop_table {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    border-collapse: collapse;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 16px 0 20px;
    background: none;
    border: 0;
    vertical-align: bottom;
}

.woocommerce-cart .cart_totals table th {
    font-family: var(--dian-bague-reg);
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    color: var(--contrast);
    text-align: left;
}

.woocommerce-cart .cart_totals table td {
    font-family: var(--dian-bague-reg);
    font-size: 16px;
    line-height: 20px;
    color: var(--contrast);
    text-align: right;
}

/* Total row: rule above + medium 18 px (Figma). */
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
    border-top: 1px solid #e0dcd7;
    font-family: var(--dian-bague-medium);
    font-size: 18px;
    line-height: 22px;
    font-weight: 500;
    color: var(--contrast);
}

/* Shipping row td: beat main.css article `p` (Regal + large body). */
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td label,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td li,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td .woocommerce-Price-amount bdi,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td .woocommerce-Price-currencySymbol,
.woocommerce-cart.page-template-default:not(.home) .inside-article .woocommerce-shipping-totals.shipping td p,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td .woocommerce-shipping-destination strong {
    font-family: var(--dian-bague-reg);
    font-size: 14px;
    line-height: 18px;
    font-weight: 400;
    color: var(--contrast);
}

.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-cart.page-template-default:not(.home) .inside-article .woocommerce-shipping-totals.shipping p,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-destination {
    margin: 0;
}

/* ── Checkout button ──────────────────────────────────────────────────────── */
.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 20px;
    padding: 0;
}

/* Figma 421:6971 — 58 px bar, 18/22 Medium, label + 20 px arrow centred. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    height: 58px;
    min-height: 58px;
    margin: 0;
    padding: 0 24px !important;
    font-family: var(--dian-bague-medium) !important;
    font-size: 1.8rem !important;
    line-height: 2.2rem !important;
    font-weight: 500 !important;
    letter-spacing: 0;
    color: var(--surface-0) !important;
    background: #00838c !important;
    border: 0 !important;
    border-radius: 0 !important;
    text-transform: none;
    text-decoration: none !important;
    white-space: nowrap;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    color: var(--surface-0) !important;
    background: var(--primary) !important;
    text-decoration: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button .dian-checkout-label {
    display: inline-flex;
    align-items: center;
    font-family: var(--dian-bague-medium);
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 500;
    color: var(--surface-0);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button .dian-checkout-arrow {
    display: block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-color: var(--surface-0);
    -webkit-mask: url("../icons/arrow-right.svg") no-repeat center / contain;
    mask: url("../icons/arrow-right.svg") no-repeat center / contain;
}

/* Kill WooCommerce's .wc-forward font glyph — it sits on the baseline. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
    content: none !important;
    display: none !important;
}

/* ── Empty cart return button ─────────────────────────────────────────────── */
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .return-to-shop a.button {
    display: inline-flex;
    align-items: center;
    font-family: var(--dian-bague-medium);
    font-size: 18px;
    font-weight: 500;
    color: var(--surface-0) !important;
    background: var(--primary) !important;
    border-radius: 0 !important;
    text-transform: none;
    text-decoration: none !important;
}

.woocommerce-cart .return-to-shop .button:hover,
.woocommerce-cart .return-to-shop a.button:hover {
    background: var(--primary) !important;
    color: var(--surface-0) !important;
    text-decoration: none !important;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media screen and (max-width: 768px) {
    .woocommerce-cart .dian-page__header {
        padding-inline: 0;
    }

    .woocommerce-cart .dian-page__title {
        margin-bottom: 24px;
        font-size: 2.8rem;
        line-height: 3.4rem;
        letter-spacing: -0.5px;
    }

    .woocommerce-cart table.shop_table.cart,
    .woocommerce-cart table.shop_table.cart tbody {
        display: block;
        width: 100%;
        table-layout: auto;
    }

    .woocommerce-cart table.cart thead {
        display: none;
    }

    /* Card row: remove | cover | name / qty + price. Undo WC stacked-table. */
    .woocommerce-cart table.cart tbody tr.cart_item {
        display: grid;
        grid-template-columns: 28px 56px minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 12px;
        row-gap: 12px;
        align-items: start;
        padding: 20px 0;
        background: none;
        border-bottom: 1px solid #e0dcd7;
    }

    .woocommerce-cart table.cart tbody tr.cart_item:last-of-type {
        border-bottom-color: var(--surface-100);
    }

    .woocommerce-cart table.cart tbody tr.cart_item td {
        display: block;
        width: auto !important;
        padding: 0 !important;
        background: none !important;
        border: 0 !important;
        text-align: left !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td::before {
        content: none !important;
        display: none !important;
    }

    .woocommerce-cart table.cart td.product-remove {
        grid-column: 1;
        grid-row: 1;
        text-align: left;
    }

    .woocommerce-cart table.cart td.product-thumbnail {
        display: block !important;
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .woocommerce-cart table.cart td.product-thumbnail img {
        width: 48px;
    }

    /* Safety net: the design has no per-unit price column. If the default
       cart.php (with a .product-price cell) is running instead of the theme
       override, keep it out of the item grid so the layout doesn't break. */
    .woocommerce-cart table.cart td.product-price {
        display: none !important;
    }

    .woocommerce-cart table.cart td.product-name {
        grid-column: 3 / span 2;
        grid-row: 1;
        padding-right: 0;
        font-size: 16px;
        line-height: 20px;
    }

    .woocommerce-cart table.cart td.product-quantity {
        grid-column: 3;
        grid-row: 2;
        width: auto;
    }

    .woocommerce-cart table.cart td.product-subtotal {
        grid-column: 4;
        grid-row: 2;
        align-self: center;
        font-size: 16px;
        line-height: 20px;
        text-align: right !important;
    }

    .woocommerce-cart table.cart td.product-quantity .quantity {
        height: 40px;
    }

    .woocommerce-cart .quantity .dian-qty__btn {
        width: 36px;
        height: 40px;
    }

    .woocommerce-cart .quantity input.qty {
        height: 40px;
        font-size: 16px;
    }

    .woocommerce-cart table.cart tbody > tr:not(.cart_item) {
        display: block;
    }

    .woocommerce-cart table.cart td.actions {
        display: block;
        padding: 24px 0 0;
        text-align: left;
    }

    .woocommerce-cart table.cart td.actions::before {
        display: none !important;
    }

    .woocommerce-cart .dian-cart-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    /* Beat WC smallscreen
       `.woocommerce table.cart td.actions .coupon { padding-bottom: .5em }`. */
    .woocommerce-cart table.cart td.actions .coupon,
    .woocommerce-cart #content table.cart td.actions .coupon,
    .woocommerce-page.woocommerce-cart table.cart td.actions .coupon {
        width: 100%;
        max-width: 100%;
        float: none;
        padding-bottom: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text,
    .woocommerce-cart table.cart td.actions .coupon input,
    .woocommerce-cart table.cart td.actions .coupon .button {
        float: none;
        width: auto !important;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text#coupon_code {
        flex: 1 1 0;
        width: auto !important;
    }

    .woocommerce-cart table.cart td.actions .coupon .button[name="apply_coupon"] {
        display: inline-flex !important;
        width: auto !important;
    }

    .woocommerce-cart table.cart td.actions .button[name="update_cart"] {
        display: inline-flex !important;
        margin-left: 0;
        width: auto !important;
        align-self: flex-start;
    }

    /* Keep totals as a 2-col table — do not stack + reprint data-title labels. */
    .woocommerce-cart .cart_totals table.shop_table,
    .woocommerce-cart .cart_totals table.shop_table tbody {
        display: table;
        width: 100%;
    }

    .woocommerce-cart .cart_totals table.shop_table tbody {
        display: table-row-group;
    }

    .woocommerce-cart .cart_totals table.shop_table tr {
        display: table-row;
    }

    .woocommerce-cart .cart_totals table.shop_table th,
    .woocommerce-cart .cart_totals table.shop_table td {
        display: table-cell !important;
        width: auto !important;
        background: none !important;
    }

    .woocommerce-cart .cart_totals table.shop_table td::before {
        content: none !important;
        display: none !important;
    }

    .woocommerce-cart .cart-collaterals {
        padding-top: 32px;
        justify-content: stretch;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        width: 100%;
    }

    td.actions {
        background: var(--surface-0) !important;
    }

    button.button[name="update_cart"] {
        margin-top: 24px !important;
    }
}

@media screen and (max-width: 400px) {
    .woocommerce-cart .coupon .button[name="apply_coupon"] {
        padding: 0 12px;
        font-size: 16px;
        line-height: 20px;
    }
}

/* ── Empty cart (404-style) ───────────────────────────────────────────────── */
.dian-empty-cart-page .content-area,
.dian-empty-cart-page .site-main {
    width: 100%;
    max-width: 100%;
}

body.dian-empty-cart-page:not(.home).one-container .site-main > :last-child {
    max-width: 100%;
    margin: 0 auto;
}

.woocommerce .dian-empty-cart {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: clamp(48rem, 62vh, 72rem);
    width: 100%;
    max-width: var(--dian-container-width, 1216px);
    margin-inline: auto;
    padding: var(--dian-spacing-96) var(--dian-spacing-24);
    box-sizing: border-box;
    text-align: center;
    isolation: isolate;
}

.woocommerce .dian-empty-cart .dian-404__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--dian-spacing-24);
    max-width: 64rem;
}

.woocommerce .dian-empty-cart .dian-404__title {
    margin: 0;
    font-family: var(--dian-bague-bold);
    font-size: var(--dian-font-size-h1);
    font-weight: 700;
    line-height: var(--dian-line-height-h1, 1.1);
    letter-spacing: -0.02em;
    color: var(--surface-100);
}

.woocommerce .dian-empty-cart .dian-404__text {
    margin: 0;
    max-width: 52rem;
    font-family: var(--dian-regal-reg);
    font-size: var(--dian-font-size-body-lg);
    line-height: var(--dian-line-height-body-lg, 1.45);
    color: var(--contrast);
}

.woocommerce .dian-empty-cart .dian-404__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--dian-spacing-16);
    margin-top: var(--dian-spacing-8);
}

.woocommerce .dian-empty-cart .dian-404__home {
    display: flex;
    padding: var(--dian-spacing-12) var(--dian-spacing-24);
    justify-content: center;
    align-items: center;
    border-radius: 0;
    background: var(--dian-btn-bg);
    font-family: var(--dian-bague-medium);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.2rem;
    color: var(--surface-0);
    text-decoration: none;
}

.woocommerce .dian-empty-cart ~ .return-to-shop,
.dian-empty-cart-page .return-to-shop,
.dian-empty-cart .return-to-shop {
    display: none;
}

.woocommerce .wc-empty-cart-message {
    display: none;
}

.woocommerce .dian-empty-cart .dian-404__code {
    margin: 0 0 var(--dian-spacing-24);
    font-family: var(--dian-bague-bold);
    font-size: clamp(8rem, 4rem + 12vw, 16rem);
    font-weight: 700;
    line-height: 0.9;
    letter-spacing: -0.04em;
    color: color-mix(in srgb, var(--primary) 20%, #fff);
    opacity: 1 !important;
    animation-name: dian-empty-cart-fade-up;
}

@keyframes dian-empty-cart-fade-up {
    from {
        opacity: 0;
        transform: translateY(1.2rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .woocommerce .dian-empty-cart .dian-404__code {
        animation: none;
    }
}

.dian-empty-cart-page.one-container .site-main > :last-child,
.dian-empty-cart-page .entry-content,
.dian-empty-cart-page .entry-content > .woocommerce {
    max-width: 100%;
    margin: 0;
}

.dian-empty-cart-page .entry-header,
.dian-empty-cart-page .entry-meta {
    display: none;
}

.dian-empty-cart-page .woocommerce-notices-wrapper:not(:empty) {
    width: 100%;
    max-width: var(--dian-container-width, 1216px);
    margin: var(--dian-spacing-32) auto 0;
    padding-inline: var(--dian-spacing-24);
    box-sizing: border-box;
}
