/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 15 2026 | 13:19:26 */
/* =========================================================
   DAMIAN PHILPOTT
   WOOCOMMERCE CART
   MASTER VERSION
   DESKTOP + MOBILE + EMPTY CART
   ========================================================= */


/* =========================================================
   PAGE / THEME OVERRIDES
   ========================================================= */

body.woocommerce-cart main.main-row {
    min-height: 0 !important;
}

body.woocommerce-cart main.main-row > .container {
    width: calc(100vw - 80px) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.woocommerce-cart article,
body.woocommerce-cart .site-content,
body.woocommerce-cart .page-title,
body.woocommerce-cart .post-content,
body.woocommerce-cart .post-content > .woocommerce {
    width: 100% !important;
    max-width: none !important;
}

body.woocommerce-cart .site-content {
    color: #ffffff;
}

body.woocommerce-cart .post-content {
    padding-top: 0;
    padding-bottom: 58px;
}


/* =========================================================
   PAGE TITLE
   ========================================================= */

body.woocommerce-cart .page-title {
    position: relative;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;

    margin: 0 0 56px;
    padding: 24px 0 0;
}

body.woocommerce-cart .page-title::before {
    content: "SHOPPING BAG";
    display: block;

    margin-bottom: 10px;

    font-family: Helvetica, Arial, sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 3px;

    color: #FFD700;
}

body.woocommerce-cart .page-title h1 {
    margin: 0;
    padding: 0;

    font-size: 0;
    line-height: 1;

    color: transparent;
}

body.woocommerce-cart .page-title h1::before {
    content: none !important;
    display: none !important;
}

body.woocommerce-cart .page-title h1::after {
    content: "Your selections";
    display: block;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 54px;
    line-height: 1;
    font-weight: 400;

    letter-spacing: -1.4px;

    color: #ffffff;
}


/* =========================================================
   CONTINUE SHOPPING — DESKTOP
   ========================================================= */

body.woocommerce-cart .dp-continue-shopping {
    position: absolute;
    right: 0;
    bottom: 8px;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    font-family: Helvetica, Arial, sans-serif;
    font-size: 9px;
    line-height: 1;
    font-weight: 600;

    letter-spacing: 2px;
    text-transform: uppercase;

    text-decoration: none;

    color: #bcbcbc;

    transition: color 0.2s ease;
}

body.woocommerce-cart .dp-continue-shopping::before {
    content: "←";

    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;

    color: #FFD700;

    transition: transform 0.2s ease;
}

body.woocommerce-cart .dp-continue-shopping:hover {
    color: #ffffff;
}

body.woocommerce-cart .dp-continue-shopping:hover::before {
    transform: translateX(-3px);
}

body.woocommerce-cart .dp-mobile-continue-shopping {
    display: none;
}


/* =========================================================
   MAIN CART GRID
   ========================================================= */

body.woocommerce-cart .post-content > .woocommerce > .row {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        375px;

    gap: 52px;

    align-items: start;

    width: 100% !important;

    margin: 0 !important;
}

body.woocommerce-cart .post-content > .woocommerce > .row::before,
body.woocommerce-cart .post-content > .woocommerce > .row::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-cart .post-content > .woocommerce > .row > form,
body.woocommerce-cart .post-content > .woocommerce > .row > .col-md-4 {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}

body.woocommerce-cart .post-content > .woocommerce > .row > form {
    grid-column: 1;
    grid-row: 1;

    min-width: 0;
}

body.woocommerce-cart .post-content > .woocommerce > .row > .col-md-4 {
    grid-column: 2;
    grid-row: 1;
}


/* =========================================================
   CART TABLE
   ========================================================= */

body.woocommerce-cart table.shop_table.cart {
    width: 100% !important;

    margin: 0;

    border: 0;

    border-collapse: collapse;
    border-spacing: 0;

    table-layout: auto;

    background: transparent;
}

body.woocommerce-cart table.shop_table.cart th.product-remove {
    width: 36px;
}

body.woocommerce-cart table.shop_table.cart th.product-price {
    width: 120px;
}

body.woocommerce-cart table.shop_table.cart th.product-quantity {
    width: 95px;
}

body.woocommerce-cart table.shop_table.cart th.product-subtotal {
    width: 120px;
}


/* =========================================================
   TABLE HEADINGS
   ========================================================= */

body.woocommerce-cart table.shop_table.cart thead {
    background: transparent;
}

body.woocommerce-cart table.shop_table.cart thead tr {
    border-bottom: 1px solid #333333;
}

body.woocommerce-cart table.shop_table.cart thead th {
    padding: 0 10px 18px;

    border: 0;

    background: transparent;

    font-family: Helvetica, Arial, sans-serif;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 1.4px;
    text-transform: uppercase;

    color: #777777;
}


/* =========================================================
   PRODUCT ROW
   ========================================================= */

body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    min-height: 142px;

    border-bottom: 1px solid #303030;
}

body.woocommerce-cart table.shop_table.cart tbody td {
    border: 0;

    background: transparent;

    vertical-align: middle;
}


/* =========================================================
   REMOVE
   ========================================================= */

body.woocommerce-cart table.shop_table.cart td.product-remove {
    width: 36px;

    padding: 0 8px 0 0;
}

body.woocommerce-cart table.shop_table.cart a.remove {
    display: flex;

    width: 24px;
    height: 24px;

    align-items: center;
    justify-content: center;

    margin: 0;

    border: 0;

    background: transparent !important;

    font-size: 0;
    text-decoration: none;
}

body.woocommerce-cart table.shop_table.cart a.remove::before {
    content: "×";

    font-family: Helvetica, Arial, sans-serif;
    font-size: 22px;
    line-height: 1;
    font-weight: 300;

    color: #666666;

    transition: color 0.2s ease;
}

body.woocommerce-cart table.shop_table.cart a.remove:hover::before {
    color: #FFD700;
}


/* =========================================================
   PRODUCT IMAGE / TITLE
   ========================================================= */

body.woocommerce-cart table.shop_table.cart td.product-name {
    display: flex;

    align-items: center;

    min-width: 360px;

    padding: 16px 28px 16px 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    line-height: 1.28;
    font-weight: 400;

    color: #ffffff;
}

body.woocommerce-cart table.shop_table.cart td.product-name img {
    flex: 0 0 112px;

    width: 112px !important;
    height: 112px !important;

    max-width: 112px !important;

    margin: 0 25px 0 0 !important;

    border: 1px solid #5a4c20;

    object-fit: cover;
}

body.woocommerce-cart .dp-product-info {
    flex: 1;

    min-width: 0;
}

body.woocommerce-cart table.shop_table.cart td.product-name a {
    color: #ffffff;

    text-decoration: none;

    transition: color 0.2s ease;
}

body.woocommerce-cart table.shop_table.cart td.product-name a:hover {
    color: #FFD700;
}


/* =========================================================
   PRICE / QUANTITY / TOTAL
   ========================================================= */

body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    padding: 18px 10px;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 16px;
    line-height: 1;

    font-weight: 600;

    white-space: nowrap;

    color: #ffffff;
}

body.woocommerce-cart table.shop_table.cart td.product-quantity {
    padding: 18px 10px;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 13px;
    line-height: 1;

    font-weight: 500;

    text-align: center;

    white-space: nowrap;

    color: #ffffff;
}

body.woocommerce-cart table.shop_table.cart .woocommerce-Price-amount {
    color: #ffffff;
}


/* =========================================================
   QUANTITY BOX
   BOOKNETIC FIXED QUANTITY + PHYSICAL PRODUCTS
   ========================================================= */

/* Booknetic plain quantity */

body.woocommerce-cart .dp-qty-value {
    display: inline-flex;

    width: 52px;
    height: 40px;

    align-items: center;
    justify-content: center;

    border: 1px solid #444444;

    background: #090909;

    font-family: Helvetica, Arial, sans-serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;

    color: #ffffff;
}


/* Normal WooCommerce quantity input */

body.woocommerce-cart .quantity {
    display: inline-flex;

    align-items: center;
    justify-content: center;
}

body.woocommerce-cart .quantity input.qty {
    width: 52px;
    height: 40px;

    padding: 0 7px;

    border: 1px solid #444444;
    border-radius: 0;

    background: #090909;

    font-family: Helvetica, Arial, sans-serif;
    font-size: 12px;

    text-align: center;

    color: #ffffff;

    box-shadow: none;
    outline: none;
}

body.woocommerce-cart .quantity input.qty:focus {
    border-color: #FFD700;
}


/* =========================================================
   UPDATE CART
   ========================================================= */

body.woocommerce-cart table.shop_table.cart tr:last-child {
    border: 0;
}

body.woocommerce-cart table.shop_table.cart td.actions {
    padding: 15px 0 0;

    border: 0;

    text-align: right;
}

body.woocommerce-cart table.shop_table.cart td.actions .button {
    min-width: 112px;
    min-height: 36px;

    padding: 0 18px;

    border: 1px solid #454545;
    border-radius: 0;

    background: transparent;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.3px;
    text-transform: uppercase;

    color: #999999;

    box-shadow: none;
    text-shadow: none;
}

body.woocommerce-cart table.shop_table.cart td.actions .button:hover {
    border-color: #FFD700;

    color: #FFD700;
}


/* =========================================================
   COUPON
   ========================================================= */

body.woocommerce-cart .coupon-area {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 330px)
        150px;

    gap: 12px;

    width: 100%;

    margin: 0;

    padding: 73px 0 0;

    border: 0;

    background: transparent;
}

body.woocommerce-cart .coupon-area::before {
    content: "Have a promotional code?";

    position: absolute;

    top: 27px;
    left: 0;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 20px;
    line-height: 1.1;

    font-weight: 400;

    color: #ffffff;
}

body.woocommerce-cart .coupon-area::after {
    content: "Enter your code below to apply your discount.";

    position: absolute;

    top: 51px;
    left: 0;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 10px;
    line-height: 1.4;

    color: #777777;
}

body.woocommerce-cart .coupon-area .input-row-s1 {
    width: 100%;

    margin: 0;
}

body.woocommerce-cart .coupon-area input[type="text"],
body.woocommerce-cart .coupon-area #coupon_code {
    width: 100% !important;
    height: 46px;

    margin: 0 !important;
    padding: 0 15px;

    border: 1px solid #414141 !important;
    border-radius: 0 !important;

    background: #080808 !important;

    font-family: Helvetica, Arial, sans-serif;
    font-size: 11px;

    color: #ffffff !important;

    outline: none;

    box-shadow: none !important;
}

body.woocommerce-cart .coupon-area input[type="text"]::placeholder {
    color: #737373;

    opacity: 1;
}

body.woocommerce-cart .coupon-area input[type="text"]:focus {
    border-color: #FFD700 !important;
}

body.woocommerce-cart .coupon-area .button-style2 {
    width: 150px;
    height: 46px;

    margin: 0;
    padding: 0 15px;

    border: 1px solid #FFD700;
    border-radius: 0;

    background: transparent;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 8px;
    line-height: 44px;
    font-weight: 700;

    letter-spacing: 1.4px;
    text-transform: uppercase;

    color: #FFD700;

    box-shadow: none;
    text-shadow: none;
}

body.woocommerce-cart .coupon-area .button-style2:hover {
    background: #FFD700;

    color: #000000;
}


/* =========================================================
   ORDER SUMMARY
   ========================================================= */

body.woocommerce-cart .cart-collaterals {
    width: 100% !important;

    margin: 0 !important;

    text-align: left;
}

body.woocommerce-cart .cart_totals {
    width: 100% !important;

    margin: -3px 0 0 !important;

    padding: 31px 30px 25px;

    border: 1px solid #40391f;

    background:
        linear-gradient(
            145deg,
            #0E0E0E 0%,
            #080808 100%
        );
}


/* =========================================================
   ORDER SUMMARY HEADING
   ========================================================= */

body.woocommerce-cart .cart_totals .heading {
    margin: 0 0 22px;

    padding: 0;

    border: 0;
}

body.woocommerce-cart .cart_totals .heading h5 {
    margin: 0;

    font-size: 0;

    color: transparent;
}

body.woocommerce-cart .cart_totals .heading h5::after {
    content: "ORDER SUMMARY";

    display: block;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 11px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 2.4px;

    text-align: left;

    color: #FFD700;
}


/* =========================================================
   TOTALS
   ========================================================= */

body.woocommerce-cart .cart_totals table.shop_table {
    width: 100% !important;

    margin: 0 0 20px;

    border: 0;

    border-collapse: collapse;

    background: transparent;
}

body.woocommerce-cart .cart_totals table.shop_table tr {
    border: 0;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
    padding: 16px 0;

    border: 0;

    background: transparent;

    font-family: Helvetica, Arial, sans-serif;

    color: #aaaaaa;
}

body.woocommerce-cart .cart_totals table.shop_table th {
    font-size: 9px;

    font-weight: 500;

    letter-spacing: 0.5px;
    text-transform: uppercase;

    text-align: left;
}

body.woocommerce-cart .cart_totals table.shop_table td {
    font-size: 16px;

    font-weight: 500;

    text-align: right;
}

body.woocommerce-cart .cart_totals .cart-subtotal {
    border-bottom: 1px solid #303030;
}


/* =========================================================
   SHIPPING
   ========================================================= */

body.woocommerce-cart .cart_totals tr.shipping {
    border-bottom: 1px solid #303030;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
    margin: 0;
    padding: 0;

    list-style: none;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
    margin: 0 0 7px;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 11px;
    line-height: 1.4;

    color: #aaaaaa;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
    font-size: 10px;
    line-height: 1.5;

    color: #777777;
}

body.woocommerce-cart .cart_totals a.shipping-calculator-button {
    color: #FFD700;

    text-decoration: none;
}


/* =========================================================
   TOTAL
   ========================================================= */

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
    padding-top: 20px;

    color: #ffffff;
}

body.woocommerce-cart .cart_totals .order-total th {
    font-size: 10px;
}

body.woocommerce-cart .cart_totals .order-total td strong {
    font-size: 28px;
    line-height: 1;

    font-weight: 600;
}

body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
    color: #ffffff;
}


/* =========================================================
   CHECKOUT BUTTON
   ========================================================= */

body.woocommerce-cart .wc-proceed-to-checkout {
    margin: 0;

    padding: 0 0 23px;

    border-bottom: 1px solid #292929;
}

body.woocommerce-cart .wc-proceed-to-checkout a.button-style2 {
    position: relative;

    display: flex;

    width: 100%;
    min-height: 52px;

    align-items: center;
    justify-content: center;

    margin: 0;

    padding: 0 50px 0 24px;

    border: 1px solid #FFD700;
    border-radius: 0;

    background: #FFD700;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 9px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: 1.5px;
    text-transform: uppercase;

    text-decoration: none;

    color: #000000;

    box-shadow: none;
}

body.woocommerce-cart .wc-proceed-to-checkout a.button-style2::after {
    content: "→";

    position: absolute;

    right: 19px;
    top: 50%;

    transform: translateY(-50%);

    font-family: Arial, Helvetica, sans-serif;

    font-size: 19px;

    color: #000000;

    transition: right 0.2s ease;
}

body.woocommerce-cart .wc-proceed-to-checkout a.button-style2:hover {
    border-color: #ffffff;

    background: #ffffff;

    color: #000000;
}

body.woocommerce-cart .wc-proceed-to-checkout a.button-style2:hover::after {
    right: 15px;
}


/* =========================================================
   BENEFIT ICONS
   ========================================================= */

body.woocommerce-cart .dp-cart-benefits {
    margin-top: 10px;
}

body.woocommerce-cart .dp-cart-benefit {
    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr);

    column-gap: 14px;

    align-items: center;

    padding: 18px 0;
}

body.woocommerce-cart .dp-cart-benefit + .dp-cart-benefit {
    border-top: 1px solid #292929;
}

body.woocommerce-cart .dp-cart-benefit-icon {
    display: flex;

    width: 36px;
    height: 36px;

    align-items: center;
    justify-content: center;
}

body.woocommerce-cart .dp-cart-benefit-icon svg {
    display: block;

    width: 28px;
    height: 28px;

    fill: none;

    stroke: #FFD700;

    stroke-width: 1.35;

    stroke-linecap: round;
    stroke-linejoin: round;
}

body.woocommerce-cart .dp-cart-benefit-copy {
    min-width: 0;
}

body.woocommerce-cart .dp-cart-benefit-title {
    margin: 0 0 4px;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 9px;
    line-height: 1.3;

    font-weight: 700;

    letter-spacing: 1.15px;
    text-transform: uppercase;

    color: #e3e3e3;
}

body.woocommerce-cart .dp-cart-benefit-text {
    margin: 0;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 10px;
    line-height: 1.5;

    color: #777777;
}


/* =========================================================
   NORMAL WOOCOMMERCE NOTICES
   ========================================================= */

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
    margin: 0 0 26px;

    padding: 16px 19px;

    border: 1px solid #363636;
    border-top: 1px solid #FFD700;

    border-radius: 0;

    background: #171717;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 12px;
    line-height: 1.5;

    color: #d7d7d7;
}

body.woocommerce-cart .woocommerce-message::before {
    color: #FFD700;
}

body.woocommerce-cart .woocommerce-message.dp-item-removed::before {
    color: #FFD700 !important;
}

body.woocommerce-cart .woocommerce-message a {
    color: #ffffff;

    text-decoration: underline;
}

body.woocommerce-cart .woocommerce-message a:hover {
    color: #FFD700;
}


/* =========================================================
   EMPTY CART — CLEAN CUSTOM STATE
   ========================================================= */

body.woocommerce-cart .cart-empty.woocommerce-info {
    position: relative;

    width: 100% !important;

    margin: 0 !important;
    padding: 31px 0 5px !important;

    border: 0 !important;
    border-top: 1px solid #FFD700 !important;

    background: transparent !important;

    color: inherit !important;

    box-shadow: none !important;
}


/* Remove Woo/theme icon completely */

body.woocommerce-cart .cart-empty.woocommerce-info::before,
body.woocommerce-cart .cart-empty.woocommerce-info::after {
    display: none !important;

    content: none !important;
}


/* Empty heading */

body.woocommerce-cart .dp-empty-title {
    margin: 0 0 10px;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 12px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #FFD700;
}


/* Empty copy */

body.woocommerce-cart .dp-empty-copy {
    max-width: 540px;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 13px;
    line-height: 1.6;

    font-weight: 400;

    color: #8d8d8d;
}


/* Return button */

body.woocommerce-cart .return-to-shop {
    margin: 23px 0 0;
}

body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .return-to-shop a {
    position: relative;

    display: inline-flex;

    min-height: 44px;

    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 0 22px;

    border: 1px solid #FFD700 !important;
    border-radius: 0 !important;

    background: transparent !important;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 9px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: 1.5px;
    text-transform: uppercase;

    text-decoration: none;

    color: #FFD700 !important;

    box-shadow: none !important;
}

body.woocommerce-cart .return-to-shop .button:hover,
body.woocommerce-cart .return-to-shop a:hover {
    background: #FFD700 !important;

    color: #000000 !important;
}


/* Empty-cart page breathing room */

body.woocommerce-cart.dp-cart-empty-state .post-content {
    padding-bottom: 65px;
}

body.woocommerce-cart.dp-cart-empty-state .page-title {
    margin-bottom: 42px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    body.woocommerce-cart main.main-row > .container {
        width: calc(100vw - 50px) !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row {
        grid-template-columns:
            minmax(0, 1fr)
            330px;

        gap: 30px;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name {
        min-width: 0;

        font-size: 16px;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        flex-basis: 90px;

        width: 90px !important;
        height: 90px !important;

        max-width: 90px !important;

        margin-right: 18px !important;
    }
}


/* =========================================================
   TABLET STACKING
   ========================================================= */

@media (max-width: 900px) {

    body.woocommerce-cart .dp-continue-shopping {
        display: none !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row {
        grid-template-columns: 1fr;

        row-gap: 38px;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > form {
        grid-column: 1;
        grid-row: 1;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > .col-md-4 {
        grid-column: 1;
        grid-row: 2;
    }

    body.woocommerce-cart .cart_totals {
        max-width: 520px;

        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {


    /* PAGE */

    body.woocommerce-cart main.main-row > .container {
        width: calc(100vw - 32px) !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.woocommerce-cart .post-content {
        padding-bottom: 26px;
    }


    /* TITLE */

    body.woocommerce-cart .page-title {
        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;

        margin: 0 0 28px !important;

        padding: 30px 0 0 !important;
    }

    body.woocommerce-cart .page-title::before {
        position: static !important;

        display: block !important;

        margin: 0 0 9px !important;

        font-size: 9px !important;
        line-height: 1 !important;

        letter-spacing: 2.6px !important;

        color: #FFD700 !important;
    }

    body.woocommerce-cart .page-title h1 {
        overflow: visible !important;
    }

    body.woocommerce-cart .page-title h1::after {
        font-size: 38px !important;
        line-height: 1.04 !important;

        letter-spacing: -0.8px;
    }


    /* MAIN LAYOUT */

    body.woocommerce-cart .post-content > .woocommerce > .row {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 25px !important;
    }


    /* CART TABLE */

    body.woocommerce-cart table.shop_table.cart {
        display: block;

        width: 100% !important;
    }

    body.woocommerce-cart table.shop_table.cart thead {
        display: none !important;
    }

    body.woocommerce-cart table.shop_table.cart tbody {
        display: block;

        width: 100%;
    }


    /* PRODUCT */

    body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
        position: relative;

        display: grid !important;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        column-gap: 10px;

        width: 100%;

        min-height: 0;

        padding: 14px 0 17px;

        border-bottom: 1px solid #303030;
    }

    body.woocommerce-cart table.shop_table.cart tbody tr.cart_item:first-child {
        padding-top: 0;
    }


    /* REMOVE */

    body.woocommerce-cart table.shop_table.cart td.product-remove {
        position: absolute;

        top: 4px;
        right: 0;

        z-index: 4;

        display: block !important;

        width: 25px !important;

        padding: 0 !important;
    }

    body.woocommerce-cart table.shop_table.cart tbody tr.cart_item:not(:first-child)
    td.product-remove {
        top: 17px;
    }


    /* IMAGE / TITLE */

    body.woocommerce-cart table.shop_table.cart td.product-name {
        grid-column: 1 / -1;

        display: grid !important;

        grid-template-columns:
            84px
            minmax(0, 1fr);

        gap: 16px;

        align-items: center;

        width: 100% !important;
        min-width: 0 !important;

        padding: 0 34px 14px 0 !important;

        font-family: Georgia, "Times New Roman", serif;

        font-size: 17px;
        line-height: 1.23;

        color: #ffffff;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        display: block;

        width: 84px !important;
        height: 84px !important;

        max-width: 84px !important;

        margin: 0 !important;

        border: 1px solid #5a4c20;

        object-fit: cover;
    }

    body.woocommerce-cart .dp-product-info {
        min-width: 0;

        align-self: center;
    }


    /* PRICE / QUANTITY / TOTAL */

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-quantity,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        display: flex !important;

        flex-direction: column;

        width: auto !important;

        min-width: 0;

        gap: 7px;

        padding: 0 !important;

        border: 0;

        background: transparent;

        white-space: nowrap;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price {
        grid-column: 1;

        align-items: flex-start;

        text-align: left;
    }

    body.woocommerce-cart table.shop_table.cart td.product-quantity {
        grid-column: 2;

        align-items: center;

        text-align: center;
    }

    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        grid-column: 3;

        align-items: flex-end;

        text-align: right;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price::before,
    body.woocommerce-cart table.shop_table.cart td.product-quantity::before,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal::before {
        content: attr(data-title);

        display: block !important;

        position: static !important;

        width: auto !important;

        margin: 0 !important;

        font-family: Helvetica, Arial, sans-serif;

        font-size: 8px;
        line-height: 1;

        font-weight: 700;

        letter-spacing: 1.4px;
        text-transform: uppercase;

        color: #777777;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        font-size: 16px !important;
        line-height: 1;

        font-weight: 600;
    }

    body.woocommerce-cart table.shop_table.cart td.product-quantity {
        font-size: 13px !important;
    }


    /* MOBILE QUANTITY */

    body.woocommerce-cart .dp-qty-value,
    body.woocommerce-cart .quantity input.qty {
        width: 48px;
        height: 34px;

        font-size: 12px;
    }


    /* UPDATE CART */

    body.woocommerce-cart table.shop_table.cart tbody > tr:not(.cart_item) {
        display: block;

        width: 100%;
    }

    body.woocommerce-cart table.shop_table.cart td.actions {
        display: block !important;

        width: 100% !important;

        padding: 12px 0 0 !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions .button {
        width: 100%;
        min-height: 42px;

        padding: 0 14px;

        font-size: 8px;

        letter-spacing: 1.5px;
    }


    /* COUPON */

    body.woocommerce-cart .coupon-area {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            132px;

        gap: 9px;

        width: 100%;

        padding: 59px 0 0 !important;
    }

    body.woocommerce-cart .coupon-area::before {
        top: 16px !important;

        font-size: 18px !important;
        line-height: 1.1;
    }

    body.woocommerce-cart .coupon-area::after {
        top: 38px !important;

        font-size: 9px !important;
    }

    body.woocommerce-cart .coupon-area .input-row-s1 {
        width: 100%;

        margin: 0 !important;
    }

    body.woocommerce-cart .coupon-area input[type="text"],
    body.woocommerce-cart .coupon-area #coupon_code {
        height: 43px;

        padding: 0 13px;

        font-size: 11px;
    }

    body.woocommerce-cart .coupon-area .button-style2 {
        width: 132px;
        height: 43px;

        min-width: 0;

        padding: 0 10px;

        line-height: 41px;

        font-size: 7px;

        letter-spacing: 1.2px;
    }


    /* ORDER SUMMARY */

    body.woocommerce-cart .cart_totals {
        width: 100% !important;

        max-width: none !important;

        margin: 0 !important;

        padding: 20px 20px 17px !important;

        border: 1px solid #40391f;
    }


    /* SUMMARY HEADING */

    body.woocommerce-cart .cart_totals .heading {
        margin: 0 0 9px !important;

        padding: 0 !important;

        text-align: left !important;
    }

    body.woocommerce-cart .cart_totals .heading h5,
    body.woocommerce-cart .cart_totals .heading h5::after {
        text-align: left !important;
    }

    body.woocommerce-cart .cart_totals .heading h5::after {
        font-size: 10px !important;

        letter-spacing: 2.1px !important;
    }


    /* SUMMARY TABLE */

    body.woocommerce-cart .cart_totals table.shop_table {
        display: table !important;

        width: 100% !important;

        margin: 0 0 13px !important;

        border-collapse: collapse !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table tbody {
        display: table-row-group !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table tr {
        display: table-row !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table th,
    body.woocommerce-cart .cart_totals table.shop_table td {
        display: table-cell !important;

        width: 50% !important;

        padding: 11px 0 !important;

        border: 0 !important;

        vertical-align: middle !important;

        background: transparent !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table th {
        font-size: 8px !important;

        letter-spacing: 0.7px;

        text-align: left !important;

        color: #969696;
    }

    body.woocommerce-cart .cart_totals table.shop_table td {
        font-size: 17px !important;

        font-weight: 600;

        text-align: right !important;

        color: #ffffff;
    }

    body.woocommerce-cart .cart_totals table.shop_table td::before {
        display: none !important;

        content: none !important;
    }

    body.woocommerce-cart .cart_totals .cart-subtotal th,
    body.woocommerce-cart .cart_totals .cart-subtotal td {
        border-bottom: 1px solid #303030 !important;
    }

    body.woocommerce-cart .cart_totals .order-total th,
    body.woocommerce-cart .cart_totals .order-total td {
        padding-top: 13px !important;
        padding-bottom: 13px !important;
    }

    body.woocommerce-cart .cart_totals .order-total td strong,
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
        font-size: 27px !important;
        line-height: 1 !important;

        font-weight: 600 !important;
    }


    /* CHECKOUT */

    body.woocommerce-cart .wc-proceed-to-checkout {
        padding: 0 0 14px !important;

        border-bottom: 1px solid #292929;
    }

    body.woocommerce-cart .wc-proceed-to-checkout a.button-style2 {
        min-height: 48px;

        padding: 0 44px 0 17px;

        font-size: 8px;

        letter-spacing: 1.4px;
    }

    body.woocommerce-cart .wc-proceed-to-checkout a.button-style2::after {
        right: 16px;

        font-size: 18px;
    }


    /* BENEFITS */

    body.woocommerce-cart .dp-cart-benefits {
        margin-top: 4px;
    }

    body.woocommerce-cart .dp-cart-benefit {
        grid-template-columns:
            32px
            minmax(0, 1fr);

        column-gap: 11px;

        padding: 11px 0;
    }

    body.woocommerce-cart .dp-cart-benefit-icon {
        width: 29px;
        height: 29px;
    }

    body.woocommerce-cart .dp-cart-benefit-icon svg {
        width: 23px;
        height: 23px;

        stroke-width: 1.4;
    }

    body.woocommerce-cart .dp-cart-benefit-title {
        margin-bottom: 3px;

        font-size: 8px;

        letter-spacing: 1px;
    }

    body.woocommerce-cart .dp-cart-benefit-text {
        font-size: 9px;
        line-height: 1.35;
    }


    /* MOBILE CONTINUE SHOPPING */

    body.woocommerce-cart .dp-mobile-continue-shopping {
        display: flex;

        align-items: center;
        justify-content: center;

        gap: 11px;

        margin: 21px 0 3px;

        font-family: Helvetica, Arial, sans-serif;

        font-size: 9px;
        line-height: 1;

        font-weight: 600;

        letter-spacing: 2px;
        text-transform: uppercase;

        text-decoration: none;

        color: #999999;
    }

    body.woocommerce-cart .dp-mobile-continue-shopping::before {
        content: "←";

        font-family: Arial, Helvetica, sans-serif;

        font-size: 19px;

        color: #FFD700;
    }


    /* EMPTY CART MOBILE */

    body.woocommerce-cart.dp-cart-empty-state .page-title {
        margin-bottom: 28px !important;
    }

    body.woocommerce-cart .cart-empty.woocommerce-info {
        padding-top: 24px !important;
    }

    body.woocommerce-cart .dp-empty-title {
        margin-bottom: 8px;

        font-size: 10px;

        letter-spacing: 2.1px;
    }

    body.woocommerce-cart .dp-empty-copy {
        font-size: 12px;
        line-height: 1.5;
    }

    body.woocommerce-cart .return-to-shop {
        margin-top: 18px;
    }

    body.woocommerce-cart .return-to-shop .button,
    body.woocommerce-cart .return-to-shop a {
        width: auto;

        min-height: 43px;

        padding: 0 20px;
    }


    /* NOTICES MOBILE */

    body.woocommerce-cart .woocommerce-message,
    body.woocommerce-cart .woocommerce-info,
    body.woocommerce-cart .woocommerce-error {
        margin-bottom: 18px;

        padding: 13px 14px;

        font-size: 11px;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 390px) {

    body.woocommerce-cart main.main-row > .container {
        width: calc(100vw - 26px) !important;
    }

    body.woocommerce-cart .page-title h1::after {
        font-size: 35px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name {
        grid-template-columns:
            76px
            minmax(0, 1fr);

        gap: 13px;

        font-size: 15px;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        width: 76px !important;
        height: 76px !important;

        max-width: 76px !important;
    }

    body.woocommerce-cart .coupon-area {
        grid-template-columns:
            minmax(0, 1fr)
            115px;
    }

    body.woocommerce-cart .coupon-area .button-style2 {
        width: 115px;

        font-size: 6.5px;
    }

    body.woocommerce-cart .cart_totals {
        padding: 19px 17px 15px !important;
    }

    body.woocommerce-cart .cart_totals .order-total td strong,
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
        font-size: 24px !important;
    }

}

/* Header mini-cart styling now lives in the global Theme CSS. */


/* =========================================================
   DAMIAN PHILPOTT
   WOOCOMMERCE CART — REFINED V2
   VISUAL REFINEMENT PASS
   - no background image
   - preserve current desktop grid + order summary
   - refine Booknetic appointment metadata
   - tighten coupon / actions
   - stronger mobile service cards
   ========================================================= */


/* =========================================================
   DESKTOP — PRODUCT RHYTHM
   ========================================================= */

body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    min-height: 136px !important;
}

body.woocommerce-cart table.shop_table.cart td.product-name {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

body.woocommerce-cart table.shop_table.cart td.product-name > a,
body.woocommerce-cart .dp-product-info > a {
    display: inline-block;
    margin-bottom: 0;

    color: #F4F4F4 !important;

    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}


/* =========================================================
   BOOKNETIC APPOINTMENT DETAILS
   Clean the raw WooCommerce variation block without
   changing the underlying booking data.
   ========================================================= */

body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation {
    display: block !important;

    width: 100% !important;

    margin: 8px 0 0 !important;
    padding: 8px 0 0 !important;

    border-top: 1px solid #242424 !important;

    font-family: Helvetica, Arial, sans-serif !important;

    color: #A7A7A7 !important;
}

/* Remove the generic "Appointment details:" heading. */
body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation
dt.variation-Appointmentdetails {
    display: none !important;
}

/* Booknetic detail content */
body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation
dd.variation-Appointmentdetails {
    display: block !important;
    float: none !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #A8A8A8 !important;
}

/* Detail lines — Date / Time / Staff */
body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation
dd.variation-Appointmentdetails p {
    margin: 0 !important;
    padding: 0 !important;

    color: #A8A8A8 !important;

    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 500 !important;

    line-height: 1.65 !important;
    letter-spacing: .3px !important;

    font-variant-numeric: tabular-nums;
}

/* A restrained appointment label replaces the raw heading. */
body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation
dd.variation-Appointmentdetails::before {
    content: "APPOINTMENT";

    display: block;

    margin: 0 0 4px;

    color: #777777;

    font-family: Helvetica, Arial, sans-serif;
    font-size: 7px;
    font-weight: 700;

    line-height: 1;
    letter-spacing: 1.55px;
    text-transform: uppercase;
}


/* =========================================================
   GENERAL VARIATION FALLBACK
   Keeps future WooCommerce metadata tidy too.
   ========================================================= */

body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation dt,
body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation dd {
    font-family: Helvetica, Arial, sans-serif !important;
}

body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation dt:not(.variation-Appointmentdetails) {
    color: #777777 !important;

    font-size: 8px !important;
    font-weight: 700 !important;

    letter-spacing: .8px !important;
    text-transform: uppercase !important;
}

body.woocommerce-cart
table.shop_table.cart
td.product-name
dl.variation dd:not(.variation-Appointmentdetails) {
    color: #A8A8A8 !important;

    font-size: 9px !important;
}


/* =========================================================
   PRICE / QUANTITY / TOTAL
   Slightly quieter, cleaner alignment.
   ========================================================= */

body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    font-size: 15px !important;
    font-weight: 650 !important;
}

body.woocommerce-cart .dp-qty-value,
body.woocommerce-cart .quantity input.qty {
    width: 48px !important;
    height: 36px !important;

    border-color: #353535 !important;

    background: #080808 !important;

    font-size: 11px !important;
}


/* =========================================================
   CART ACTIONS
   ========================================================= */

body.woocommerce-cart table.shop_table.cart td.actions {
    padding-top: 12px !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .button {
    min-height: 34px !important;

    border-color: #383838 !important;

    color: #8D8D8D !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .button:hover {
    border-color: #FFD700 !important;

    color: #FFD700 !important;
}


/* =========================================================
   COUPON — PULL CLOSER TO CART
   ========================================================= */

body.woocommerce-cart .coupon-area {
    padding-top: 63px !important;
}

body.woocommerce-cart .coupon-area::before {
    top: 20px !important;

    font-size: 19px !important;
}

body.woocommerce-cart .coupon-area::after {
    top: 43px !important;
}


/* =========================================================
   ORDER SUMMARY
   Keep the existing design; only micro-polish.
   ========================================================= */

body.woocommerce-cart .cart_totals {
    border-color: #3A351F !important;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.008) !important;
}

body.woocommerce-cart .cart_totals .order-total td strong,
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
    font-weight: 650 !important;
}


/* =========================================================
   CART NOTICE
   ========================================================= */

body.woocommerce-cart .woocommerce-message {
    background: #151515 !important;
    border-color: #303030 !important;
    border-top-color: #FFD700 !important;

    color: #BDBDBD !important;

    font-size: 10px !important;
}


/* =========================================================
   MOBILE — REFINED SERVICE CARDS
   ========================================================= */

@media (max-width: 767px) {

    body.woocommerce-cart .page-title {
        margin-bottom: 23px !important;
    }

    body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
        position: relative;

        margin: 0 0 10px !important;
        padding: 14px !important;

        border: 1px solid #292929 !important;

        background:
            linear-gradient(
                145deg,
                #080808 0%,
                #040404 100%
            ) !important;
    }

    body.woocommerce-cart
    table.shop_table.cart
    tbody tr.cart_item:first-child {
        padding-top: 14px !important;
    }

    body.woocommerce-cart
    table.shop_table.cart
    tbody tr.cart_item
    td.product-remove {
        top: 9px !important;
        right: 7px !important;
    }

    body.woocommerce-cart
    table.shop_table.cart
    tbody tr.cart_item:not(:first-child)
    td.product-remove {
        top: 9px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name {
        grid-template-columns:
            78px
            minmax(0, 1fr) !important;

        gap: 14px !important;

        padding:
            0
            27px
            12px
            0 !important;

        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        width: 78px !important;
        height: 78px !important;

        max-width: 78px !important;

        border-color: #57491D !important;
    }

    body.woocommerce-cart
    table.shop_table.cart
    td.product-name
    dl.variation {
        margin-top: 7px !important;
        padding-top: 7px !important;

        border-top-color: #252525 !important;
    }

    body.woocommerce-cart
    table.shop_table.cart
    td.product-name
    dl.variation
    dd.variation-Appointmentdetails::before {
        margin-bottom: 4px;

        font-size: 6.5px;
        letter-spacing: 1.35px;
    }

    body.woocommerce-cart
    table.shop_table.cart
    td.product-name
    dl.variation
    dd.variation-Appointmentdetails p {
        font-size: 8px !important;
        line-height: 1.55 !important;

        color: #AFAFAF !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        font-size: 14px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price::before,
    body.woocommerce-cart table.shop_table.cart td.product-quantity::before,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal::before {
        font-size: 7px !important;
        letter-spacing: 1.15px !important;

        color: #666666 !important;
    }

    body.woocommerce-cart .dp-qty-value,
    body.woocommerce-cart .quantity input.qty {
        width: 44px !important;
        height: 32px !important;

        font-size: 11px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions {
        padding-top: 8px !important;
    }

    body.woocommerce-cart .coupon-area {
        padding-top: 54px !important;
    }

    body.woocommerce-cart .coupon-area::before {
        top: 13px !important;

        font-size: 17px !important;
    }

    body.woocommerce-cart .coupon-area::after {
        top: 34px !important;
    }

    body.woocommerce-cart .cart_totals {
        margin-top: 1px !important;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 390px) {

    body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
        padding: 12px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name {
        grid-template-columns:
            72px
            minmax(0, 1fr) !important;

        gap: 12px !important;

        font-size: 14px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        width: 72px !important;
        height: 72px !important;

        max-width: 72px !important;
    }

    body.woocommerce-cart
    table.shop_table.cart
    td.product-name
    dl.variation
    dd.variation-Appointmentdetails p {
        font-size: 7.5px !important;
    }

}

/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V3 — APPOINTMENT META ROW
   Requires: DAMIAN-PHILPOTT-CART-APPOINTMENT-META-V1.js
   ========================================================= */

/* Hide Booknetic's generic variation heading once enhanced. */
body.woocommerce-cart
table.shop_table.cart
dl.variation.dp-cart-appt-enhanced
dt.variation-Appointmentdetails {
    display: none !important;
}

/* Remove the V2 fallback "APPOINTMENT" label. */
body.woocommerce-cart
table.shop_table.cart
dl.variation.dp-cart-appt-enhanced
dd.variation-Appointmentdetails::before {
    content: none !important;
    display: none !important;
}

/* The enhanced block should feel part of the service title, not like plugin output. */
body.woocommerce-cart
table.shop_table.cart
dl.variation.dp-cart-appt-enhanced {
    margin: 9px 0 0 !important;
    padding: 0 !important;

    border: 0 !important;
}

body.woocommerce-cart
table.shop_table.cart
dl.variation.dp-cart-appt-enhanced
dd.variation-Appointmentdetails {
    display: block !important;
    float: none !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* DATE / TIME / WITH */
body.woocommerce-cart .dp-cart-appt-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;

    gap: 8px 13px;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    font-family: Helvetica, Arial, sans-serif;
}

body.woocommerce-cart .dp-cart-appt-item {
    position: relative;

    display: grid;
    grid-template-columns: 12px minmax(0, auto);
    column-gap: 5px;

    align-items: start;

    min-width: 0;
}

body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
    padding-left: 12px;

    border-left: 1px solid #292929;
}

body.woocommerce-cart .dp-cart-appt-icon {
    display: flex;

    width: 12px;
    height: 12px;

    align-items: center;
    justify-content: center;

    margin-top: 1px;

    color: #D6B800;
}

body.woocommerce-cart .dp-cart-appt-icon svg {
    display: block;

    width: 12px;
    height: 12px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.woocommerce-cart .dp-cart-appt-copy {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

body.woocommerce-cart .dp-cart-appt-label {
    display: block;

    margin: 0 0 2px;

    color: #666666;

    font-size: 6px;
    font-weight: 700;

    line-height: 1;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

body.woocommerce-cart .dp-cart-appt-value {
    display: block;

    color: #C7C7C7;

    font-size: 8.5px;
    font-weight: 550;

    line-height: 1.2;
    letter-spacing: .05px;

    white-space: nowrap;

    font-variant-numeric: tabular-nums;
}

body.woocommerce-cart
.dp-cart-appt-item--staff
.dp-cart-appt-value {
    color: #D7D7D7;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.woocommerce-cart
    table.shop_table.cart
    dl.variation.dp-cart-appt-enhanced {
        margin-top: 8px !important;
    }

    body.woocommerce-cart .dp-cart-appt-meta {
        gap: 8px 10px;
    }

    body.woocommerce-cart .dp-cart-appt-item {
        grid-template-columns: 11px minmax(0, auto);
        column-gap: 4px;
    }

    body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
        padding-left: 9px;
    }

    body.woocommerce-cart .dp-cart-appt-icon,
    body.woocommerce-cart .dp-cart-appt-icon svg {
        width: 11px;
        height: 11px;
    }

    body.woocommerce-cart .dp-cart-appt-label {
        margin-bottom: 2px;

        font-size: 5.5px;
        letter-spacing: .95px;
    }

    body.woocommerce-cart .dp-cart-appt-value {
        font-size: 7.5px;
    }

}


/* =========================================================
   VERY SMALL PHONES
   Keep WITH on a clean second line if space is tight.
   ========================================================= */

@media (max-width: 390px) {

    body.woocommerce-cart .dp-cart-appt-meta {
        row-gap: 9px;
    }

    body.woocommerce-cart .dp-cart-appt-item--staff {
        flex-basis: 100%;
    }

    body.woocommerce-cart
    .dp-cart-appt-item--staff {
        padding-left: 0 !important;
        border-left: 0 !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V4 — IMAGE + APPOINTMENT FIX
   ========================================================= */

/* Remove the square/gold frame around all cart product images. */
body.woocommerce-cart table.shop_table.cart td.product-name img {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Same rule on mobile/small phones, overriding earlier cart rules. */
@media (max-width: 767px) {
    body.woocommerce-cart table.shop_table.cart td.product-name img {
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }
}

/* The real Booknetic detail block is enhanced by Appointment Meta V2. */
body.woocommerce-cart .dp-cart-appt-raw-hidden {
    display: none !important;
}

body.woocommerce-cart .dp-cart-appt-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;

    gap: 8px 13px !important;

    width: 100% !important;

    margin: 9px 0 0 !important;
    padding: 8px 0 0 !important;

    border-top: 1px solid #252525 !important;

    font-family: Helvetica, Arial, sans-serif !important;
}

body.woocommerce-cart .dp-cart-appt-item {
    display: grid !important;
    grid-template-columns: 13px minmax(0, auto) !important;

    column-gap: 5px !important;

    align-items: start !important;

    min-width: 0 !important;
}

body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
    padding-left: 12px !important;

    border-left: 1px solid #292929 !important;
}

body.woocommerce-cart .dp-cart-appt-icon {
    display: flex !important;

    width: 13px !important;
    height: 13px !important;

    align-items: center !important;
    justify-content: center !important;

    margin-top: 1px !important;

    color: #FFD700 !important;
}

body.woocommerce-cart .dp-cart-appt-icon svg {
    display: block !important;

    width: 13px !important;
    height: 13px !important;

    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body.woocommerce-cart .dp-cart-appt-copy {
    display: flex !important;
    flex-direction: column !important;

    min-width: 0 !important;
}

body.woocommerce-cart .dp-cart-appt-label {
    display: block !important;

    margin: 0 0 3px !important;

    color: #666666 !important;

    font-size: 6px !important;
    font-weight: 700 !important;

    line-height: 1 !important;
    letter-spacing: 1.1px !important;

    text-transform: uppercase !important;
}

body.woocommerce-cart .dp-cart-appt-value {
    display: block !important;

    color: #D0D0D0 !important;

    font-size: 8.5px !important;
    font-weight: 550 !important;

    line-height: 1.2 !important;

    white-space: nowrap !important;

    font-variant-numeric: tabular-nums !important;
}

/* Hide Booknetic's empty variation heading/placeholder once V2 enhances the row. */
body.woocommerce-cart tr.dp-cart-has-appointment dl.variation {
    display: none !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.woocommerce-cart .dp-cart-appt-meta {
        gap: 8px 10px !important;

        margin-top: 8px !important;
        padding-top: 7px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item {
        grid-template-columns: 11px minmax(0, auto) !important;

        column-gap: 4px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
        padding-left: 9px !important;
    }

    body.woocommerce-cart .dp-cart-appt-icon,
    body.woocommerce-cart .dp-cart-appt-icon svg {
        width: 11px !important;
        height: 11px !important;
    }

    body.woocommerce-cart .dp-cart-appt-label {
        font-size: 5.5px !important;
        letter-spacing: .9px !important;
    }

    body.woocommerce-cart .dp-cart-appt-value {
        font-size: 7.5px !important;
    }

}

@media (max-width: 390px) {

    body.woocommerce-cart .dp-cart-appt-item--staff {
        flex-basis: 100% !important;

        padding-left: 0 !important;

        border-left: 0 !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V5 — TYPOGRAPHY PASS
   - "Your selections" -> "Your bag"
   - lighter product typography
   - quieter line-item prices
   - stronger appointment readability
   - lighter coupon heading
   ========================================================= */


/* =========================================================
   PAGE TITLE
   ========================================================= */

body.woocommerce-cart .page-title {
    margin-bottom: 50px !important;
}

body.woocommerce-cart .page-title h1::after {
    content: "Your bag" !important;

    font-size: 46px !important;
    line-height: 1.02 !important;

    font-weight: 400 !important;

    letter-spacing: -1.1px !important;
}


/* =========================================================
   PRODUCT NAMES
   Keep the editorial serif, but reduce its visual weight.
   ========================================================= */

body.woocommerce-cart table.shop_table.cart td.product-name {
    font-size: 17px !important;
    line-height: 1.28 !important;

    font-weight: 400 !important;
}

body.woocommerce-cart table.shop_table.cart td.product-name > a,
body.woocommerce-cart .dp-product-info > a,
body.woocommerce-cart table.shop_table.cart td.product-name a {
    font-size: 17px !important;
    line-height: 1.28 !important;

    font-weight: 400 !important;

    letter-spacing: -0.15px !important;

    color: #F0F0F0 !important;
}


/* =========================================================
   LINE-ITEM PRICES
   Make these secondary to the Order Summary total.
   ========================================================= */

body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    font-size: 14px !important;
    font-weight: 500 !important;

    letter-spacing: 0 !important;
}

body.woocommerce-cart
table.shop_table.cart
td.product-price
.woocommerce-Price-amount,
body.woocommerce-cart
table.shop_table.cart
td.product-subtotal
.woocommerce-Price-amount {
    font-size: inherit !important;
    font-weight: inherit !important;

    color: #E6E6E6 !important;
}


/* =========================================================
   QUANTITY
   ========================================================= */

body.woocommerce-cart .dp-qty-value,
body.woocommerce-cart .quantity input.qty {
    font-weight: 400 !important;

    color: #D5D5D5 !important;
}


/* =========================================================
   APPOINTMENT META
   V4 was visually correct but too small.
   ========================================================= */

body.woocommerce-cart .dp-cart-appt-meta {
    gap: 9px 14px !important;

    margin-top: 10px !important;
    padding-top: 9px !important;
}

body.woocommerce-cart .dp-cart-appt-item {
    grid-template-columns: 14px minmax(0, auto) !important;

    column-gap: 6px !important;
}

body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
    padding-left: 13px !important;
}

body.woocommerce-cart .dp-cart-appt-icon,
body.woocommerce-cart .dp-cart-appt-icon svg {
    width: 14px !important;
    height: 14px !important;
}

body.woocommerce-cart .dp-cart-appt-icon {
    margin-top: 2px !important;
}

body.woocommerce-cart .dp-cart-appt-label {
    margin-bottom: 3px !important;

    font-size: 7px !important;
    font-weight: 600 !important;

    letter-spacing: 1.15px !important;

    color: #747474 !important;
}

body.woocommerce-cart .dp-cart-appt-value {
    font-size: 9.5px !important;
    font-weight: 400 !important;

    line-height: 1.25 !important;

    color: #D3D3D3 !important;
}

body.woocommerce-cart
.dp-cart-appt-item--staff
.dp-cart-appt-value {
    color: #E0E0E0 !important;
}


/* =========================================================
   COUPON TYPOGRAPHY
   ========================================================= */

body.woocommerce-cart .coupon-area::before {
    font-size: 18px !important;
    line-height: 1.15 !important;

    font-weight: 400 !important;

    letter-spacing: -0.25px !important;

    color: #ECECEC !important;
}

body.woocommerce-cart .coupon-area::after {
    font-size: 9px !important;

    color: #747474 !important;
}


/* =========================================================
   ORDER SUMMARY
   Keep the total as the strongest numeric element.
   ========================================================= */

body.woocommerce-cart .cart_totals .cart-subtotal td,
body.woocommerce-cart .cart_totals .cart-subtotal .woocommerce-Price-amount {
    font-weight: 500 !important;
}

body.woocommerce-cart .cart_totals .order-total td strong,
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
    font-weight: 650 !important;
}


/* =========================================================
   MOBILE TYPOGRAPHY
   ========================================================= */

@media (max-width: 767px) {

    body.woocommerce-cart .page-title {
        margin-bottom: 25px !important;
    }

    body.woocommerce-cart .page-title h1::after {
        content: "Your bag" !important;

        font-size: 36px !important;
        line-height: 1.02 !important;

        letter-spacing: -0.8px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name,
    body.woocommerce-cart table.shop_table.cart td.product-name > a,
    body.woocommerce-cart .dp-product-info > a,
    body.woocommerce-cart table.shop_table.cart td.product-name a {
        font-size: 15px !important;
        line-height: 1.25 !important;

        letter-spacing: -0.1px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        font-size: 13px !important;
        font-weight: 500 !important;
    }

    body.woocommerce-cart .dp-cart-appt-meta {
        gap: 8px 10px !important;

        margin-top: 9px !important;
        padding-top: 8px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item {
        grid-template-columns: 12px minmax(0, auto) !important;

        column-gap: 5px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
        padding-left: 9px !important;
    }

    body.woocommerce-cart .dp-cart-appt-icon,
    body.woocommerce-cart .dp-cart-appt-icon svg {
        width: 12px !important;
        height: 12px !important;
    }

    body.woocommerce-cart .dp-cart-appt-label {
        font-size: 6px !important;

        letter-spacing: 1px !important;
    }

    body.woocommerce-cart .dp-cart-appt-value {
        font-size: 8.5px !important;
    }

    body.woocommerce-cart .coupon-area::before {
        font-size: 16px !important;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 390px) {

    body.woocommerce-cart .page-title h1::after {
        font-size: 33px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name,
    body.woocommerce-cart table.shop_table.cart td.product-name > a,
    body.woocommerce-cart .dp-product-info > a,
    body.woocommerce-cart table.shop_table.cart td.product-name a {
        font-size: 14px !important;
    }

    body.woocommerce-cart .dp-cart-appt-value {
        font-size: 8px !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V6 — MOBILE-ONLY FINAL POLISH
   - lighter promotional-code heading
   - slightly smaller Order Summary prices
   Desktop remains unchanged.
   ========================================================= */

@media (max-width: 767px) {

    /* ---------------------------------------------------------
       PROMOTIONAL CODE
       --------------------------------------------------------- */

    body.woocommerce-cart .coupon-area::before {
        font-size: 15px !important;
        line-height: 1.2 !important;
        font-weight: 400 !important;
        letter-spacing: -0.15px !important;
        color: #E3E3E3 !important;
    }

    body.woocommerce-cart .coupon-area::after {
        font-size: 8.5px !important;
        line-height: 1.4 !important;
        font-weight: 400 !important;
        color: #747474 !important;
    }


    /* ---------------------------------------------------------
       ORDER SUMMARY PRICES
       Subtotal quieter; Total still clearly dominant.
       --------------------------------------------------------- */

    body.woocommerce-cart
    .cart_totals
    .cart-subtotal
    td,
    body.woocommerce-cart
    .cart_totals
    .cart-subtotal
    td
    .woocommerce-Price-amount {
        font-size: 15px !important;
        font-weight: 500 !important;
    }

    body.woocommerce-cart
    .cart_totals
    .order-total
    td
    strong,
    body.woocommerce-cart
    .cart_totals
    .order-total
    .woocommerce-Price-amount {
        font-size: 24px !important;
        line-height: 1 !important;
        font-weight: 650 !important;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 390px) {

    body.woocommerce-cart .coupon-area::before {
        font-size: 14px !important;
    }

    body.woocommerce-cart
    .cart_totals
    .cart-subtotal
    td,
    body.woocommerce-cart
    .cart_totals
    .cart-subtotal
    td
    .woocommerce-Price-amount {
        font-size: 14px !important;
    }

    body.woocommerce-cart
    .cart_totals
    .order-total
    td
    strong,
    body.woocommerce-cart
    .cart_totals
    .order-total
    .woocommerce-Price-amount {
        font-size: 22px !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V7 — PHONE LANDSCAPE
   Compact cart layout for short landscape viewports only.
   Desktop and portrait mobile remain unchanged.
   ========================================================= */

@media
    (orientation: landscape)
    and (max-height: 520px)
    and (max-width: 950px) {

    /* ---------------------------------------------------------
       PAGE WIDTH / RHYTHM
       --------------------------------------------------------- */

    body.woocommerce-cart main.main-row > .container {
        width: calc(100vw - 32px) !important;
        max-width: none !important;
    }

    body.woocommerce-cart .post-content {
        padding-bottom: 30px !important;
    }


    /* ---------------------------------------------------------
       TITLE
       --------------------------------------------------------- */

    body.woocommerce-cart .page-title {
        margin: 0 0 22px !important;
        padding-top: 12px !important;
    }

    body.woocommerce-cart .page-title::before {
        margin-bottom: 7px !important;

        font-size: 8px !important;
        line-height: 1 !important;

        letter-spacing: 2.3px !important;
    }

    body.woocommerce-cart .page-title h1::after {
        content: "Your bag" !important;

        font-size: 36px !important;
        line-height: 1 !important;

        font-weight: 400 !important;

        letter-spacing: -0.8px !important;
    }

    body.woocommerce-cart .dp-continue-shopping {
        display: none !important;
    }


    /* ---------------------------------------------------------
       MAIN CART AREA
       --------------------------------------------------------- */

    body.woocommerce-cart .post-content > .woocommerce > .row {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > form {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > .col-md-4 {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }


    /* ---------------------------------------------------------
       TABLE
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart {
        table-layout: fixed !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-remove {
        width: 30px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-price {
        width: 88px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-quantity {
        width: 78px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-subtotal {
        width: 90px !important;
    }

    body.woocommerce-cart table.shop_table.cart thead th {
        padding: 0 7px 10px !important;

        font-size: 7px !important;
        line-height: 1 !important;

        letter-spacing: 1.25px !important;
    }


    /* ---------------------------------------------------------
       PRODUCT ROW
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
        min-height: 104px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-remove {
        width: 30px !important;
        padding-right: 5px !important;
    }

    body.woocommerce-cart table.shop_table.cart a.remove {
        width: 20px !important;
        height: 20px !important;
    }

    body.woocommerce-cart table.shop_table.cart a.remove::before {
        font-size: 18px !important;
    }


    /* ---------------------------------------------------------
       IMAGE / SERVICE
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.product-name {
        min-width: 0 !important;

        padding: 10px 12px 10px 0 !important;

        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        flex: 0 0 82px !important;

        width: 82px !important;
        height: 82px !important;
        max-width: 82px !important;

        margin-right: 14px !important;

        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name > a,
    body.woocommerce-cart .dp-product-info > a,
    body.woocommerce-cart table.shop_table.cart td.product-name a {
        font-size: 15px !important;
        line-height: 1.2 !important;

        font-weight: 400 !important;

        letter-spacing: -0.1px !important;
    }


    /* ---------------------------------------------------------
       APPOINTMENT META
       --------------------------------------------------------- */

    body.woocommerce-cart .dp-cart-appt-meta {
        gap: 7px 9px !important;

        margin-top: 7px !important;
        padding-top: 7px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item {
        grid-template-columns: 11px minmax(0, auto) !important;

        column-gap: 4px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
        padding-left: 8px !important;
    }

    body.woocommerce-cart .dp-cart-appt-icon,
    body.woocommerce-cart .dp-cart-appt-icon svg {
        width: 11px !important;
        height: 11px !important;
    }

    body.woocommerce-cart .dp-cart-appt-label {
        margin-bottom: 2px !important;

        font-size: 5.5px !important;

        letter-spacing: 0.9px !important;
    }

    body.woocommerce-cart .dp-cart-appt-value {
        font-size: 8px !important;
        line-height: 1.15 !important;
    }


    /* ---------------------------------------------------------
       PRICE / QUANTITY / TOTAL
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-quantity,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        padding: 10px 7px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        font-size: 12px !important;
        font-weight: 500 !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-quantity {
        font-size: 11px !important;
    }

    body.woocommerce-cart .dp-qty-value,
    body.woocommerce-cart .quantity input.qty {
        width: 42px !important;
        height: 32px !important;

        font-size: 10px !important;
    }


    /* ---------------------------------------------------------
       UPDATE CART
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.actions {
        padding-top: 10px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions .button {
        min-height: 34px !important;

        padding: 0 15px !important;

        font-size: 7px !important;

        letter-spacing: 1.2px !important;
    }


    /* ---------------------------------------------------------
       COUPON
       --------------------------------------------------------- */

    body.woocommerce-cart .coupon-area {
        grid-template-columns:
            minmax(0, 280px)
            132px !important;

        gap: 9px !important;

        padding-top: 55px !important;
    }

    body.woocommerce-cart .coupon-area::before {
        top: 18px !important;

        font-size: 15px !important;
        line-height: 1.15 !important;
    }

    body.woocommerce-cart .coupon-area::after {
        top: 38px !important;

        font-size: 8px !important;
    }

    body.woocommerce-cart .coupon-area input[type="text"],
    body.woocommerce-cart .coupon-area #coupon_code {
        height: 40px !important;

        font-size: 10px !important;
    }

    body.woocommerce-cart .coupon-area .button-style2 {
        width: 132px !important;
        height: 40px !important;

        font-size: 7px !important;
        line-height: 38px !important;

        letter-spacing: 1.2px !important;
    }


    /* ---------------------------------------------------------
       ORDER SUMMARY
       Keep it compact once the user scrolls down to it.
       --------------------------------------------------------- */

    body.woocommerce-cart .cart_totals {
        max-width: 520px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 23px 24px 20px !important;
    }

    body.woocommerce-cart .cart_totals .heading {
        margin-bottom: 14px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table {
        margin-bottom: 15px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table th,
    body.woocommerce-cart .cart_totals table.shop_table td {
        padding-top: 11px !important;
        padding-bottom: 11px !important;
    }

    body.woocommerce-cart .cart_totals .order-total td strong,
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
        font-size: 23px !important;
    }

    body.woocommerce-cart .wc-proceed-to-checkout a.button-style2 {
        min-height: 46px !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V8 — LANDSCAPE PHONE FIX
   V7's landscape rule was too narrow for the iPhone's
   reported CSS viewport width. This broader short-landscape
   rule catches modern large landscape phones while leaving
   normal desktop and portrait layouts untouched.
   ========================================================= */

@media
    (orientation: landscape)
    and (max-height: 600px)
    and (min-width: 768px)
    and (max-width: 1200px) {

    /* PAGE WIDTH */
    body.woocommerce-cart main.main-row > .container {
        width: calc(100vw - 32px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .post-content {
        padding-top: 0 !important;
        padding-bottom: 28px !important;
    }


    /* TITLE — dramatically reduce vertical footprint */
    body.woocommerce-cart .page-title {
        height: auto !important;
        min-height: 0 !important;

        margin: 0 0 18px !important;
        padding: 10px 0 0 !important;
    }

    body.woocommerce-cart .page-title::before {
        margin: 0 0 6px !important;

        font-size: 7px !important;
        line-height: 1 !important;
        letter-spacing: 2px !important;
    }

    body.woocommerce-cart .page-title h1::after {
        content: "Your bag" !important;

        font-size: 34px !important;
        line-height: 1 !important;
        font-weight: 400 !important;

        letter-spacing: -0.7px !important;
    }

    body.woocommerce-cart .dp-continue-shopping,
    body.woocommerce-cart .dp-mobile-continue-shopping {
        display: none !important;
    }


    /* STACK SUMMARY UNDER CART */
    body.woocommerce-cart .post-content > .woocommerce > .row {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 20px !important;

        width: 100% !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > form {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > .col-md-4 {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }


    /* CART TABLE */
    body.woocommerce-cart table.shop_table.cart {
        width: 100% !important;
        table-layout: fixed !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-remove {
        width: 28px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-price {
        width: 82px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-quantity {
        width: 74px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-subtotal {
        width: 84px !important;
    }


    /* HEADINGS */
    body.woocommerce-cart table.shop_table.cart thead th {
        padding: 0 6px 8px !important;

        font-size: 6.5px !important;
        line-height: 1 !important;

        letter-spacing: 1.1px !important;
    }


    /* PRODUCT ROW */
    body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
        min-height: 94px !important;
    }

    body.woocommerce-cart table.shop_table.cart tbody td {
        vertical-align: middle !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-remove {
        width: 28px !important;

        padding: 0 4px 0 0 !important;
    }

    body.woocommerce-cart table.shop_table.cart a.remove {
        width: 18px !important;
        height: 18px !important;
    }

    body.woocommerce-cart table.shop_table.cart a.remove::before {
        font-size: 17px !important;
    }


    /* PRODUCT IMAGE + COPY */
    body.woocommerce-cart table.shop_table.cart td.product-name {
        min-width: 0 !important;

        padding: 9px 10px 9px 0 !important;

        font-size: 14px !important;
        line-height: 1.16 !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        flex: 0 0 74px !important;

        width: 74px !important;
        height: 74px !important;
        max-width: 74px !important;

        margin: 0 12px 0 0 !important;

        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name > a,
    body.woocommerce-cart .dp-product-info > a,
    body.woocommerce-cart table.shop_table.cart td.product-name a {
        font-size: 14px !important;
        line-height: 1.16 !important;

        font-weight: 400 !important;

        letter-spacing: -0.08px !important;
    }


    /* APPOINTMENT META */
    body.woocommerce-cart .dp-cart-appt-meta {
        gap: 6px 8px !important;

        margin: 6px 0 0 !important;
        padding: 6px 0 0 !important;
    }

    body.woocommerce-cart .dp-cart-appt-item {
        grid-template-columns: 10px minmax(0, auto) !important;

        column-gap: 4px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
        padding-left: 7px !important;
    }

    body.woocommerce-cart .dp-cart-appt-icon,
    body.woocommerce-cart .dp-cart-appt-icon svg {
        width: 10px !important;
        height: 10px !important;
    }

    body.woocommerce-cart .dp-cart-appt-label {
        margin-bottom: 2px !important;

        font-size: 5px !important;
        letter-spacing: .8px !important;
    }

    body.woocommerce-cart .dp-cart-appt-value {
        font-size: 7.5px !important;
        line-height: 1.12 !important;
    }


    /* PRICE / QUANTITY / TOTAL */
    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-quantity,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        padding: 9px 6px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        font-size: 11px !important;
        font-weight: 500 !important;
    }

    body.woocommerce-cart .dp-qty-value,
    body.woocommerce-cart .quantity input.qty {
        width: 38px !important;
        height: 29px !important;

        font-size: 9px !important;
    }


    /* ACTIONS */
    body.woocommerce-cart table.shop_table.cart td.actions {
        padding-top: 8px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions .button {
        min-height: 31px !important;

        padding: 0 13px !important;

        font-size: 6.5px !important;
        letter-spacing: 1px !important;
    }


    /* COUPON */
    body.woocommerce-cart .coupon-area {
        grid-template-columns:
            minmax(0, 260px)
            122px !important;

        gap: 8px !important;

        padding-top: 48px !important;
    }

    body.woocommerce-cart .coupon-area::before {
        top: 15px !important;

        font-size: 14px !important;
        line-height: 1.1 !important;
    }

    body.woocommerce-cart .coupon-area::after {
        top: 33px !important;

        font-size: 7.5px !important;
    }

    body.woocommerce-cart .coupon-area input[type="text"],
    body.woocommerce-cart .coupon-area #coupon_code {
        height: 37px !important;

        font-size: 9px !important;
    }

    body.woocommerce-cart .coupon-area .button-style2 {
        width: 122px !important;
        height: 37px !important;

        font-size: 6.5px !important;
        line-height: 35px !important;
        letter-spacing: 1px !important;
    }


    /* ORDER SUMMARY */
    body.woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 500px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 20px 22px 18px !important;
    }

    body.woocommerce-cart .cart_totals .heading {
        margin-bottom: 12px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table {
        margin-bottom: 13px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table th,
    body.woocommerce-cart .cart_totals table.shop_table td {
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }

    body.woocommerce-cart .cart_totals .order-total td strong,
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
        font-size: 22px !important;
    }

    body.woocommerce-cart .wc-proceed-to-checkout a.button-style2 {
        min-height: 43px !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V9 — LANDSCAPE PHONE DEFINITIVE FIX
   Uses the EXACT SAME media query as Site Layout Master V4,
   which is already proven to fire on the iPhone landscape
   header:
   @media screen and (orientation: landscape) and (max-height: 600px)

   No min-width / max-width restriction.
   ========================================================= */

@media screen and (orientation: landscape) and (max-height: 600px) {

    /* ---------------------------------------------------------
       CART PAGE SHELL
       --------------------------------------------------------- */

    body.woocommerce-cart main.main-row,
    body.woocommerce-cart main.main-row > .container,
    body.woocommerce-cart article,
    body.woocommerce-cart .site-content,
    body.woocommerce-cart .post-content {
        min-height: 0 !important;
    }

    body.woocommerce-cart main.main-row > .container {
        width: calc(100% - 32px) !important;
        max-width: none !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .site-content,
    body.woocommerce-cart .post-content {
        padding-top: 0 !important;
    }


    /* ---------------------------------------------------------
       TITLE AREA
       --------------------------------------------------------- */

    body.woocommerce-cart .page-title {
        height: auto !important;
        min-height: 0 !important;

        margin: 0 0 18px !important;
        padding: 12px 0 0 !important;
    }

    body.woocommerce-cart .page-title::before {
        display: block !important;

        margin: 0 0 6px !important;

        font-size: 7px !important;
        line-height: 1 !important;
        letter-spacing: 2px !important;
    }

    body.woocommerce-cart .page-title h1 {
        margin: 0 !important;
        padding: 0 !important;

        font-size: 0 !important;
        line-height: 1 !important;
    }

    body.woocommerce-cart .page-title h1::after {
        content: "Your bag" !important;

        display: block !important;

        margin: 0 !important;

        font-size: 34px !important;
        line-height: 1 !important;
        font-weight: 400 !important;
        letter-spacing: -0.7px !important;
    }

    body.woocommerce-cart .dp-continue-shopping,
    body.woocommerce-cart .dp-mobile-continue-shopping {
        display: none !important;
    }


    /* ---------------------------------------------------------
       REMOVE DESKTOP DEAD SPACE
       --------------------------------------------------------- */

    body.woocommerce-cart form.woocommerce-cart-form {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.woocommerce-cart table.shop_table.cart {
        margin-top: 0 !important;
        table-layout: fixed !important;
    }

    body.woocommerce-cart table.shop_table.cart thead {
        height: auto !important;
    }

    body.woocommerce-cart table.shop_table.cart thead tr {
        height: auto !important;
    }

    body.woocommerce-cart table.shop_table.cart thead th {
        height: auto !important;
        min-height: 0 !important;

        padding-top: 0 !important;
        padding-bottom: 8px !important;

        font-size: 6.5px !important;
        line-height: 1 !important;
        letter-spacing: 1.1px !important;
    }


    /* ---------------------------------------------------------
       MAIN LAYOUT
       --------------------------------------------------------- */

    body.woocommerce-cart .post-content > .woocommerce > .row {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 20px !important;

        width: 100% !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > form {
        grid-column: 1 !important;
        grid-row: 1 !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > .col-md-4 {
        grid-column: 1 !important;
        grid-row: 2 !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
    }


    /* ---------------------------------------------------------
       COLUMN WIDTHS
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart th.product-remove {
        width: 28px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-price {
        width: 80px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-quantity {
        width: 72px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-subtotal {
        width: 82px !important;
    }


    /* ---------------------------------------------------------
       PRODUCT ROW
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
        height: auto !important;
        min-height: 0 !important;
    }

    body.woocommerce-cart table.shop_table.cart tbody td {
        height: auto !important;
        min-height: 0 !important;

        vertical-align: middle !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-remove {
        width: 28px !important;

        padding: 8px 4px 8px 0 !important;
    }

    body.woocommerce-cart table.shop_table.cart a.remove {
        width: 18px !important;
        height: 18px !important;
    }

    body.woocommerce-cart table.shop_table.cart a.remove::before {
        font-size: 17px !important;
    }


    /* ---------------------------------------------------------
       PRODUCT / IMAGE / SERVICE
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.product-name {
        min-width: 0 !important;

        padding: 8px 10px 8px 0 !important;

        font-size: 14px !important;
        line-height: 1.16 !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        flex: 0 0 72px !important;

        width: 72px !important;
        height: 72px !important;
        max-width: 72px !important;

        margin: 0 12px 0 0 !important;

        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name > a,
    body.woocommerce-cart .dp-product-info > a,
    body.woocommerce-cart table.shop_table.cart td.product-name a {
        font-size: 14px !important;
        line-height: 1.16 !important;

        font-weight: 400 !important;
        letter-spacing: -0.08px !important;
    }


    /* ---------------------------------------------------------
       APPOINTMENT META
       --------------------------------------------------------- */

    body.woocommerce-cart .dp-cart-appt-meta {
        gap: 6px 8px !important;

        margin: 6px 0 0 !important;
        padding: 6px 0 0 !important;
    }

    body.woocommerce-cart .dp-cart-appt-item {
        grid-template-columns: 10px minmax(0, auto) !important;

        column-gap: 4px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
        padding-left: 7px !important;
    }

    body.woocommerce-cart .dp-cart-appt-icon,
    body.woocommerce-cart .dp-cart-appt-icon svg {
        width: 10px !important;
        height: 10px !important;
    }

    body.woocommerce-cart .dp-cart-appt-label {
        margin-bottom: 2px !important;

        font-size: 5px !important;
        letter-spacing: .8px !important;
    }

    body.woocommerce-cart .dp-cart-appt-value {
        font-size: 7.5px !important;
        line-height: 1.12 !important;
    }


    /* ---------------------------------------------------------
       PRICE / QUANTITY / TOTAL
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-quantity,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        padding: 8px 6px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        font-size: 11px !important;
        font-weight: 500 !important;
    }

    body.woocommerce-cart .dp-qty-value,
    body.woocommerce-cart .quantity input.qty {
        width: 38px !important;
        height: 29px !important;

        font-size: 9px !important;
    }


    /* ---------------------------------------------------------
       UPDATE CART
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.actions {
        padding-top: 8px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions .button {
        min-height: 31px !important;

        padding: 0 13px !important;

        font-size: 6.5px !important;
        letter-spacing: 1px !important;
    }


    /* ---------------------------------------------------------
       COUPON
       --------------------------------------------------------- */

    body.woocommerce-cart .coupon-area {
        grid-template-columns:
            minmax(0, 260px)
            122px !important;

        gap: 8px !important;

        padding-top: 48px !important;
    }

    body.woocommerce-cart .coupon-area::before {
        top: 15px !important;

        font-size: 14px !important;
        line-height: 1.1 !important;
    }

    body.woocommerce-cart .coupon-area::after {
        top: 33px !important;

        font-size: 7.5px !important;
    }

    body.woocommerce-cart .coupon-area input[type="text"],
    body.woocommerce-cart .coupon-area #coupon_code {
        height: 37px !important;

        font-size: 9px !important;
    }

    body.woocommerce-cart .coupon-area .button-style2 {
        width: 122px !important;
        height: 37px !important;

        font-size: 6.5px !important;
        line-height: 35px !important;
        letter-spacing: 1px !important;
    }


    /* ---------------------------------------------------------
       ORDER SUMMARY
       --------------------------------------------------------- */

    body.woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 500px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 20px 22px 18px !important;
    }

    body.woocommerce-cart .cart_totals .heading {
        margin-bottom: 12px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table {
        margin-bottom: 13px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table th,
    body.woocommerce-cart .cart_totals table.shop_table td {
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }

    body.woocommerce-cart .cart_totals .order-total td strong,
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
        font-size: 22px !important;
    }

    body.woocommerce-cart .wc-proceed-to-checkout a.button-style2 {
        min-height: 43px !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V10 — LANDSCAPE TITLE CLIPPING FIX
   Keeps the V9 compact landscape layout, but restores safe
   clearance below the 94px landscape header so the small
   "SHOPPING BAG" label is never clipped.
   ========================================================= */

@media screen and (orientation: landscape) and (max-height: 600px) {

    body.woocommerce-cart main.main-row,
    body.woocommerce-cart main.main-row > .container,
    body.woocommerce-cart article,
    body.woocommerce-cart .site-content,
    body.woocommerce-cart .post-content,
    body.woocommerce-cart .page-title {
        overflow: visible !important;
    }

    body.woocommerce-cart .site-content {
        padding-top: 18px !important;
    }

    body.woocommerce-cart .post-content {
        padding-top: 0 !important;
    }

    body.woocommerce-cart .page-title {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.woocommerce-cart .page-title::before {
        position: relative !important;
        top: 0 !important;

        margin-top: 0 !important;
        padding-top: 0 !important;

        overflow: visible !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V11 — FINAL LANDSCAPE TWO-COLUMN LAYOUT

   Keeps all V10 landscape fixes, including the corrected
   SHOPPING BAG clearance, but uses the wide phone viewport
   properly:

   LEFT  = cart + appointment + coupon
   RIGHT = order summary

   Portrait mobile and normal desktop remain unchanged.
   ========================================================= */

@media screen and (orientation: landscape) and (max-height: 600px) {

    /* ---------------------------------------------------------
       MAIN LANDSCAPE GRID
       --------------------------------------------------------- */

    body.woocommerce-cart .post-content > .woocommerce > .row {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1.9fr)
            minmax(245px, 0.9fr) !important;

        column-gap: 22px !important;
        row-gap: 0 !important;

        align-items: start !important;

        width: 100% !important;

        margin: 0 !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > form {
        grid-column: 1 !important;
        grid-row: 1 !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
    }

    body.woocommerce-cart .post-content > .woocommerce > .row > .col-md-4 {
        grid-column: 2 !important;
        grid-row: 1 !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        align-self: start !important;
    }


    /* ---------------------------------------------------------
       CART TABLE — FIT LEFT COLUMN CLEANLY
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart {
        width: 100% !important;
        table-layout: fixed !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-remove {
        width: 25px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-price {
        width: 70px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-quantity {
        width: 66px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-subtotal {
        width: 72px !important;
    }

    body.woocommerce-cart table.shop_table.cart thead th {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }


    /* ---------------------------------------------------------
       PRODUCT CELL
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.product-name {
        padding-right: 8px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        flex-basis: 68px !important;

        width: 68px !important;
        height: 68px !important;
        max-width: 68px !important;

        margin-right: 10px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name,
    body.woocommerce-cart table.shop_table.cart td.product-name > a,
    body.woocommerce-cart .dp-product-info > a,
    body.woocommerce-cart table.shop_table.cart td.product-name a {
        font-size: 13px !important;
        line-height: 1.15 !important;
    }


    /* ---------------------------------------------------------
       APPOINTMENT DETAILS
       --------------------------------------------------------- */

    body.woocommerce-cart .dp-cart-appt-meta {
        gap: 5px 7px !important;

        margin-top: 5px !important;
        padding-top: 5px !important;
    }

    body.woocommerce-cart .dp-cart-appt-item + .dp-cart-appt-item {
        padding-left: 6px !important;
    }

    body.woocommerce-cart .dp-cart-appt-value {
        font-size: 7.2px !important;
    }


    /* ---------------------------------------------------------
       PRICE / QUANTITY / TOTAL
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        font-size: 10.5px !important;
    }

    body.woocommerce-cart .dp-qty-value,
    body.woocommerce-cart .quantity input.qty {
        width: 36px !important;
        height: 28px !important;
    }


    /* ---------------------------------------------------------
       UPDATE CART
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.actions {
        padding-top: 8px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions .button {
        min-height: 30px !important;

        padding-left: 12px !important;
        padding-right: 12px !important;
    }


    /* ---------------------------------------------------------
       COUPON — STAYS UNDER LEFT COLUMN
       --------------------------------------------------------- */

    body.woocommerce-cart .coupon-area {
        grid-template-columns:
            minmax(0, 1fr)
            118px !important;

        gap: 8px !important;

        width: 100% !important;
        max-width: 470px !important;

        padding-top: 46px !important;
    }

    body.woocommerce-cart .coupon-area::before {
        top: 14px !important;

        font-size: 13px !important;
    }

    body.woocommerce-cart .coupon-area::after {
        top: 31px !important;

        font-size: 7px !important;
    }

    body.woocommerce-cart .coupon-area input[type="text"],
    body.woocommerce-cart .coupon-area #coupon_code {
        height: 36px !important;
    }

    body.woocommerce-cart .coupon-area .button-style2 {
        width: 118px !important;
        height: 36px !important;

        line-height: 34px !important;
    }


    /* ---------------------------------------------------------
       ORDER SUMMARY — RIGHT COLUMN
       --------------------------------------------------------- */

    body.woocommerce-cart .cart_totals {
        position: relative !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;

        padding: 18px 18px 16px !important;
    }

    body.woocommerce-cart .cart_totals .heading {
        margin-bottom: 10px !important;

        font-size: 9px !important;
        letter-spacing: 1.7px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table {
        margin-bottom: 12px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table th,
    body.woocommerce-cart .cart_totals table.shop_table td {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table th {
        font-size: 6.5px !important;
    }

    body.woocommerce-cart .cart_totals .cart-subtotal td,
    body.woocommerce-cart .cart_totals .cart-subtotal .woocommerce-Price-amount {
        font-size: 14px !important;
    }

    body.woocommerce-cart .cart_totals .order-total td strong,
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
        font-size: 20px !important;
        line-height: 1 !important;
    }


    /* CHECKOUT BUTTON */
    body.woocommerce-cart .wc-proceed-to-checkout {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }

    body.woocommerce-cart .wc-proceed-to-checkout a.button-style2 {
        min-height: 40px !important;

        font-size: 6.5px !important;
        letter-spacing: 1px !important;
    }


    /* ---------------------------------------------------------
       SUMMARY BENEFITS
       Keep them present but compact in short landscape screens.
       --------------------------------------------------------- */

    body.woocommerce-cart .dp-cart-benefits,
    body.woocommerce-cart .cart-benefits {
        margin-top: 10px !important;
    }

    body.woocommerce-cart .dp-cart-benefit,
    body.woocommerce-cart .cart-benefit {
        min-height: 0 !important;

        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }

    body.woocommerce-cart .dp-cart-benefit-title,
    body.woocommerce-cart .cart-benefit-title {
        font-size: 6.5px !important;
        line-height: 1.2 !important;
    }

    body.woocommerce-cart .dp-cart-benefit-copy,
    body.woocommerce-cart .cart-benefit-copy {
        font-size: 6px !important;
        line-height: 1.3 !important;
    }

}


/* =========================================================
   VERY NARROW LANDSCAPE PHONES
   If the usable width becomes genuinely tight, keep the
   summary usable rather than crushing the product column.
   ========================================================= */

@media screen
    and (orientation: landscape)
    and (max-height: 600px)
    and (max-width: 760px) {

    body.woocommerce-cart .post-content > .woocommerce > .row {
        grid-template-columns:
            minmax(0, 1fr)
            230px !important;

        column-gap: 16px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-price {
        width: 62px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-quantity {
        width: 60px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-subtotal {
        width: 64px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        flex-basis: 62px !important;

        width: 62px !important;
        height: 62px !important;
        max-width: 62px !important;
    }

    body.woocommerce-cart .cart_totals {
        padding: 16px 14px 14px !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V12 — LANDSCAPE BALANCE FIX

   V11 proved the two-column idea works, but the Order Summary
   was taking too much width and squeezing the service title.
   V12 gives the cart the space it needs and keeps the summary
   compact on the right.

   Portrait mobile and normal desktop remain unchanged.
   ========================================================= */

@media screen and (orientation: landscape) and (max-height: 600px) {

    /* ---------------------------------------------------------
       BETTER LANDSCAPE PROPORTIONS
       Fixed compact summary; cart gets the remaining width.
       --------------------------------------------------------- */

    body.woocommerce-cart .post-content > .woocommerce > .row {
        grid-template-columns:
            minmax(0, 1fr)
            300px !important;

        column-gap: 24px !important;
    }


    /* ---------------------------------------------------------
       PRODUCT COLUMN
       Prevent the service title from collapsing word-by-word.
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart td.product-name {
        display: grid !important;

        grid-template-columns:
            68px
            minmax(190px, 1fr) !important;

        gap: 10px !important;

        align-items: center !important;

        width: auto !important;
        min-width: 0 !important;

        padding-right: 12px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        width: 68px !important;
        height: 68px !important;
        max-width: 68px !important;

        margin: 0 !important;
    }

    body.woocommerce-cart .dp-product-info {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name > a,
    body.woocommerce-cart .dp-product-info > a,
    body.woocommerce-cart table.shop_table.cart td.product-name a {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;

        font-size: 13px !important;
        line-height: 1.16 !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }


    /* ---------------------------------------------------------
       APPOINTMENT META
       With the wider service column this can sit horizontally
       again instead of forming a tall stack.
       --------------------------------------------------------- */

    body.woocommerce-cart .dp-cart-appt-meta {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;

        align-items: flex-start !important;

        gap: 6px 8px !important;

        width: 100% !important;
    }

    body.woocommerce-cart .dp-cart-appt-item {
        width: auto !important;
        min-width: 0 !important;
    }

    body.woocommerce-cart .dp-cart-appt-item--staff {
        flex: 0 1 auto !important;
    }


    /* ---------------------------------------------------------
       TABLE NUMERIC COLUMNS
       Keep these compact so the product gets priority.
       --------------------------------------------------------- */

    body.woocommerce-cart table.shop_table.cart th.product-price {
        width: 62px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-quantity {
        width: 58px !important;
    }

    body.woocommerce-cart table.shop_table.cart th.product-subtotal {
        width: 64px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        padding-left: 4px !important;
        padding-right: 4px !important;

        font-size: 10px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-quantity {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    body.woocommerce-cart .dp-qty-value,
    body.woocommerce-cart .quantity input.qty {
        width: 34px !important;
        height: 28px !important;
    }


    /* ---------------------------------------------------------
       COMPACT RIGHT-HAND ORDER SUMMARY
       --------------------------------------------------------- */

    body.woocommerce-cart .cart_totals {
        width: 300px !important;
        max-width: 300px !important;

        padding: 17px 16px 15px !important;
    }

    body.woocommerce-cart .cart_totals .heading {
        font-size: 8.5px !important;
        letter-spacing: 1.55px !important;
    }

    body.woocommerce-cart .cart_totals .cart-subtotal td,
    body.woocommerce-cart .cart_totals .cart-subtotal .woocommerce-Price-amount {
        font-size: 13px !important;
    }

    body.woocommerce-cart .cart_totals .order-total td strong,
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
        font-size: 19px !important;
    }

}


/* =========================================================
   EXTRA-NARROW LANDSCAPE FALLBACK
   ========================================================= */

@media screen
    and (orientation: landscape)
    and (max-height: 600px)
    and (max-width: 760px) {

    body.woocommerce-cart .post-content > .woocommerce > .row {
        grid-template-columns:
            minmax(0, 1fr)
            250px !important;

        column-gap: 16px !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name {
        grid-template-columns:
            62px
            minmax(150px, 1fr) !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name img {
        width: 62px !important;
        height: 62px !important;
        max-width: 62px !important;
    }

    body.woocommerce-cart .cart_totals {
        width: 250px !important;
        max-width: 250px !important;
    }

}


/* =========================================================
   DAMIAN PHILPOTT
   CART REFINED V13 — WOOCOMMERCE NOTICE / COUPON FEEDBACK

   Refines invalid coupon, success and information notices:
   - removes default bullets / red marker
   - replaces generic WooCommerce grey alert styling
   - compact black editorial treatment
   - thin grey border + restrained gold accent
   - responsive across desktop, portrait and landscape
   ========================================================= */


/* =========================================================
   NOTICE WRAPPER
   ========================================================= */

body.woocommerce-cart .woocommerce-notices-wrapper {
    width: 100% !important;

    margin: 0 0 18px !important;
    padding: 0 !important;
}


/* =========================================================
   BASE NOTICE STYLE
   ========================================================= */

body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info {
    position: relative !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 13px 16px 13px 18px !important;

    list-style: none !important;

    background: #0D0D0D !important;

    border: 1px solid #282828 !important;
    border-left: 2px solid #FFD700 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: #D8D8D8 !important;

    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: .02em !important;
}


/* =========================================================
   REMOVE ALL DEFAULT WOOCOMMERCE BULLETS / ICONS
   ========================================================= */

body.woocommerce-cart .woocommerce-error::before,
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::after,
body.woocommerce-cart .woocommerce-message::after,
body.woocommerce-cart .woocommerce-info::after,
body.woocommerce-cart .woocommerce-error li::before,
body.woocommerce-cart .woocommerce-message li::before,
body.woocommerce-cart .woocommerce-info li::before,
body.woocommerce-cart .woocommerce-error li::after,
body.woocommerce-cart .woocommerce-message li::after,
body.woocommerce-cart .woocommerce-info li::after {
    content: none !important;

    display: none !important;
}


/* =========================================================
   LIST RESET
   ========================================================= */

body.woocommerce-cart ul.woocommerce-error,
body.woocommerce-cart ul.woocommerce-message,
body.woocommerce-cart ul.woocommerce-info {
    list-style: none !important;
}

body.woocommerce-cart .woocommerce-error li,
body.woocommerce-cart .woocommerce-message li,
body.woocommerce-cart .woocommerce-info li {
    position: relative !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

body.woocommerce-cart .woocommerce-error li::marker,
body.woocommerce-cart .woocommerce-message li::marker,
body.woocommerce-cart .woocommerce-info li::marker {
    content: "" !important;

    font-size: 0 !important;
}


/* =========================================================
   LINKS INSIDE NOTICES
   ========================================================= */

body.woocommerce-cart .woocommerce-error a,
body.woocommerce-cart .woocommerce-message a,
body.woocommerce-cart .woocommerce-info a {
    color: #FFD700 !important;

    font-weight: 500 !important;

    text-decoration: none !important;
}

body.woocommerce-cart .woocommerce-error a:hover,
body.woocommerce-cart .woocommerce-message a:hover,
body.woocommerce-cart .woocommerce-info a:hover {
    color: #FFFFFF !important;
}


/* =========================================================
   SUCCESS / INFO
   Keep the same visual language so feedback feels consistent.
   ========================================================= */

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info {
    border-left-color: #FFD700 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

    body.woocommerce-cart .woocommerce-notices-wrapper {
        margin-bottom: 14px !important;
    }

    body.woocommerce-cart .woocommerce-error,
    body.woocommerce-cart .woocommerce-message,
    body.woocommerce-cart .woocommerce-info {
        padding: 12px 13px 12px 15px !important;

        font-size: 10px !important;
        line-height: 1.45 !important;
    }

}


/* =========================================================
   LANDSCAPE PHONE
   ========================================================= */

@media screen and (orientation: landscape) and (max-height: 600px) {

    body.woocommerce-cart .woocommerce-notices-wrapper {
        margin-bottom: 10px !important;
    }

    body.woocommerce-cart .woocommerce-error,
    body.woocommerce-cart .woocommerce-message,
    body.woocommerce-cart .woocommerce-info {
        padding: 9px 11px 9px 13px !important;

        font-size: 8px !important;
        line-height: 1.35 !important;
    }

}
