/* ═══════════════════════════════════════════════════════
   Jacobs Cake World — Premium WooCommerce Cart Stylesheet
   Part of the Luxury Minimal Redesign
   Aesthetic Tokens:
     --jcw-primary:   var(--jcw-primary, #3A2418)  (Dark Chocolate)
     --jcw-secondary: var(--jcw-secondary, #D8A24A)  (Warm Gold)
     --jcw-light-bg:  var(--jcw-light-bg, #F8F3ED)  (Warm Cream)
     --jcw-text:      var(--jcw-text, #6B6B6B)  (Dark Brown Text)
     --jcw-muted:     #8D7A6E  (Muted Brown)
     --jcw-border:    var(--jcw-border, #EADFD2)  (Soft Beige)
     --jcw-surface:   var(--jcw-light-bg, #F8F3ED)  (Luxury Cream Card Background)
   ═══════════════════════════════════════════════════════ */

/* ── Heading ── */
.woocommerce-cart .entry-title,
.woocommerce-cart h1.page-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 30px !important;
    border-bottom: 2px solid var(--jcw-border, #EADFD2) !important;
    padding-bottom: 12px !important;
    line-height: 1.2 !important;
}

@media (max-width: 1200px) {

    .ast-separate-container .entry-content>.alignfull,
    .ast-separate-container .entry-content[data-ast-blocks-layout]>.alignwide,
    .ast-plain-container .entry-content[data-ast-blocks-layout]>.alignwide,
    .ast-plain-container .entry-content .alignfull {
        margin-left: unset;
        margin-right: unset;
    }
}

/* ── Container Layout ── */
.entry-content .wc-block-cart {
    margin-top: 30px !important;
    margin-bottom: 60px !important;
    font-family: 'Inter', sans-serif !important;
}

.wc-block-cart__container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    align-items: start !important;
}

@media (min-width: 992px) {
    .wc-block-cart__container {
        grid-template-columns: 1.6fr 1fr !important;
    }
}

/* ── Reset Table Structure (Resolves squishing & forces full width) ── */
.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .wc-block-cart-items-table,
.woocommerce-cart .wc-block-cart-items-table tbody,
.woocommerce-cart .wc-block-cart-items__tbody,
.woocommerce-cart .wc-block-cart-items-table__body {
    width: 100% !important;
    max-width: 100% !important;
    border: none !important;
    background: transparent !important;
}

/* Ensure the main left column container takes up its full available width without max-width restriction */
.woocommerce-cart .wc-block-components-main,
.woocommerce-cart .wp-block-woocommerce-cart-items-block,
.woocommerce-cart .wc-block-cart__main {
    max-width: none !important;
}

/* Premium Flexbox-Aligned Table Headers (Ensures all three headers show up and align!) */
.woocommerce-cart .wc-block-cart-items-header,
.woocommerce-cart .wc-block-cart-items-table thead,
.woocommerce-cart .wc-block-cart-items__header,
.woocommerce-cart .wc-block-cart-items-table__head {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 12px 24px !important;
    /* Perfect match with card horizontal padding */
    box-sizing: border-box !important;
    border-bottom: 2px solid var(--jcw-border, #EADFD2) !important;
    margin-bottom: 12px !important;
    background: transparent !important;
}

.woocommerce-cart .wc-block-cart-items__header th,
.woocommerce-cart .wc-block-cart-items-table__head th {
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Header Column 1: Product Image */
.woocommerce-cart .wc-block-cart-items__header-image,
.woocommerce-cart th.wc-block-cart-items__header-image {
    width: 75px !important;
    flex: 0 0 75px !important;
    min-width: 75px !important;
    text-align: left !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    color: var(--jcw-primary, #3A2418) !important;
    display: flex !important;
}

/* Header Column 2: Product Name & Details */
.woocommerce-cart .wc-block-cart-items__header-product,
.woocommerce-cart th.wc-block-cart-items__header-product {
    flex: 1 !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    text-align: left !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    color: var(--jcw-primary, #3A2418) !important;
    display: flex !important;
}

/* Header Column 3: Total Price */
.woocommerce-cart .wc-block-cart-items__header-total,
.woocommerce-cart th.wc-block-cart-items__header-total {
    min-width: 100px !important;
    width: auto !important;
    text-align: right !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    color: var(--jcw-primary, #3A2418) !important;
    margin-left: auto !important;
    display: flex !important;
}

/* ── Product List Area ── */
.wc-block-cart__main {
    margin: 0 !important;
}

/* Individual Item Card Row */
.wc-block-cart-item,
.wc-block-cart-items__row,
.wc-block-cart-items-table__row-wrapper,
.wc-block-cart-items-table__row {
    background: var(--jcw-light-bg, #F8F3ED) !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(58, 36, 24, 0.02) !important;
    padding: 24px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.wc-block-cart-item:hover,
.wc-block-cart-items__row:hover,
.wc-block-cart-items-table__row:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 30px rgba(58, 36, 24, 0.05) !important;
    border-color: var(--jcw-secondary, #D8A24A) !important;
}

/* Reset individual cells to flex items inside the row card */
.wc-block-cart-item td,
.wc-block-cart-items__row td,
.wc-block-cart-items-table__row td,
.wc-block-cart-item__cell,
.wc-block-cart-items-table__cell {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Cell 1: Image - Fixed premium narrow width (75px) with less horizontal stretch */
.woocommerce-cart .wc-block-cart-item__image,
.woocommerce-cart .wc-block-components-product-image,
.woocommerce-cart td.wc-block-cart-item__image {
    width: 75px !important;
    height: 75px !important;
    max-width: 75px !important;
    max-height: 75px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    background: #FAF7F4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    flex: 0 0 75px !important;
    min-width: 75px !important;
    padding: 0 !important;
}

/* Cell 2: Product Info (The Middle Div - takes maximum available width!) */
.woocommerce-cart .wc-block-cart-item__product,
.woocommerce-cart td.wc-block-cart-item__product {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    min-width: 0 !important;
    /* Prevents text overflow squishing */
    background: transparent !important;
    border: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .wc-block-cart-item__wrap {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    align-items: flex-start !important;
}

/* Cell 3: Total Price Cell (Right side column) */
.woocommerce-cart .wc-block-cart-item__total,
.woocommerce-cart td.wc-block-cart-item__total {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    min-width: 100px !important;
    width: auto !important;
    text-align: right !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-left: auto !important;
}

/* Quantity Selector & Remove wrapper under the details in the middle column */
.woocommerce-cart .wc-block-cart-item__quantity {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 8px !important;
    width: auto !important;
    background: transparent !important;
    border: none !important;
    justify-content: flex-start !important;
}

/* Image styling */
.wc-block-cart-item__image,
.wc-block-components-product-image {
    width: 90px !important;
    height: 90px !important;
    max-width: 90px !important;
    max-height: 90px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    background: #FAF7F4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.wc-block-cart-item__image img,
.wc-block-components-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.wc-block-cart-item:hover .wc-block-cart-item__image img,
.wc-block-cart-items__row:hover .wc-block-components-product-image img {
    transform: scale(1.06) !important;
}

/* Title & Body info */
.wc-block-cart-item__info,
.wc-block-cart-item__wrap {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.wc-block-components-product-name {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    margin-bottom: 2px !important;
    transition: color 0.2s ease !important;
}

.wc-block-components-product-name:hover {
    color: var(--jcw-secondary, #D8A24A) !important;
}

/* Product metadata (Shape, Size, Type, Egg, Custom Message) */
.wc-block-components-product-metadata,
.wc-block-components-product-details {
    font-size: 0.85rem !important;
    color: #8D7A6E !important;
    line-height: 1.5 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.wc-block-components-product-metadata strong,
.wc-block-components-product-details strong {
    color: var(--jcw-primary, #3A2418) !important;
    font-weight: 600 !important;
}

/* Price & Sale Badge */
.wc-block-cart-item__price,
.wc-block-components-product-price {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
}

.wc-block-components-product-price del {
    color: #8D7A6E !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    margin-right: 4px !important;
}

.wc-block-components-product-price ins {
    color: var(--jcw-secondary, #D8A24A) !important;
    text-decoration: none !important;
}

/* Premium Inset Gold Sale saving Tag */
.wc-block-components-product-price__sale-badge,
.wc-block-cart-item__price .wc-block-components-sale-badge {
    background: #FFF9F2 !important;
    color: #7A4F1A !important;
    border: 1px solid var(--jcw-secondary, #D8A24A) !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    display: inline-block !important;
    margin-top: 4px !important;
    box-shadow: 0 2px 6px rgba(216, 162, 74, 0.05) !important;
}

/* Quantity Pill Selector */
.wc-block-components-quantity-selector {
    display: flex !important;
    align-items: center !important;
    background: #FFF !important;
    border: 1.5px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    padding: 2px !important;
    box-sizing: border-box !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    max-width: 110px !important;
    height: 38px !important;
}

.wc-block-components-quantity-selector:focus-within {
    border-color: var(--jcw-secondary, #D8A24A) !important;
    box-shadow: 0 0 0 3px rgba(216, 162, 74, 0.12) !important;
}

.wc-block-components-quantity-selector__button {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    color: var(--jcw-primary, #3A2418) !important;
    cursor: pointer !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: background-color 0.2s, color 0.2s !important;
    padding: 0 !important;
}

.wc-block-components-quantity-selector__button:hover {
    background-color: var(--jcw-light-bg, #F8F3ED) !important;
    color: var(--jcw-secondary, #D8A24A) !important;
}

.wc-block-components-quantity-selector__input {
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    width: 32px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* Remove button */
.wc-block-cart-item__remove,
.wc-block-cart-item__remove-link {
    background: #FAF3EA !important;
    color: #8D7A6E !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
}

.wc-block-cart-item__remove:hover,
.wc-block-cart-item__remove-link:hover {
    background: #FFF2F0 !important;
    color: #D32F2F !important;
    border-color: #FADBD8 !important;
    transform: scale(1.05) !important;
}

/* Remove svg or icon spacing adjustment */
.wc-block-cart-item__remove svg {
    width: 14px !important;
    height: 14px !important;
    fill: currentColor !important;
}


/* ── Unified Sidebar totals Card (No longer separate boxes!) ── */
.wc-block-cart__sidebar {
    background: var(--jcw-light-bg, #F8F3ED) !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 20px !important;
    padding: 30px !important;
    box-shadow: 0 12px 40px rgba(58, 36, 24, 0.04) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Reset individual block container boxes so they blend into the sidebar card seamlessly */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar .wc-block-cart__totals {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* CART TOTALS Title */
.wc-block-cart__totals-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--jcw-border, #EADFD2) !important;
    text-transform: capitalize !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
}

/* Total individual rows */
.wc-block-components-totals-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #F0E6D8 !important;
    margin: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 1px solid #F0E6D8 !important;
    box-shadow: none !important;
}

.wc-block-components-totals-item__label {
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    color: #8D7A6E !important;
}

.wc-block-components-totals-item__value {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
}

/* Coupon Box accordion */
.wc-block-components-totals-coupon {
    border-bottom: 1px solid #F0E6D8 !important;
    padding: 8px 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 1px solid #F0E6D8 !important;
    box-shadow: none !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon button.wc-block-components-panel__button {
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    color: var(--jcw-primary, #3A2418) !important;
    background: transparent !important;
    padding: 10px 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer !important;
    border: none !important;
    box-shadow: none !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
    color: var(--jcw-secondary, #D8A24A) !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
    color: var(--jcw-secondary, #D8A24A) !important;
}

/* Coupon Input form */
.wc-block-components-totals-coupon__form {
    display: flex !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 12px 0 16px !important;
}

.wc-block-components-totals-coupon__input,
.wc-block-components-totals-coupon__input-wrapper,
.wc-block-components-text-input {
    display: flex !important;
    position: relative !important;
    height: 52px !important;
}

.wc-block-components-text-input input.wc-block-components-text-input__input,
.wc-block-components-totals-coupon__input input[type="text"],
.wc-block-components-totals-coupon__form input.wc-block-components-totals-coupon__input,
.woocommerce-cart .wc-block-components-totals-coupon__input input[type="text"] {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    background: #FFF !important;
    border: 1.5px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 12px !important;
    padding: 0 18px !important;
    color: var(--jcw-primary, #3A2418) !important;
    font-size: 1rem !important;
    font-family: 'Inter', sans-serif !important;
    outline: none !important;
    box-sizing: border-box !important;
    line-height: normal !important;
    display: flex !important;
    align-items: center !important;
    transition: all 0.25s ease !important;
    box-shadow: none !important;
}

.wc-block-components-totals-coupon__input input[type="text"]:focus,
.woocommerce-cart .wc-block-components-text-input input[type="text"]:focus,
.wc-block-components-text-input input.wc-block-components-text-input__input:focus {
    border-color: var(--jcw-secondary, #D8A24A) !important;
    box-shadow: 0 0 0 3px rgba(216, 162, 74, 0.15) !important;
    background: #FFF !important;
}

/* Coupon Floating Label Handler */
.wc-block-components-text-input label,
.wc-block-components-text-input .wc-block-components-text-input__label,
.woocommerce-cart .wc-block-components-text-input label,
.woocommerce-cart .wc-block-components-text-input .wc-block-components-text-input__label {
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    color: #8D7A6E !important;
    font-size: 0.95rem !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    font-family: 'Inter', sans-serif !important;
    line-height: 1 !important;
    z-index: 2 !important;
}

/* Raise label dynamically when coupon input field is active, focused, or has content */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input.is-active .wc-block-components-text-input__label,
.wc-block-components-text-input:focus-within label,
.wc-block-components-text-input:focus-within .wc-block-components-text-input__label,
.woocommerce-cart .wc-block-components-text-input.is-active label,
.woocommerce-cart .wc-block-components-text-input.is-active .wc-block-components-text-input__label,
.woocommerce-cart .wc-block-components-text-input:focus-within label,
.woocommerce-cart .wc-block-components-text-input:focus-within .wc-block-components-text-input__label,
.wc-block-components-text-input input:focus~label,
.wc-block-components-text-input input:focus~.wc-block-components-text-input__label,
.wc-block-components-text-input input:not(:placeholder-shown)~label,
.wc-block-components-text-input input:not(:placeholder-shown)~.wc-block-components-text-input__label {
    top: 0px !important;
    transform: translateY(-50%) scale(0.8) !important;
    left: 14px !important;
    background: var(--jcw-light-bg, #F8F3ED) !important;
    /* Matches luxury cream card background to block out border */
    padding: 0 6px !important;
    color: var(--jcw-secondary, #D8A24A) !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

.wc-block-components-totals-coupon__form button,
.wc-block-components-totals-coupon__form button[type="submit"],
.wc-block-components-totals-coupon__form .wc-block-components-button {
    height: 52px !important;
    min-height: 52px !important;
    background-color: var(--jcw-primary, #3A2418) !important;
    background: var(--jcw-primary, #3A2418) !important;
    color: #FFF !important;
    border: 1.5px solid var(--jcw-primary, #3A2418) !important;
    border-radius: 12px !important;
    padding: 0 24px !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(58, 36, 24, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    text-transform: none !important;
}

.wc-block-components-totals-coupon__form button:hover,
.wc-block-components-totals-coupon__form button[type="submit"]:hover,
.wc-block-components-totals-coupon__form .wc-block-components-button:hover {
    background-color: var(--jcw-secondary, #D8A24A) !important;
    background: var(--jcw-secondary, #D8A24A) !important;
    border-color: var(--jcw-secondary, #D8A24A) !important;
    color: #FFF !important;
    box-shadow: 0 4px 14px rgba(216, 162, 74, 0.2) !important;
}

/* Estimated Grand Total Row */
.wc-block-components-totals-item--total {
    border-top: 2px solid var(--jcw-border, #EADFD2) !important;
    border-bottom: none !important;
    padding: 20px 0 10px !important;
    margin-top: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.wc-block-components-totals-item--total .wc-block-components-totals-item__label {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
}

.wc-block-components-totals-item--total .wc-block-components-totals-item__value {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
}

/* ── Premium Proceed to Checkout Button ── */
.wc-block-cart__submit-button,
.wc-block-components-checkout-button,
.wc-block-cart__submit,
.wp-block-woocommerce-cart-totals-block .wc-block-components-checkout-button {
    margin-top: 22px !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Proceed to Checkout button styling with maximum specificity */
.woocommerce-cart .wc-block-cart__submit-button a,
.woocommerce-cart .wc-block-cart__submit a,
.woocommerce-cart .wc-block-components-checkout-button a,
.woocommerce-cart .wc-block-components-checkout-button__button,
.woocommerce-cart a.wc-block-components-checkout-button__button,
.woocommerce-cart button.wc-block-components-checkout-button__button,
.woocommerce-cart .wc-block-cart__submit-button button,
.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-checkout-button__button,
.woocommerce-cart .wc-block-components-checkout-button__button.wc-block-components-button,
.woocommerce-cart .wc-block-components-checkout-button__button.wc-block-components-button--size-medium,
.wc-block-components-checkout-button__button,
.wc-block-components-checkout-button__button.wc-block-components-button {
    background-color: var(--jcw-primary, #3A2418) !important;
    background: var(--jcw-primary, #3A2418) !important;
    color: #FFFFFF !important;
    width: 100% !important;
    height: 54px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    text-transform: none !important;
    border: 1.5px solid var(--jcw-primary, #3A2418) !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(58, 36, 24, 0.15) !important;
    transition: background-color 0.28s, border-color 0.28s, transform 0.2s, box-shadow 0.28s !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    padding: 0 !important;
    /* Perfect vertical alignment centering */
    line-height: 1 !important;
    /* Eliminate line-height mismatch pushing text down */
    text-align: center !important;
}

/* Perfect alignment reset for any inner spans or wrappers of Proceed to Checkout button */
.woocommerce-cart .wc-block-cart__submit-button a *,
.woocommerce-cart .wc-block-cart__submit a *,
.woocommerce-cart .wc-block-components-checkout-button a *,
.woocommerce-cart .wc-block-components-checkout-button__button *,
.woocommerce-cart a.wc-block-components-checkout-button__button *,
.woocommerce-cart button.wc-block-components-checkout-button__button *,
.wc-block-components-checkout-button__button * {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    vertical-align: middle !important;
}

.woocommerce-cart .wc-block-cart__submit-button a:hover,
.woocommerce-cart .wc-block-cart__submit a:hover,
.woocommerce-cart .wc-block-components-checkout-button a:hover,
.woocommerce-cart .wc-block-components-checkout-button__button:hover,
.woocommerce-cart a.wc-block-components-checkout-button__button:hover,
.woocommerce-cart button.wc-block-components-checkout-button__button:hover,
.woocommerce-cart .wc-block-cart__submit-button button:hover,
.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-checkout-button__button:hover,
.woocommerce-cart .wc-block-components-checkout-button__button.wc-block-components-button:hover,
.wc-block-components-checkout-button__button:hover,
.wc-block-components-checkout-button__button.wc-block-components-button:hover {
    background-color: var(--jcw-secondary, #D8A24A) !important;
    background: var(--jcw-secondary, #D8A24A) !important;
    border-color: var(--jcw-secondary, #D8A24A) !important;
    color: #FFFFFF !important;
    box-shadow: 0 6px 22px rgba(216, 162, 74, 0.25) !important;
    transform: translateY(-2px) !important;
}

.woocommerce-cart .wc-block-cart__submit-button a:active,
.woocommerce-cart .wc-block-cart__submit a:active,
.woocommerce-cart .wc-block-components-checkout-button a:active,
.woocommerce-cart .wc-block-components-checkout-button__button:active,
.wc-block-components-checkout-button__button:active {
    transform: translateY(0) !important;
}


/* ── Fallback Classic WooCommerce Cart Table (For safety) ── */
.woocommerce-cart-form {
    width: 100% !important;
}

.woocommerce-cart-form .shop_table.cart {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 16px !important;
    border: none !important;
}

.woocommerce-cart-form .shop_table.cart tr.cart_item {
    background: var(--jcw-light-bg, #F8F3ED) !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(58, 36, 24, 0.02) !important;
}

.woocommerce-cart-form .shop_table.cart td {
    padding: 18px !important;
    border: none !important;
    border-top: 1px solid var(--jcw-border, #EADFD2) !important;
    border-bottom: 1px solid var(--jcw-border, #EADFD2) !important;
}

.woocommerce-cart-form .shop_table.cart td:first-child {
    border-left: 1px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 16px 0 0 16px !important;
}

.woocommerce-cart-form .shop_table.cart td:last-child {
    border-right: 1px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 0 16px 16px 0 !important;
}

/* Classic totals cart card */
.cart-collaterals .cart_totals {
    background: var(--jcw-light-bg, #F8F3ED) !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 20px !important;
    padding: 28px !important;
    box-shadow: 0 12px 40px rgba(58, 36, 24, 0.04) !important;
    width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

.cart-collaterals .cart_totals h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    border-bottom: 2px solid var(--jcw-border, #EADFD2) !important;
    padding-bottom: 12px !important;
    margin-bottom: 20px !important;
}

.cart-collaterals .cart_totals table.shop_table {
    border: none !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}

.cart-collaterals .cart_totals table.shop_table tr td,
.cart-collaterals .cart_totals table.shop_table tr th {
    border: none !important;
    border-bottom: 1px solid #F0E6D8 !important;
    padding: 12px 0 !important;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button {
    background: var(--jcw-primary, #3A2418) !important;
    color: #FFFFFF !important;
    height: 52px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    box-shadow: 0 4px 16px rgba(58, 36, 24, 0.15) !important;
    transition: all 0.28s ease !important;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--jcw-secondary, #D8A24A) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 22px rgba(216, 162, 74, 0.25) !important;
}


/* ── Desktop & Tablet Layout Adjustments ── */
@media (min-width: 769px) {

    /* Ensure the Proceed to Checkout button fits nicely within the sidebar container */
    .wc-block-cart__sidebar .wc-block-cart__submit-button,
    .wc-block-cart__sidebar .wc-block-components-checkout-button {
        margin-top: auto !important;
        padding-top: 15px !important;
    }
}

/* ── Mobile Layout Adjustments ── */
@media (max-width: 768px) {

    /* Hide Table Headers completely on mobile for card flow */
    .woocommerce-cart .wc-block-cart-items-header,
    .woocommerce-cart .wc-block-cart-items-table thead,
    .woocommerce-cart .wc-block-cart-items__header,
    .woocommerce-cart .wc-block-cart-items-table__head {
        display: none !important;
    }

    /* Convert each row card to a clean 2x2 grid layout */
    .woocommerce-cart .wc-block-cart-item,
    .woocommerce-cart .wc-block-cart-items__row,
    .woocommerce-cart .wc-block-cart-items-table__row {
        display: grid !important;
        grid-template-columns: 75px 1fr !important;
        grid-template-rows: auto auto !important;
        gap: 16px !important;
        padding: 16px !important;
        align-items: start !important;
        background: var(--jcw-light-bg, #F8F3ED) !important;
        border: 1px solid var(--jcw-border, #EADFD2) !important;
        border-radius: 16px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    /* Column 1, Row 1: Product Image */
    .woocommerce-cart .wc-block-cart-item__image,
    .woocommerce-cart td.wc-block-cart-item__image {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 75px !important;
        height: 75px !important;
        max-width: 75px !important;
        max-height: 75px !important;
        min-width: 75px !important;
        flex: 0 0 75px !important;
        padding: 0 !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        border: 1px solid var(--jcw-border, #EADFD2) !important;
        background: #FAF7F4 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Column 2, Row 1: Product Name & Details */
    .woocommerce-cart .wc-block-cart-item__product,
    .woocommerce-cart td.wc-block-cart-item__product {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding: 0 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        min-width: 0 !important;
        background: transparent !important;
        border: none !important;
        align-items: flex-start !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .wc-block-cart-item__wrap {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        padding: 0 !important;
    }

    /* Quantity Selector under details in column 2 */
    .woocommerce-cart .wc-block-cart-item__quantity {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin-top: 8px !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
        justify-content: flex-start !important;
    }

    /* Row 2: Total Price (Spans both columns, separated by dashed border) */
    .woocommerce-cart .wc-block-cart-item__total,
    .woocommerce-cart td.wc-block-cart-item__total {
        grid-column: 1 / span 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-top: 1px dashed var(--jcw-border, #EADFD2) !important;
        padding: 12px 0 0 !important;
        margin-top: 4px !important;
        background: transparent !important;
        border-bottom: none !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    /* Premium Inset text for row subtotal on mobile */
    .woocommerce-cart .wc-block-cart-item__total::before,
    .woocommerce-cart td.wc-block-cart-item__total::before {
        content: "Subtotal" !important;
        font-size: 0.88rem !important;
        font-weight: 600 !important;
        color: #8D7A6E !important;
        display: inline-block !important;
        font-family: 'Inter', sans-serif !important;
    }

    /* Price and Badge alignment on mobile */
    .woocommerce-cart .wc-block-components-product-price {
        align-items: flex-end !important;
        flex-direction: row !important;
        gap: 8px !important;
        width: auto !important;
    }
}

/* ═══════════════════════════════════════════════════════
   ── Premium Empty Cart UI Redesign ──
   ═══════════════════════════════════════════════════════ */

/* Empty Cart Main Card Wrapper - supports Block-based and Classic Cart */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
.woocommerce-cart .wc-block-cart__empty-cart,
.woocommerce-cart p.cart-empty,
.woocommerce-cart .cart-empty {
    background: var(--jcw-light-bg, #F8F3ED) !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 24px !important;
    padding: 60px 40px !important;
    max-width: 720px !important;
    margin: 40px auto 60px !important;
    box-shadow: 0 12px 40px rgba(58, 36, 24, 0.03) !important;
    box-sizing: border-box !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Specific styling adjust for Classic Empty Cart text paragraph card */
.woocommerce-cart p.cart-empty {
    padding: 40px 30px !important;
    color: var(--jcw-primary, #3A2418) !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin-bottom: 20px !important;
}

/* Classic Return to Shop container */
.woocommerce-cart p.return-to-shop {
    text-align: center !important;
    margin-bottom: 60px !important;
    width: 100% !important;
}

/* Empty Cart Icon (Sad Face Mask) */
.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon:before,
.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    background-color: var(--jcw-secondary, #D8A24A) !important;
    /* Gold accent color */
    height: 4.5em !important;
    width: 4.5em !important;
    margin: 0 auto 24px !important;
    opacity: 0.95 !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: block !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block:hover .wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    transform: scale(1.06) !important;
}

/* Sad face SVG color overrides for robust dynamic icons */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block svg,
.woocommerce-cart .wc-block-cart__empty-cart svg,
.woocommerce-cart .wc-block-components-sad-face svg,
.woocommerce-cart svg.wc-block-components-sad-face {
    fill: var(--jcw-secondary, #D8A24A) !important;
    color: var(--jcw-secondary, #D8A24A) !important;
    stroke: var(--jcw-secondary, #D8A24A) !important;
}

/* Empty Cart Title Text */
.woocommerce-cart .wc-block-cart__empty-cart__title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    text-align: center !important;
}

/* Empty Cart Message Paragraph */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block p,
.woocommerce-cart .wc-block-cart__empty-cart p {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.02rem !important;
    color: #8D7A6E !important;
    margin-bottom: 30px !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

/* Branded buttons inside empty cart view and recommended products grid */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.wp-block-button__link,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-button__button,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block button,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button,
.woocommerce-cart .wc-block-components-product-button__button,
.woocommerce-cart .wc-block-grid__product-add-to-cart a,
.woocommerce-cart li.product .button,
.woocommerce-cart li.product .add_to_cart_button,
.woocommerce-cart li.product a.button,
.woocommerce-cart li.product button,
.woocommerce-cart .products .button,
.woocommerce-cart .products .add_to_cart_button,
.woocommerce-cart .products a.button,
.woocommerce-cart .products button,
.woocommerce-cart p.return-to-shop a.button {
    background-color: var(--jcw-primary, #3A2418) !important;
    background: var(--jcw-primary, #3A2418) !important;
    color: #FFFFFF !important;
    border: 1.5px solid var(--jcw-primary, #3A2418) !important;
    border-radius: 30px !important;
    /* Premium pill selector matching JCW homepage */
    font-weight: 700 !important;
    padding: 12px 28px !important;
    font-size: 0.92rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.28s ease !important;
    text-transform: none !important;
    box-shadow: 0 4px 12px rgba(58, 36, 24, 0.08) !important;
    text-decoration: none !important;
    width: auto !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.wp-block-button__link:hover,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-button__button:hover,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block button:hover,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button:hover,
.woocommerce-cart .wc-block-components-product-button__button:hover,
.woocommerce-cart .wc-block-grid__product-add-to-cart a:hover,
.woocommerce-cart li.product .button:hover,
.woocommerce-cart li.product .add_to_cart_button:hover,
.woocommerce-cart li.product a.button:hover,
.woocommerce-cart li.product button:hover,
.woocommerce-cart .products .button:hover,
.woocommerce-cart .products .add_to_cart_button:hover,
.woocommerce-cart .products a.button:hover,
.woocommerce-cart .products button:hover,
.woocommerce-cart p.return-to-shop a.button:hover {
    background-color: var(--jcw-secondary, #D8A24A) !important;
    background: var(--jcw-secondary, #D8A24A) !important;
    border-color: var(--jcw-secondary, #D8A24A) !important;
    color: #FFFFFF !important;
    box-shadow: 0 6px 18px rgba(216, 162, 74, 0.2) !important;
    transform: translateY(-2px) !important;
}

/* Cross-Sells Section Below Empty Cart */
.woocommerce-cart .wc-block-cart__cross-sells,
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block,
.woocommerce-cart .cross-sells {
    margin-top: 50px !important;
    border-top: 1.5px solid var(--jcw-border, #EADFD2) !important;
    padding-top: 40px !important;
}

/* Cross-sells title */
.woocommerce-cart .wc-block-cart__cross-sells-title,
.woocommerce-cart h2.wc-block-cart__cross-sells-title,
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block h2,
.woocommerce-cart .cross-sells h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    text-align: center !important;
    margin-bottom: 30px !important;
}

/* Grid Layout for Cross-Sells */
.woocommerce-cart .wc-block-grid__products,
.woocommerce-cart ul.wc-block-grid__products,
.woocommerce-cart ul.products {
    gap: 24px !important;
}

/* Individual Recommended/Cross-Sell Card override for all selectors */
.woocommerce-cart li.wc-block-grid__product,
.woocommerce-cart .wc-block-grid__product,
.woocommerce-cart li.product,
.woocommerce-cart .products li.product,
.woocommerce-cart ul.products li.product {
    background: var(--jcw-light-bg, #F8F3ED) !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    border-radius: 16px !important;
    padding: 24px 20px !important;
    box-shadow: 0 4px 16px rgba(58, 36, 24, 0.02) !important;
    transition: all 0.25s ease !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

.woocommerce-cart li.wc-block-grid__product:hover,
.woocommerce-cart .wc-block-grid__product:hover,
.woocommerce-cart li.product:hover,
.woocommerce-cart .products li.product:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px rgba(58, 36, 24, 0.06) !important;
    border-color: var(--jcw-secondary, #D8A24A) !important;
}

/* Recommended Products Links & Titles */
.woocommerce-cart .wc-block-grid__product-link,
.woocommerce-cart li.product a {
    text-decoration: none !important;
}

.woocommerce-cart li.wc-block-grid__product .wc-block-grid__product-title,
.woocommerce-cart li.product .woocommerce-loop-product__title,
.woocommerce-cart li.product h2,
.woocommerce-cart li.product h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    margin: 8px 0 12px !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease !important;
}

.woocommerce-cart li.wc-block-grid__product .wc-block-grid__product-title:hover,
.woocommerce-cart li.product .woocommerce-loop-product__title:hover,
.woocommerce-cart li.product h2:hover,
.woocommerce-cart li.product h3:hover {
    color: var(--jcw-secondary, #D8A24A) !important;
}

/* Recommended Product Image containers */
.woocommerce-cart .wc-block-grid__product-image,
.woocommerce-cart li.product .woocommerce-loop-product__link img,
.woocommerce-cart li.product a img {
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid var(--jcw-border, #EADFD2) !important;
    margin-bottom: 16px !important;
    background: #FAF7F4 !important;
    transition: transform 0.3s ease !important;
}

.woocommerce-cart li.wc-block-grid__product:hover .wc-block-grid__product-image img,
.woocommerce-cart li.product:hover .woocommerce-loop-product__link img,
.woocommerce-cart li.product:hover a img {
    transform: scale(1.04) !important;
}

/* Recommended Product Price */
.woocommerce-cart .wc-block-grid__product-price,
.woocommerce-cart .wc-block-grid__product-price *,
.woocommerce-cart li.product .price,
.woocommerce-cart li.product .price * {
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    color: var(--jcw-primary, #3A2418) !important;
    margin-bottom: 16px !important;
}

/* Cross-Sell Button wrapper */
.woocommerce-cart .wc-block-grid__product-add-to-cart {
    margin: auto 0 0 !important;
    width: 100% !important;
}

.woocommerce-cart .wc-block-grid__product-add-to-cart * {
    width: 100% !important;
}
