/**
 * Ellaroza Shop Flow - Modern Minimal Styles
 * Standard, maintainable CSS with CSS variables
 */

:root {
    /* Colors */
    --color-primary: #F198B3;
    --color-secondary: #FF90BB;
    --color-accent: #8ACCD5;
    --color-grey: #6B728E;
    --color-text: #1A1A1A;
    --color-border: #E3E3E3;
    --color-bg: #FFFFFF;
    --color-highlight: #FFD040;
    --color-black: #000000;
    --color-white: #FFFFFF;
    
    /* Spacing */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 40px;
    
    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 7px;
    
    /* Typography */
    --font-size-sm: 13px;
    --font-size-base: 14px;
    --font-size-lg: 16px;
    --font-weight-normal: 500;
    --font-weight-bold: 600;
    
    /* Transitions */
    --transition: 0.2s ease;
}

/* ============================================
   Cart Icon
   ============================================ */

.custom-cart-wrapper {
    display: inline-block;
    position: relative;
}

.custom-cart-link {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
    transition: opacity var(--transition);
}

.custom-cart-link:hover {
    opacity: 0.8;
}

.your-cart-icon {
    width: 24px;
    height: 24px;
    display: block;
}

.custom-cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background-color: var(--color-primary);
    color: var(--color-bg);
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    padding: 0 var(--spacing-xs);
}

.rtl .custom-cart-count {
    right: auto;
    left: -8px;
}

/* ============================================
   Toast Container - Modern Toast Messages
   ============================================ */

/* Toast container - fixed position below header */
.ellaroza-toast-container {
    position: fixed !important;
    top: 100px !important;
    right: 20px !important;
    z-index: 999999 !important;
    max-width: 400px !important;
    width: auto !important;
    pointer-events: none !important;
}

/* Admin bar support */
body.admin-bar .ellaroza-toast-container {
    top: 132px !important;
}

/* Single Product Page - Keep toasts just above sticky add to cart */
body.single-product .ellaroza-toast-container {
    z-index: 9999999 !important; /* Above sticky bars */
    top: auto !important;
    bottom: calc(var(--ellaroza-sticky-height, 100px) + 16px) !important;
}

/* Cart Page - Keep toasts below header, centered */
body.woocommerce-cart .ellaroza-toast-container {
    top: 100px !important;
    bottom: auto !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    max-width: 400px !important;
    width: auto !important;
}

body.admin-bar.woocommerce-cart .ellaroza-toast-container {
    top: 132px !important;
}

/* RTL support - also centered */
body.rtl .ellaroza-toast-container {
    right: auto !important;
    left: 20px !important;
}

body.rtl.woocommerce-cart .ellaroza-toast-container {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
}

/* ============================================
   Messages & Notices - Modern Toast Style
   ============================================ */

/* High specificity to override WooCommerce styles immediately - prevent flash */
/* BUT exclude thank you page notices - they must be visible */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice:not(.woocommerce-thankyou-order-received):not(.woocommerce-thankyou-order-failed):not(.woocommerce-thankyou-order-failed-actions),
ul.woocommerce-message,
ul.woocommerce-info,
ul.woocommerce-error,
ul.woocommerce-notice,
li.woocommerce-message,
li.woocommerce-info,
li.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.ellaroza-toast-container .woocommerce-message,
.ellaroza-toast-container .woocommerce-info,
.ellaroza-toast-container .woocommerce-error {
    position: relative !important;
    background-color: var(--color-bg) !important;
    border-top: 1px solid var(--color-border) !important;
    border-right: 1px solid var(--color-border) !important;
    border-bottom: 1px solid var(--color-border) !important;
    border-radius: var(--radius-md) !important;
    padding: var(--spacing-md) var(--spacing-lg) var(--spacing-md) var(--spacing-md) !important;
    margin: 0 0 var(--spacing-sm) 0 !important;
    color: var(--color-text) !important;
    font-size: var(--font-size-sm) !important;
    line-height: 1.6 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    outline: none !important;
    list-style: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    pointer-events: auto !important;
    opacity: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Cart page - initial animation from top */
body.woocommerce-cart .ellaroza-toast-container .woocommerce-message,
body.woocommerce-cart .ellaroza-toast-container .woocommerce-info,
body.woocommerce-cart .ellaroza-toast-container .woocommerce-error,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-message,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-info,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-error {
    transform: translate(-50%, -20px) !important;
}

/* Toast animation - slide in */
.ellaroza-toast-container .woocommerce-message,
.ellaroza-toast-container .woocommerce-info,
.ellaroza-toast-container .woocommerce-error,
.ellaroza-toast-container ul.woocommerce-message,
.ellaroza-toast-container ul.woocommerce-info,
.ellaroza-toast-container ul.woocommerce-error {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

/* Cart page - slide in from top (centered) */
body.woocommerce-cart .ellaroza-toast-container .woocommerce-message,
body.woocommerce-cart .ellaroza-toast-container .woocommerce-info,
body.woocommerce-cart .ellaroza-toast-container .woocommerce-error,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-message,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-info,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-error {
    transform: translate(-50%, 0) !important;
}

/* RTL animation */
body.rtl .ellaroza-toast-container .woocommerce-message,
body.rtl .ellaroza-toast-container .woocommerce-info,
body.rtl .ellaroza-toast-container .woocommerce-error,
body.rtl .ellaroza-toast-container ul.woocommerce-message,
body.rtl .ellaroza-toast-container ul.woocommerce-info,
body.rtl .ellaroza-toast-container ul.woocommerce-error {
    transform: translateX(0) !important;
}


/* Allow toast messages inside toast container to show */
body.single-product .ellaroza-toast-container .woocommerce-message,
body.single-product .ellaroza-toast-container .woocommerce-info,
body.single-product .ellaroza-toast-container .woocommerce-error {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    margin-bottom: var(--spacing-sm) !important;
    padding: var(--spacing-md) var(--spacing-lg) var(--spacing-md) var(--spacing-md) !important;
}


/* Color strip for cart toasts */
body.woocommerce-cart .ellaroza-toast-container .woocommerce-message,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-message {
    border-left: 5px solid #8ACCD5 !important; /* success */
    background-color: #E7F7FB !important;
    color: #1A1A1A !important;
}
body.woocommerce-cart .ellaroza-toast-container .woocommerce-info,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-info {
    border-left: 5px solid #6B728E !important; /* info */
    background-color: #F5F6F8 !important;
    color: #1A1A1A !important;
}
body.woocommerce-cart .ellaroza-toast-container .woocommerce-error,
body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-error {
    border-left: 5px solid #F198B3 !important; /* error */
    background-color: #FBE8EF !important;
    color: #1A1A1A !important;
}

/* Keep empty cart messages in place */
.ellaroza-empty-cart .woocommerce-info,
.ellaroza-empty-cart-message {
    display: block !important;
    position: relative !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: none !important;
    margin: 0 0 var(--spacing-lg) 0 !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none;
    content: none;
}

/* Color strip on left side - Thick colored border based on message type */
/* Success messages (like "added to cart") - default */
body .woocommerce-message,
body ul.woocommerce-message,
body li.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper ul.woocommerce-message {
    border-left: 5px solid #8ACCD5 !important; /* Accent (sporty) for success */
}

/* Deletion messages - will be overridden by JavaScript */
body .woocommerce-message.ellaroza-deletion-message,
body ul.woocommerce-message.ellaroza-deletion-message,
body li.woocommerce-message.ellaroza-deletion-message,
.woocommerce-notices-wrapper .woocommerce-message.ellaroza-deletion-message,
.woocommerce-notices-wrapper ul.woocommerce-message.ellaroza-deletion-message {
    border-left: 5px solid #6B728E !important; /* Grey for deletion messages */
}

body .woocommerce-info,
body ul.woocommerce-info,
body li.woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper ul.woocommerce-info {
    border-left: 5px solid #6B728E !important; /* Grey for info */
}

body .woocommerce-error,
body ul.woocommerce-error,
body li.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper ul.woocommerce-error {
    border-left: 5px solid #F198B3 !important; /* Primary for error */
}


/* Override inline styles - preserve border-left colors */
body .woocommerce-message[style],
body .woocommerce-info[style],
body .woocommerce-error[style],
body ul.woocommerce-message[style],
body ul.woocommerce-info[style],
body ul.woocommerce-error[style] {
    background-color: var(--color-bg) !important;
    border-top: 1px solid var(--color-border) !important;
    border-right: 1px solid var(--color-border) !important;
    border-bottom: 1px solid var(--color-border) !important;
    /* Don't override border-left - let the color rules above handle it */
    border-radius: var(--radius-md) !important;
    box-shadow: none !important;
    outline: none !important;
    color: var(--color-text) !important;
}

/* Close Button - Modern Toast Style */
.woocommerce-message .woocommerce-message-close,
.woocommerce-info .woocommerce-message-close,
.woocommerce-error .woocommerce-message-close,
.woocommerce-message a.woocommerce-message-close,
.woocommerce-info a.woocommerce-message-close,
.woocommerce-error a.woocommerce-message-close,
.ellaroza-toast-container .woocommerce-message-close,
.ellaroza-toast-container a.woocommerce-message-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    color: var(--color-grey) !important;
    font-size: 18px !important;
    line-height: 24px !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    z-index: 10 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.rtl .woocommerce-message .woocommerce-message-close,
body.rtl .woocommerce-info .woocommerce-message-close,
body.rtl .woocommerce-error .woocommerce-message-close {
    right: auto !important;
    left: 12px !important;
}

.woocommerce-message .woocommerce-message-close:hover,
.woocommerce-info .woocommerce-message-close:hover,
.woocommerce-error .woocommerce-message-close:hover,
.woocommerce-message a.woocommerce-message-close:hover,
.woocommerce-info a.woocommerce-message-close:hover,
.woocommerce-error a.woocommerce-message-close:hover,
.ellaroza-toast-container .woocommerce-message-close:hover,
.ellaroza-toast-container a.woocommerce-message-close:hover {
    color: var(--color-text) !important;
    background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Message Links */
.woocommerce-message a:not(.woocommerce-message-close),
.woocommerce-info a:not(.woocommerce-message-close),
.woocommerce-error a:not(.woocommerce-message-close) {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: var(--font-weight-normal);
    transition: color var(--transition);
}

.woocommerce-message a:not(.woocommerce-message-close):hover,
.woocommerce-info a:not(.woocommerce-message-close):hover,
.woocommerce-error a:not(.woocommerce-message-close):hover {
    color: var(--color-secondary);
}

/* Hide "بازگشت" (Return) links in messages */
.woocommerce-message a[href*="restore"],
.woocommerce-message a.restore-item,
.woocommerce-message .ellaroza-return-link {
    display: none !important;
}

/* Message Buttons - Modern Toast Style */
.ellaroza-toast-container .woocommerce-message .button,
.ellaroza-toast-container .woocommerce-info .button,
.ellaroza-toast-container .woocommerce-error .button {
    margin-top: var(--spacing-sm) !important;
    font-size: var(--font-size-xs) !important;
    padding: 6px 12px !important;
    min-height: auto !important;
    line-height: 1.4 !important;
    width: auto !important;
    display: inline-block !important;
}

.woocommerce-info .button:not(.ellaroza-shop-button),
.woocommerce-error .button {
    display: none !important;
}

.woocommerce-message {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.woocommerce-message .button {
    background-color: var(--color-primary);
    color: var(--color-bg);
    border: none;
    border-radius: var(--radius-sm);
    padding: 4px 8px;
    font-size: 11px;
    font-weight: var(--font-weight-normal);
    margin-top: var(--spacing-xs);
    margin-left: 0;
    margin-right: auto;
    transition: background-color var(--transition);
    text-decoration: none;
    display: inline-block;
    line-height: 1.3;
    cursor: pointer;
    align-self: flex-start;
    width: auto;
}

.woocommerce-message .button:hover {
    background-color: var(--color-secondary);
    color: var(--color-bg);
}

.woocommerce-notices-wrapper {
    max-width: 1200px;
    margin: 0 auto 30px auto;
    padding: 0 var(--spacing-lg);
    /* Prevent scroll to notices wrapper */
    scroll-margin-top: 0 !important;
    scroll-padding-top: 0 !important;
}


/* ============================================
   Cart Page - Minimal Design
   ============================================ */

/* Reset all WooCommerce default cart styles - Strong Override */
body.woocommerce-cart table.cart,
body.woocommerce-cart table.cart *,
body.woocommerce-cart table.cart.shop_table,
body.woocommerce-cart table.cart.shop_table *,
body.woocommerce-cart table.cart.shop_table_responsive,
body.woocommerce-cart table.cart.shop_table_responsive *,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .woocommerce-cart-form *,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals *,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart_totals * {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline: none !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
}

body.woocommerce-cart {
    min-height: 100vh;
    background-color: var(--color-bg) !important;
}

body.woocommerce-cart .woocommerce {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: var(--spacing-xl) var(--spacing-lg) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .woocommerce-cart-form {
    width: 100% !important;
    background-color: transparent !important;
    overflow-x: visible !important;
}

/* Minimal table styling - Strong Override */
body.woocommerce-cart table.cart,
body.woocommerce-cart table.cart.shop_table,
body.woocommerce-cart table.cart.shop_table_responsive {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 var(--spacing-md) !important;
    margin-bottom: var(--spacing-xl) !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    display: table !important;
    table-layout: fixed !important;
}

body.woocommerce-cart table.cart thead,
body.woocommerce-cart table.cart.shop_table thead,
body.woocommerce-cart table.cart.shop_table_responsive thead {
    display: none !important;
}

body.woocommerce-cart table.cart tbody,
body.woocommerce-cart table.cart.shop_table tbody,
body.woocommerce-cart table.cart.shop_table_responsive tbody {
    display: table-row-group !important;
}

body.woocommerce-cart table.cart tbody tr,
body.woocommerce-cart table.cart.shop_table tbody tr,
body.woocommerce-cart table.cart.shop_table_responsive tbody tr {
    display: table-row !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-md) !important;
    background-color: var(--color-bg) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    width: 100% !important;
    min-height: 120px !important;
    height: auto !important;
}

body.woocommerce-cart table.cart tbody tr:last-child,
body.woocommerce-cart table.cart.shop_table tbody tr:last-child,
body.woocommerce-cart table.cart.shop_table_responsive tbody tr:last-child {
    margin-bottom: 0 !important;
}

body.woocommerce-cart table.cart tbody tr:hover,
body.woocommerce-cart table.cart.shop_table tbody tr:hover,
body.woocommerce-cart table.cart.shop_table_responsive tbody tr:hover {
    background-color: var(--color-bg) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
    border-color: var(--color-primary) !important;
}

body.woocommerce-cart table.cart th,
body.woocommerce-cart table.cart td,
body.woocommerce-cart table.cart.shop_table th,
body.woocommerce-cart table.cart.shop_table td,
body.woocommerce-cart table.cart.shop_table_responsive th,
body.woocommerce-cart table.cart.shop_table_responsive td {
    padding: var(--spacing-lg) !important;
    text-align: right !important;
    vertical-align: middle !important;
    background-color: transparent !important;
    border: none !important;
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
}

/* Fixed widths for table cells */
body.woocommerce-cart table.cart .product-remove {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
}

body.woocommerce-cart table.cart .product-thumbnail {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

body.woocommerce-cart table.cart .product-name {
    width: auto !important;
    min-width: 200px !important;
}

body.woocommerce-cart table.cart .product-price {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

body.woocommerce-cart table.cart .product-quantity {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
}

body.woocommerce-cart table.cart .product-subtotal {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

/* RTL Support */
body.rtl .woocommerce-cart table.cart th,
body.rtl .woocommerce-cart table.cart td {
    text-align: left;
}

/* Product thumbnail - on the right */
.woocommerce-cart table.cart .product-thumbnail {
    width: 100px;
    text-align: right;
}

/* Remove ::before pseudo-element */
.woocommerce-cart table.cart .product-thumbnail::before {
    display: none !important;
    content: none !important;
}

/* Override WooCommerce responsive hiding - Strong Override */
body.woocommerce-cart table.cart.shop_table_responsive .product-thumbnail,
body.woocommerce-cart table.cart .product-thumbnail {
    display: table-cell !important;
    width: 100px !important;
}

.woocommerce-cart table.cart .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    display: block;
    margin-right: 0;
    margin-left: auto;
}

body.rtl .woocommerce-cart table.cart .product-thumbnail {
    text-align: left;
}

body.rtl .woocommerce-cart table.cart .product-thumbnail img {
    margin-right: auto;
    margin-left: 0;
}

.woocommerce-cart table.cart .product-thumbnail a {
    display: block;
}

/* Product name */
.woocommerce-cart table.cart .product-name {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-base);
    color: var(--color-text);
    line-height: 1.5;
}

.woocommerce-cart table.cart .product-name a {
    color: var(--color-text);
    text-decoration: none;
    transition: color var(--transition);
}

.woocommerce-cart table.cart .product-name a:hover {
    color: var(--color-primary);
}

/* Product attributes/variations - Desktop */
body.woocommerce-cart table.cart .product-name {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-xs) !important;
    align-items: flex-start !important;
}

body.woocommerce-cart table.cart .product-name > a,
body.woocommerce-cart table.cart .product-name > span {
    display: block !important;
    font-weight: var(--font-weight-bold) !important;
    font-size: var(--font-size-base) !important;
    color: var(--color-text) !important;
    line-height: 1.4 !important;
    order: 1 !important;
    width: 100% !important;
}

body.woocommerce-cart table.cart .product-name dl.variation {
    margin: var(--spacing-xs) 0 0 0 !important;
    padding: 0 !important;
    font-size: var(--font-size-sm) !important;
    color: var(--color-grey) !important;
    line-height: 1.5 !important;
    display: block !important;
    order: 2 !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.woocommerce-cart table.cart .product-name dl.variation {
    display: inline-block !important;
}

body.woocommerce-cart table.cart .product-name dl.variation dt {
    display: inline !important;
    font-weight: var(--font-weight-normal) !important;
    color: var(--color-grey) !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart table.cart .product-name dl.variation dt::after {
    content: ": " !important;
}

body.woocommerce-cart table.cart .product-name dl.variation dd {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: var(--font-weight-normal) !important;
    color: var(--color-grey) !important;
}

/* Add separator between variations */
body.woocommerce-cart table.cart .product-name dl.variation > dt:not(:first-child)::before {
    content: " • " !important;
    margin: 0 var(--spacing-xs) !important;
    color: var(--color-grey) !important;
}

body.woocommerce-cart table.cart .product-name dl.variation > dt {
    display: inline !important;
    margin: 0 !important;
    clear: none !important;
    float: none !important;
}

/* Ensure variation appears on new line */
body.woocommerce-cart table.cart .product-name dl.variation {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
}

body.woocommerce-cart table.cart .product-name dl.variation > dt:first-child {
    margin-top: 0 !important;
}

body.woocommerce-cart table.cart .product-name dl.variation > dd {
    display: inline !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    float: none !important;
}

/* Make sure variation is visible and properly styled */
body.woocommerce-cart table.cart .product-name dl.variation {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

body.woocommerce-cart table.cart .product-name dl.variation dt,
body.woocommerce-cart table.cart .product-name dl.variation dd {
    visibility: visible !important;
    opacity: 1 !important;
}

body.woocommerce-cart table.cart .product-name dl.variation dd {
    display: inline !important;
}

/* Product price */
.woocommerce-cart table.cart .product-price {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-base);
    color: var(--color-text);
}

.woocommerce-cart table.cart .product-price .amount {
    color: var(--color-text);
}

/* Product subtotal */
.woocommerce-cart table.cart .product-subtotal {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-base);
    color: var(--color-text);
}

.woocommerce-cart table.cart .product-subtotal .amount {
    color: var(--color-text);
    font-weight: var(--font-weight-bold);
}

/* Quantity Input with +/- Buttons - Enhanced */
.woocommerce-cart table.cart .quantity {
    display: inline-flex;
    align-items: center;
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    background-color: var(--color-bg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.woocommerce-cart table.cart .quantity .qty-minus,
.woocommerce-cart table.cart .quantity .qty-plus {
    width: 36px;
    height: 36px;
    border: none;
    background-color: #F5F5F5;
    color: var(--color-text);
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition);
    user-select: none;
    -webkit-user-select: none;
    padding: 0;
    line-height: 1;
}

.woocommerce-cart table.cart .quantity .qty-minus:hover,
.woocommerce-cart table.cart .quantity .qty-plus:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
    transform: scale(1.05);
}

.woocommerce-cart table.cart .quantity .qty-minus:active,
.woocommerce-cart table.cart .quantity .qty-plus:active {
    transform: scale(0.95);
}

.woocommerce-cart table.cart .quantity .qty-minus:disabled,
.woocommerce-cart table.cart .quantity .qty-plus:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.woocommerce-cart table.cart .quantity .qty-minus:disabled:hover,
.woocommerce-cart table.cart .quantity .qty-plus:disabled:hover {
    background-color: var(--color-bg);
    color: var(--color-text);
}

.woocommerce-cart table.cart .quantity input[type="number"] {
    width: 50px;
    height: 36px;
    padding: 0;
    border: none;
    border-left: 1px solid var(--color-border);
    border-right: 1px solid var(--color-border);
    border-radius: 0;
    text-align: center;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    color: var(--color-text);
    background-color: var(--color-bg);
    -moz-appearance: textfield;
    appearance: textfield;
    cursor: default;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
}

.woocommerce-cart table.cart .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce-cart table.cart .quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.woocommerce-cart table.cart .quantity input[type="number"]:focus {
    outline: none;
    background-color: var(--color-bg);
}

/* Cart Collaterals - Minimal */
.woocommerce-cart .cart-collaterals {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--spacing-xl);
    width: 100%;
}

.woocommerce-cart .cart_totals {
    background-color: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    width: 100%;
    max-width: 400px;
    min-width: 300px;
    margin-right: var(--spacing-xl);
}

body.rtl .woocommerce-cart .cart_totals {
    margin-right: 0;
    margin-left: var(--spacing-xl);
}

.woocommerce-cart .cart_totals h2 {
    display: none;
}

.woocommerce-cart .cart_totals table {
    width: 100%;
    margin-bottom: var(--spacing-lg);
    border-collapse: collapse;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: var(--spacing-sm) 0;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    text-align: right;
    background-color: transparent;
}

body.rtl .woocommerce-cart .cart_totals table th,
body.rtl .woocommerce-cart .cart_totals table td {
    text-align: left;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    border-bottom: none;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-lg);
}

body.woocommerce-cart .actions {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-md) !important;
    margin-top: var(--spacing-lg) !important;
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
}

body.woocommerce-cart .actions .coupon {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
    align-items: center !important;
    width: 100% !important;
}

body.woocommerce-cart .actions .coupon label {
    display: none !important;
}

body.woocommerce-cart .actions .coupon input[type="text"] {
    flex: 1 !important;
    padding: 12px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-sm) !important;
    font-size: var(--font-size-base) !important;
    color: var(--color-text) !important;
    background-color: var(--color-bg) !important;
    width: auto !important;
}

body.woocommerce-cart .actions .coupon input[type="text"]:focus {
    outline: none !important;
    border-color: var(--color-primary) !important;
}

/* Product Remove Button - Styled */
.woocommerce-cart .product-remove a.remove {
    color: var(--color-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-normal);
    text-decoration: none;
    width: auto;
    height: auto;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--radius-sm);
    transition: all var(--transition);
    background-color: rgba(241, 152, 179, 0.1);
    border: 1px solid rgba(241, 152, 179, 0.2);
}

.woocommerce-cart .product-remove a.remove:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
    transform: scale(1.05);
}

/* Cart Buttons - Minimal */
.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart input.button,
.woocommerce-cart .checkout-button,
.woocommerce-cart .actions .button {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--radius-sm);
    padding: var(--spacing-md) var(--spacing-lg);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    cursor: pointer;
    transition: background-color var(--transition);
    text-decoration: none;
    display: inline-block;
    line-height: 1.4;
}

.woocommerce-cart .button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-cart input.button:hover,
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart .actions .button:hover {
    background-color: var(--color-secondary);
    color: var(--color-white);
}

.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: var(--spacing-lg);
}

.woocommerce-cart .checkout-button {
    width: 100%;
}

.woocommerce-cart .return-to-shop {
    margin-top: var(--spacing-lg);
    text-align: center;
}

.woocommerce-cart .return-to-shop a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: var(--font-weight-normal);
    transition: color var(--transition);
}

.woocommerce-cart .return-to-shop a:hover {
    color: var(--color-secondary);
}

.woocommerce-cart .button:disabled,
.woocommerce-cart button.button:disabled,
.woocommerce-cart input.button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* ============================================
   Empty Cart - Modern Design
   ============================================ */

.woocommerce-cart .cart-empty,
.woocommerce-cart .ellaroza-empty-cart,
.cart-empty.ellaroza-empty-cart {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    max-width: 600px;
    margin: 0 auto;
    display: block !important;
}

.woocommerce-cart .cart-empty .ellaroza-empty-cart-svg,
.woocommerce-cart .ellaroza-empty-cart .ellaroza-empty-cart-svg,
.cart-empty.ellaroza-empty-cart .ellaroza-empty-cart-svg {
    width: 100%;
    max-width: 240px; /* Smaller size */
    height: auto;
    margin: 0 auto var(--spacing-xl);
    display: block !important;
}

.woocommerce-cart .cart-empty .woocommerce-info,
.woocommerce-cart .ellaroza-empty-cart .woocommerce-info,
.woocommerce-cart .ellaroza-empty-cart-message,
.cart-empty.ellaroza-empty-cart .woocommerce-info {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 var(--spacing-lg) 0 !important;
    font-size: var(--font-size-lg) !important;
    color: var(--color-text) !important;
    font-weight: var(--font-weight-normal) !important;
}

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

/* Show all messages - removal messages should be visible */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart ul.woocommerce-message {
    display: block !important;
}

/* Show info messages by default - JavaScript will hide empty cart ones */
body.woocommerce-cart .woocommerce-info {
    display: block !important;
}

/* Don't hide removal messages - they should show */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info:not(:contains("سبد خرید شما در حال حاضر خالی است")):not(:contains("Your cart is currently empty")) {
    display: block !important;
}

/* Hide ALL return-to-shop buttons EXCEPT the one inside our custom empty cart */
body.woocommerce-cart .return-to-shop {
    display: none !important;
}

body.woocommerce-cart .ellaroza-empty-cart .return-to-shop,
body.woocommerce-cart .cart-empty.ellaroza-empty-cart .return-to-shop {
    display: block !important;
}

/* Hide ALL wc-backward buttons EXCEPT the one with our custom class */
body.woocommerce-cart .wc-backward:not(.ellaroza-shop-button),
body.woocommerce-cart a.wc-backward:not(.ellaroza-shop-button),
body.woocommerce-cart button.wc-backward:not(.ellaroza-shop-button) {
    display: none !important;
}

/* Hide duplicate cart-empty divs that don't have our class */
body.woocommerce-cart .cart-empty:not(.ellaroza-empty-cart) {
    display: none !important;
}

.woocommerce-cart .cart-empty .return-to-shop {
    margin-top: var(--spacing-xl);
}

/* Empty cart button - High specificity to override WooCommerce defaults */
body.woocommerce-cart .cart-empty .return-to-shop a,
body.woocommerce-cart .cart-empty .return-to-shop a.button,
body.woocommerce-cart .cart-empty .return-to-shop a.wc-backward,
body.woocommerce-cart .cart-empty .return-to-shop .button,
body.woocommerce-cart .cart-empty .button,
body.woocommerce-cart .ellaroza-empty-cart .return-to-shop a,
body.woocommerce-cart .ellaroza-empty-cart .return-to-shop a.button,
body.woocommerce-cart .ellaroza-empty-cart .return-to-shop a.wc-backward,
body.woocommerce-cart .ellaroza-empty-cart .ellaroza-shop-button,
.cart-empty.ellaroza-empty-cart .return-to-shop a,
.cart-empty.ellaroza-empty-cart .ellaroza-shop-button {
    background-color: #F198B3 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 14px 40px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: background-color 0.2s ease !important;
    cursor: pointer !important;
    min-width: 200px !important;
    box-shadow: none !important;
    outline: none !important;
}

body.woocommerce-cart .cart-empty .return-to-shop a:hover,
body.woocommerce-cart .cart-empty .return-to-shop a.button:hover,
body.woocommerce-cart .cart-empty .return-to-shop a.wc-backward:hover,
body.woocommerce-cart .cart-empty .return-to-shop .button:hover,
body.woocommerce-cart .cart-empty .button:hover,
body.woocommerce-cart .ellaroza-empty-cart .return-to-shop a:hover,
body.woocommerce-cart .ellaroza-empty-cart .return-to-shop a.button:hover,
body.woocommerce-cart .ellaroza-empty-cart .return-to-shop a.wc-backward:hover,
body.woocommerce-cart .ellaroza-empty-cart .ellaroza-shop-button:hover,
.cart-empty.ellaroza-empty-cart .return-to-shop a:hover,
.cart-empty.ellaroza-empty-cart .ellaroza-shop-button:hover {
    background-color: #FF90BB !important;
    color: #FFFFFF !important;
}


/* ============================================
   Thank You Page - Minimal Style
   ============================================ */

/* Make thank you notices visible */
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-thankyou-order-failed,
body.woocommerce-order-received .woocommerce-thankyou-order-failed-actions,
.woocommerce-thankyou-order-received,
.woocommerce-thankyou-order-failed,
.woocommerce-thankyou-order-failed-actions {
    opacity: 1 !important;
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    transform: none !important;
}

/* Thank you message - centered box */
.woocommerce-thankyou-order-received {
    max-width: 500px;
    margin: 40px auto;
    padding: 24px;
    background: #FFFFFF;
    border: 1px solid #E3E3E3;
    border-radius: 8px;
    text-align: center;
}

/* Order overview - remove list structure */
.woocommerce-order-overview {
    list-style: none !important;
    padding: 20px 32px;
    margin: 40px auto;
    max-width: 600px;
    background: #FFFFFF;
    border: 1px solid #E3E3E3;
    border-radius: 8px;
}

.woocommerce-order-overview li {
    list-style: none !important;
    list-style-type: none !important;
    list-style-image: none !important;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    border: none !important;
    background: none !important;
    background-image: none !important;
}

.woocommerce-order-overview li::before,
.woocommerce-order-overview li::after,
.woocommerce-order-overview li::marker {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
}

.woocommerce-order-overview li strong {
    border: none !important;
    background: none !important;
}

.woocommerce-column {
    margin-top: 20px;
}

/* Ensure checkout notices are visible on checkout (we don't want them hidden by global opacity:0) */
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout ul.woocommerce-message,
body.woocommerce-checkout ul.woocommerce-info,
body.woocommerce-checkout ul.woocommerce-error,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error {
    opacity: 1 !important;
    display: block !important;
    visibility: visible !important;
}

/* (login reminder on checkout is currently handled at template/logic level, not hidden via CSS) */

/* Make default WooCommerce messages visible on single product pages */
body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error,
body.single-product ul.woocommerce-message,
body.single-product ul.woocommerce-info,
body.single-product ul.woocommerce-error,
body.single-product .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .woocommerce-notices-wrapper .woocommerce-info,
body.single-product .woocommerce-notices-wrapper .woocommerce-error {
    opacity: 1 !important;
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    transform: none !important;
    margin-top: 30px !important;
}

/* ============================================
   Responsive
   ============================================ */

/* Responsive Toast Styles */
@media (max-width: 768px) {
    .ellaroza-toast-container {
        top: 80px !important;
        right: 10px !important;
        left: 10px !important;
        max-width: calc(100% - 20px) !important;
        width: calc(100% - 20px) !important;
        transform: none !important;
    }
    
    body.admin-bar .ellaroza-toast-container {
        top: 112px !important;
    }
    
    /* Single Product - Keep above sticky add to cart on mobile */
    body.single-product .ellaroza-toast-container {
        top: auto !important;
        bottom: calc(var(--ellaroza-sticky-height, 90px) + 12px) !important;
        z-index: 9999999 !important;
        left: 10px !important;
        right: 10px !important;
        transform: none !important;
    }
    
    /* Cart page - Below header on mobile, centered */
    body.woocommerce-cart .ellaroza-toast-container {
        top: 80px !important;
        bottom: auto !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        max-width: calc(100% - 20px) !important;
        width: calc(100% - 20px) !important;
    }
    
    body.admin-bar.woocommerce-cart .ellaroza-toast-container {
        top: 112px !important;
    }
    
    body.rtl.woocommerce-cart .ellaroza-toast-container {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
    
    /* Other pages - Below header on mobile */
    body.woocommerce-page:not(.single-product):not(.woocommerce-cart) .ellaroza-toast-container {
        top: 70px !important;
    }
    
    body.admin-bar.woocommerce-page:not(.single-product):not(.woocommerce-cart) .ellaroza-toast-container {
        top: 102px !important;
    }
    
    body.rtl .ellaroza-toast-container {
        right: 10px !important;
        left: 10px !important;
    }
    
    .ellaroza-toast-container .woocommerce-message,
    .ellaroza-toast-container .woocommerce-info,
    .ellaroza-toast-container .woocommerce-error,
    .ellaroza-toast-container ul.woocommerce-message,
    .ellaroza-toast-container ul.woocommerce-info,
    .ellaroza-toast-container ul.woocommerce-error {
        transform: translateY(-100%) !important;
        margin-bottom: var(--spacing-xs) !important;
    }
    
    /* Initial state - hidden above (for non-cart pages) */
    .ellaroza-toast-container .woocommerce-message,
    .ellaroza-toast-container .woocommerce-info,
    .ellaroza-toast-container .woocommerce-error,
    .ellaroza-toast-container ul.woocommerce-message,
    .ellaroza-toast-container ul.woocommerce-info,
    .ellaroza-toast-container ul.woocommerce-error {
        transform: translateY(-20px) !important;
        margin-bottom: var(--spacing-xs) !important;
    }
    
    /* Cart page messages - initial centered animation from top */
    /* Note: Container already has translateX(-50%), so messages only need Y transform */
    body.woocommerce-cart .ellaroza-toast-container .woocommerce-message,
    body.woocommerce-cart .ellaroza-toast-container .woocommerce-info,
    body.woocommerce-cart .ellaroza-toast-container .woocommerce-error,
    body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-message,
    body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-info,
    body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-error {
        transform: translateY(-20px) !important;
        margin-bottom: var(--spacing-xs) !important;
    }
    
    /* Final state - visible for all pages */
    .ellaroza-toast-container .woocommerce-message,
    .ellaroza-toast-container .woocommerce-info,
    .ellaroza-toast-container .woocommerce-error,
    .ellaroza-toast-container ul.woocommerce-message,
    .ellaroza-toast-container ul.woocommerce-info,
    .ellaroza-toast-container ul.woocommerce-error {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
    
    /* Cart page messages - final position (container handles X centering) */
    body.woocommerce-cart .ellaroza-toast-container .woocommerce-message,
    body.woocommerce-cart .ellaroza-toast-container .woocommerce-info,
    body.woocommerce-cart .ellaroza-toast-container .woocommerce-error,
    body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-message,
    body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-info,
    body.woocommerce-cart .ellaroza-toast-container ul.woocommerce-error {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}

@media (max-width: 768px) {
    /* Strong override for mobile table */
    body.woocommerce-cart table.cart,
    body.woocommerce-cart table.cart.shop_table,
    body.woocommerce-cart table.cart.shop_table_responsive {
        display: block !important;
        width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        font-size: var(--font-size-base) !important;
        overflow-x: visible !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    body.woocommerce-cart table.cart thead,
    body.woocommerce-cart table.cart.shop_table thead,
    body.woocommerce-cart table.cart.shop_table_responsive thead {
        display: none !important;
    }
    
    body.woocommerce-cart table.cart tbody,
    body.woocommerce-cart table.cart.shop_table tbody,
    body.woocommerce-cart table.cart.shop_table_responsive tbody {
        display: block !important;
        width: 100% !important;
    }
    
    /* Mobile: Card layout with image on right */
    body.woocommerce-cart table.cart tr,
    body.woocommerce-cart table.cart.shop_table tr,
    body.woocommerce-cart table.cart.shop_table_responsive tr {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: var(--spacing-md) !important;
        padding: var(--spacing-md) !important;
        margin-bottom: var(--spacing-md) !important;
        background-color: var(--color-bg) !important;
        border: 1px solid var(--color-border) !important;
        border-radius: var(--radius-md) !important;
        position: relative !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    body.woocommerce-cart table.cart th,
    body.woocommerce-cart table.cart td,
    body.woocommerce-cart table.cart.shop_table th,
    body.woocommerce-cart table.cart.shop_table td,
    body.woocommerce-cart table.cart.shop_table_responsive th,
    body.woocommerce-cart table.cart.shop_table_responsive td {
        padding: 0 !important;
        border: none !important;
        text-align: right !important;
        display: block !important;
        width: auto !important;
    }
    
    body.woocommerce-cart table.cart td.product-remove,
    body.woocommerce-cart table.cart.shop_table td.product-remove,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-remove {
        position: absolute !important;
        top: var(--spacing-md) !important;
        left: var(--spacing-md) !important;
        right: auto !important;
        padding: 0 !important;
        width: auto !important;
        z-index: 10 !important;
        display: block !important;
    }
    
    /* RTL: Keep remove button on left side */
    body.rtl.woocommerce-cart table.cart td.product-remove,
    body.rtl.woocommerce-cart table.cart.shop_table td.product-remove,
    body.rtl.woocommerce-cart table.cart.shop_table_responsive td.product-remove {
        left: var(--spacing-md) !important;
        right: auto !important;
    }
    
    body.woocommerce-cart table.cart td.product-remove a.remove,
    body.woocommerce-cart table.cart.shop_table td.product-remove a.remove,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-remove a.remove {
        font-size: var(--font-size-sm) !important;
        padding: var(--spacing-xs) var(--spacing-sm) !important;
        color: var(--color-primary) !important;
        background-color: rgba(241, 152, 179, 0.1) !important;
        border: 1px solid rgba(241, 152, 179, 0.2) !important;
    }
    
    body.woocommerce-cart table.cart td.product-remove a.remove:hover,
    body.woocommerce-cart table.cart.shop_table td.product-remove a.remove:hover,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-remove a.remove:hover {
        background-color: var(--color-primary) !important;
        color: var(--color-white) !important;
        border-color: var(--color-primary) !important;
    }
    
    /* Product thumbnail - on the right in mobile */
    body.woocommerce-cart table.cart td.product-thumbnail,
    body.woocommerce-cart table.cart.shop_table td.product-thumbnail,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail {
        width: 100px !important;
        flex-shrink: 0 !important;
        display: block !important;
        text-align: right !important;
        padding: 0 !important;
        order: 2 !important;
    }
    
    body.rtl.woocommerce-cart table.cart td.product-thumbnail,
    body.rtl.woocommerce-cart table.cart.shop_table td.product-thumbnail,
    body.rtl.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail {
        text-align: left !important;
    }
    
    body.woocommerce-cart table.cart td.product-thumbnail::before,
    body.woocommerce-cart table.cart.shop_table td.product-thumbnail::before,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail::before {
        display: none !important;
        content: none !important;
    }
    
    body.woocommerce-cart table.cart td.product-thumbnail img,
    body.woocommerce-cart table.cart.shop_table td.product-thumbnail img,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail img {
        width: 100px !important;
        height: 100px !important;
        object-fit: cover !important;
        margin: 0 !important;
        margin-right: 0 !important;
        margin-left: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        border-radius: var(--radius-sm) !important;
    }
    
    body.rtl.woocommerce-cart table.cart td.product-thumbnail img,
    body.rtl.woocommerce-cart table.cart.shop_table td.product-thumbnail img,
    body.rtl.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail img {
        margin-right: auto !important;
        margin-left: 0 !important;
    }
    
    body.woocommerce-cart table.cart td.product-thumbnail a,
    body.woocommerce-cart table.cart.shop_table td.product-thumbnail a,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail a {
        display: block !important;
    }
    
    /* Product info - on the left */
    body.woocommerce-cart table.cart td.product-name,
    body.woocommerce-cart table.cart.shop_table td.product-name,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-name {
        flex: 1 !important;
        font-weight: var(--font-weight-bold) !important;
        font-size: var(--font-size-base) !important;
        padding-bottom: var(--spacing-xs) !important;
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: var(--spacing-xs) !important;
    }
    
    body.woocommerce-cart table.cart td.product-name::before,
    body.woocommerce-cart table.cart.shop_table td.product-name::before,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-name::before {
        display: none !important;
        content: none !important;
    }
    
    /* Product name link - separate from attributes */
    body.woocommerce-cart table.cart td.product-name > a,
    body.woocommerce-cart table.cart.shop_table td.product-name > a,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-name > a,
    body.woocommerce-cart table.cart td.product-name > span,
    body.woocommerce-cart table.cart.shop_table td.product-name > span,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-name > span {
        display: block !important;
        font-weight: var(--font-weight-bold) !important;
        font-size: var(--font-size-base) !important;
        color: var(--color-text) !important;
        text-decoration: none !important;
        line-height: 1.4 !important;
        order: 1 !important;
    }
    
    /* Product attributes/variations - separate line with styling */
    body.woocommerce-cart table.cart td.product-name dl.variation,
    body.woocommerce-cart table.cart.shop_table td.product-name dl.variation,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-name dl.variation {
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        font-size: var(--font-size-sm) !important;
        color: var(--color-grey) !important;
        line-height: 1.5 !important;
        order: 2 !important;
        margin-top: var(--spacing-xs) !important;
        width: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    body.woocommerce-cart table.cart td.product-name dl.variation {
        display: inline-block !important;
    }
    
    body.woocommerce-cart table.cart td.product-name dl.variation dt,
    body.woocommerce-cart table.cart.shop_table td.product-name dl.variation dt,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-name dl.variation dt {
        display: inline !important;
        font-weight: var(--font-weight-normal) !important;
        color: var(--color-grey) !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    body.woocommerce-cart table.cart td.product-name dl.variation dt::after {
        content: ": " !important;
    }
    
    body.woocommerce-cart table.cart td.product-name dl.variation dd,
    body.woocommerce-cart table.cart.shop_table td.product-name dl.variation dd,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-name dl.variation dd {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        font-weight: var(--font-weight-normal) !important;
        color: var(--color-grey) !important;
    }
    
    /* Add separator between variations - Mobile */
    body.woocommerce-cart table.cart td.product-name dl.variation > dt:not(:first-child)::before {
        content: " • " !important;
        margin: 0 var(--spacing-xs) !important;
        color: var(--color-grey) !important;
    }
    
    body.woocommerce-cart table.cart td.product-name dl.variation > dt {
        display: inline !important;
        margin: 0 !important;
        clear: none !important;
        float: none !important;
    }
    
    body.woocommerce-cart table.cart td.product-name dl.variation > dd {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    body.woocommerce-cart table.cart td.product-price,
    body.woocommerce-cart table.cart.shop_table td.product-price,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-price {
        flex: 1 !important;
        order: 1 !important;
        padding-top: var(--spacing-xs) !important;
    }
    
    body.woocommerce-cart table.cart td.product-price::before,
    body.woocommerce-cart table.cart.shop_table td.product-price::before,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-price::before {
        display: none !important;
        content: none !important;
    }
    
    body.woocommerce-cart table.cart td.product-quantity,
    body.woocommerce-cart table.cart.shop_table td.product-quantity,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-quantity {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: var(--spacing-sm) 0 !important;
        order: 1 !important;
    }
    
    body.woocommerce-cart table.cart td.product-quantity::before,
    body.woocommerce-cart table.cart.shop_table td.product-quantity::before,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-quantity::before {
        display: none !important;
        content: none !important;
    }
    
    body.woocommerce-cart table.cart td.product-subtotal,
    body.woocommerce-cart table.cart.shop_table td.product-subtotal,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-subtotal {
        flex: 1 !important;
        font-weight: var(--font-weight-bold) !important;
        font-size: var(--font-size-lg) !important;
        padding-top: var(--spacing-sm) !important;
        border-top: 1px solid var(--color-border) !important;
        margin-top: var(--spacing-sm) !important;
        order: 1 !important;
    }
    
    body.woocommerce-cart table.cart td.product-subtotal::before,
    body.woocommerce-cart table.cart.shop_table td.product-subtotal::before,
    body.woocommerce-cart table.cart.shop_table_responsive td.product-subtotal::before {
        content: attr(data-title) ": " !important;
        font-weight: var(--font-weight-normal) !important;
        color: var(--color-grey) !important;
        margin-left: var(--spacing-sm) !important;
    }
    
    body.rtl.woocommerce-cart table.cart td.product-subtotal::before,
    body.rtl.woocommerce-cart table.cart.shop_table td.product-subtotal::before,
    body.rtl.woocommerce-cart table.cart.shop_table_responsive td.product-subtotal::before {
        margin-left: 0 !important;
        margin-right: var(--spacing-sm) !important;
    }
    
    .woocommerce-cart .cart-collaterals {
        flex-direction: column;
    }
    
    .woocommerce-cart .cart_totals {
        max-width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
    
    body.rtl .woocommerce-cart .cart_totals {
        margin-right: 0;
        margin-left: 0;
    }
    
    body.woocommerce-cart .cart-collaterals {
        flex-direction: column !important;
        justify-content: center !important;
        width: 100% !important;
        margin-top: var(--spacing-lg) !important;
    }
    
    body.woocommerce-cart .cart-collaterals::before {
        display: none !important;
    }
    
    body.woocommerce-cart .cart_totals {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: var(--spacing-lg) !important;
        padding: 0 !important;
    }
    
    body.rtl.woocommerce-cart .cart_totals {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    body.woocommerce-cart .actions .coupon {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
    }
    
    body.woocommerce-cart .actions .coupon input[type="text"] {
        width: 100% !important;
        margin-bottom: 10px !important;
    }
}

