/* ===== RESPONSIVE PRODUCT CARD STYLES ===== */
/* This file provides comprehensive responsive styling for plant product cards */
/* Color variables are defined in lay_responsive.cfm under :root as:
   --primary, --secondary, --tertiary, --quaternary and font variables. */

/* Mobile-first card layout */
@media (max-width: 767px) {
    /* Force stacking for Plant List Grid cards specifically */
    article.product .product-figure,
    article.product .product-title,
    article.product .product-button-wrap {
        position: static !important;
        z-index: auto !important;
        float: none !important;
        clear: both !important;
    }

    article.product .product-figure img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
    }

    article.product .product-title { margin-top: 8px !important; }
    article.product .product-button-wrap { margin-top: 10px !important; text-align: left !important; }
    
    /* Mobile overlay presentation for Plant List Grid */
    article.product .product-body { position: relative !important; }
    article.product .product-figure { position: relative !important; }
    article.product .product-figure::after {
        content: "";
        position: absolute !important;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.35) !important;
        z-index: 1 !important;
    }
    article.product h5.product-title {
        position: absolute !important;
        left: 12px !important; right: 12px !important;
        bottom: 60px !important;
        margin: 0 !important;
        z-index: 2 !important;
        color: #ffffff !important;
    }
    article.product h5.product-title a { color: #ffffff !important; text-decoration: none !important; }
    article.product .product-button-wrap {
        position: absolute !important;
        left: 12px !important; right: auto !important;
        bottom: 12px !important;
        margin: 0 !important;
        z-index: 2 !important;
        text-align: left !important;
    }
    article.product .product-button-wrap .btn { background: var(--primary, #6f42c1) !important; color: #fff !important; border: none !important; }
    /* Ensure grid card content stacks below image on mobile for dsp_plantListGrid */
    .product .product-figure,
    .product .product-title,
    .product .product-button-wrap {
        position: static !important;
    }

    .product .product-figure {
        margin-bottom: 10px !important;
    }

    .product .product-title {
        margin-top: 6px !important;
        display: block !important;
    }

    .product .product-button-wrap {
        display: block !important;
        text-align: left !important;
        margin-top: 10px !important;
    }
    /* Card container adjustments */
    .col-sm-6.col-lg-4,
    .col-lg-3.col-md-4.col-sm-6.col-12 {
        width: 100% !important;
        margin-bottom: 20px;
    }
    
    /* Product card styling */
    .product {
        background: #ffffff;
        border: 1px solid #dee2e6;
        border-radius: 12px;
        padding: 15px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        transition: all 0.3s ease;
        margin-bottom: 0;
    }
    
    .product:nth-child(even) {
        background: #f8f9fa;
    }
    
    .product:hover {
        box-shadow: 0 4px 16px rgba(0,0,0,0.15);
        transform: translateY(-2px);
    }
    
    /* ENSURE TABLE ROWS WITH .product CLASS GET IDENTICAL STYLING */
    /* Force table rows that have the .product class to look exactly like product cards */
    .table tbody tr.product {
        background: #ffffff !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 12px !important;
        padding: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        transition: all 0.3s ease !important;
        margin-bottom: 15px !important;
        display: block !important;
        position: relative !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        margin-top: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Ensure consistent alternating backgrounds for table rows with .product class */
    .table tbody tr.product:nth-child(even) {
        background: #f8f9fa !important;
    }
    
    /* Ensure consistent hover effects for table rows with .product class */
    .table tbody tr.product:hover {
        box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
        transform: translateY(-2px) !important;
    }
    
    /* Force table cells within .product rows to behave like card content */
    .table tbody tr.product td {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        margin-bottom: 8px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        text-align: left !important;
        background: transparent !important;
        vertical-align: top !important;
        border-collapse: separate !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Remove any table-specific spacing for .product rows */
    .table tbody tr.product td:last-child {
        margin-bottom: 0 !important;
    }
    
    /* Ensure proper spacing between .product rows */
    .table tbody tr.product + tr.product {
        margin-top: 15px !important;
    }
    
    /* Hide table headers on mobile for .product rows */
    .table tbody tr.product thead {
        display: none !important;
    }
    
    /* Force consistent text colors for .product row content */
    .table tbody tr.product a {
        color: #007bff !important; /* Use explicit primary color */
        text-decoration: underline !important;
    }
    
    .table tbody tr.product a:hover {
        color: #0056b3 !important;
        opacity: 0.8;
    }
    
    /* Force consistent button styling for .product rows */
    .table tbody tr.product .btn,
    .table tbody tr.product .button,
    .table tbody tr.product input[type="submit"],
    .table tbody tr.product input[type="button"] {
        border: none !important;
        border-radius: 8px !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
        cursor: pointer !important;
    }
    
    .table tbody tr.product .btn:hover,
    .table tbody tr.product .button:hover,
    .table tbody tr.product input[type="submit"]:hover,
    .table tbody tr.product input[type="button"]:hover {
        transform: translateY(-1px) !important;
    }
    
    /* Force consistent input styling for .product rows */
    .table tbody tr.product input[type="text"],
    .table tbody tr.product input[type="number"] {
        border: 1px solid #dee2e6 !important;
        border-radius: 4px !important;
        padding: 8px 12px !important;
        font-size: 14px !important;
        background: white !important;
    }
    
    /* Override any remaining inline styles for .product rows */
    .table tbody tr.product[style] {
        background: #ffffff !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 12px !important;
        padding: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        margin-bottom: 15px !important;
    }
    
    /* Force all text to use consistent colors for .product rows */
    .table tbody tr.product * {
        color: inherit !important;
    }
    
    /* Ensure consistent badge styling for .product rows */
    .table tbody tr.product .badge,
    .table tbody tr.product .badge-ecommerce,
    .table tbody tr.product .product-badge-sale,
    .table tbody tr.product .product-badge-new {
        font-size: 11px !important;
        padding: 6px 10px !important;
        border-radius: 20px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 4px !important;
        display: inline-block !important;
    }
    
    .table tbody tr.product .additem {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .table tbody tr.product .quantity {
        margin-bottom: 4px !important;
    }
    
    /* Force consistent spacing for .product rows */
    .table tbody tr.product .small {
        font-size: 12px !important;
    }
    
    /* Ensure consistent link styling for .product rows */
    .table tbody tr.product a[href*="plant-name"] {
        color: #007bff !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .table tbody tr.product a[href*="plant-name"]:hover {
        color: #0056b3 !important;
        opacity: 0.8;
    }
    
    /* Product image container */
    .product-thumb-info {
        position: relative;
        margin-bottom: 16px;
        border-radius: 8px;
        overflow: hidden;
    }
    
    .product-thumb-info-image {
        width: 100%;
        object-fit: cover;
        border-radius: 8px;
    }
    
    /* Badge positioning */
    .product-thumb-info-badges-wrapper {
        position: absolute;
        top: 12px;
        left: 12px;
        z-index: 10;
    }
    
    .badge {
        font-size: 11px;
        padding: 6px 10px;
        border-radius: 20px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 4px;
        display: inline-block;
    }
    
    .badge-ecommerce.badge-success {
        background: #28a745;
        color: white;
    }
    
    .badge-ecommerce.badge-danger {
        background: #dc3545;
        color: white;
    }
    
    /* Enhanced sale flag styling for mobile cards */
    .product-thumb-info-badges-wrapper {
        position: static !important;
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
        margin-bottom: 8px !important;
        justify-content: flex-start !important;
    }
    
    .product-thumb-info-badges-wrapper .badge {
        font-size: 10px !important;
        font-weight: 600 !important;
        padding: 2px 6px !important;
        border-radius: 3px !important;
        box-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
        text-transform: uppercase !important;
        letter-spacing: 0.3px !important;
        display: inline-block !important;
    }
    
    .product-thumb-info-badges-wrapper .badge-success {
        background: #28a745 !important;
        color: white !important;
    
    }
    
    .product-thumb-info-badges-wrapper .badge-info {
        background: #17a2b8 !important;
        color: white !important;
        border: 1px solid #117a8b !important;
    }
    
    .product-thumb-info-badges-wrapper .badge-danger {
        background: #dc3545 !important;
        color: white !important;
        border: 1px solid #c82333 !important;
    }
    
    /* Ensure proper positioning context for badges */
    .product .product-thumb-info {
        position: relative !important;
        overflow: visible !important;
    }
    
    /* Prevent title overlap with sale badge */
    .product h3 {
        margin-right: 80px !important;
        padding-right: 10px !important;
    }
    
    /* Add to cart button */
    .addtocart-btn-wrapper {
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 10;
    }
    
    .addtocart-btn {
        background: var(--primary);
        color: white;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
        text-decoration: none;
        text-align: center;
    }
    
    .addtocart-btn:hover {
        background: var(--tertiary);
        transform: scale(1.1);
        color: white;
        text-decoration: none;
    }
    
    /* Product information layout */
    .product .d-flex.justify-content-between {
        flex-direction: column;
        gap: 14px;
        text-align: left !important;
    }
    
    /* Product names */
    .product h3 {
        font-size: 20px !important;
        line-height: 1.5 !important;
        margin-bottom: 14px !important;
        text-align: left !important;
    }
    
    .product h3 a {
        color: var(--primary) !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .product h3 a:hover {
        color: var(--primary) !important;
        opacity: 0.8;
    }
    
    /* Secondary name */
    .product .text-uppercase {
        font-size: 14px !important;
        color: var(--secondary) !important;
        margin-bottom: 6px !important;
        text-align: left !important;
    }
    
    /* Product details */
    .product div[style*="font-size:90%"] {
        font-size: 12px !important;
        color: var(--tertiary) !important;
        margin-top: 4px !important;
        text-align: left !important;
    }
    
    /* Action buttons */
    .product .btn {
        width: 30% !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border-radius: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
    }
    
    .product .btn-light {
        background: var(--primary) !important;
        color: white !important;
        border: none !important;
        text-align: center !important;
    }
    
    .product .btn-light:hover {
        background: var(--tertiary) !important;
        transform: translateY(-1px) !important;
    }
    
    /* Product modern layout adjustments */
    .product-modern {
        text-align: left !important;
        padding: 15px;
        background: #ffffff;
        border-radius: 12px;
        border: 1px solid #dee2e6;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        margin-bottom: 15px;
    }
    
    .product-modern:nth-child(even) {
        background: #f8f9fa;
    }
    
    .product-modern .unit {
        flex-direction: column !important;
        gap: 16px;
    }
    
    .product-modern .unit-left {
        text-align: center;
    }
    
    .product-modern .unit-body {
        text-align: left;
    }
    
    .product-modern-title {
        font-size: 20px !important;
        margin-bottom: 14px !important;
    }
    
    .product-modern-title a {
        color: var(--primary) !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .product-modern-title a:hover {
        color: var(--primary) !important;
        opacity: 0.8;
    }
    
    .product-price-wrap {
        margin-bottom: 12px;
    }
    
    .product-price {
        font-size: 14px;
        color: var(--secondary);
    }
    
    .product-modern .button {
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border-radius: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
        text-align: center;
        display: block;
    }
    
    .product-modern .button-primary {
        background: var(--primary) !important;
        color: white !important;
        border: none !important;
    }
    
    .product-modern .button-primary:hover {
        background: var(--tertiary) !important;
        transform: translateY(-1px) !important;
    }
    
    /* Product details with labels for modern layout */
    .product-modern .product-details {
        margin-top: 12px;
        padding: 8px 0;
        text-align: left !important;
    }
    
    .product-modern .detail-row {
        display: flex;
        align-items: center;
        margin-bottom: 6px;
        font-size: 13px;
        line-height: 1.3;
        text-align: left !important;
    }
    
    .product-modern .detail-row:last-child {
        margin-bottom: 0;
    }
    
    .product-modern .detail-label {
        font-weight: 600;
        color: var(--primary);
        min-width: 70px;
        margin-right: 8px;
        text-align: left !important;
    }
    
    .product-modern .detail-value {
        color: var(--tertiary);
        flex: 1;
        text-align: left !important;
    }
    
    /* Ensure consistent styling for lazy loaded cards */
    .product .detail-row,
    .product-modern .detail-row {
        display: flex;
        align-items: center;
        margin-bottom: 6px;
        font-size: 13px;
        line-height: 1.3;
        text-align: left !important;
    }
    
    .product .detail-label,
    .product-modern .detail-label {
        font-weight: 600;
        color: var(--primary);
        min-width: 70px;
        margin-right: 8px;
        text-align: left !important;
    }
    
    .product .detail-value,
    .product-modern .detail-value {
        color: var(--tertiary);
        flex: 1;
        text-align: left !important;
    }
    
    /* Custom styling for detail-price to allow independent price sizing */
    .detail-price {
        color: var(--tertiary) !important;
        font-weight: 500 !important;
        text-align: left !important;
        font-size: 18px !important; /* Larger font size for price */
        line-height: 1.4 !important;
        margin: 4px 0 !important;
        display: block !important;
    }
    
    /* Product-specific detail-price styling */
    .product .detail-price,
    .product-modern .detail-price {
        color: var(--tertiary) !important;
        font-weight: 500 !important;
        text-align: left !important;
        font-size: 18px !important; /* Larger font size for price */
        line-height: 1.4 !important;
        margin: 4px 0 !important;
        flex: 1 !important;
    }

    .product-modern .detail-price {
        color: var(--tertiary);
        flex: 1;
        text-align: left !important;
        font-size: 1.6em;
    }
    
    /* Consistent size/caliper styling */
    .product .size-info,
    .product-modern .size-info {
        color: var(--secondary);
        font-size: 14px;
        margin-bottom: 4px;
    }
    
    .product .size-shorthand,
    .product-modern .size-shorthand {
        color: var(--primary);
        font-size: 13px;
        margin-bottom: 4px;
    }
    
    /* Override any local styles to ensure consistency - HIGH SPECIFICITY */
    .product .detail-row .detail-label,
    .product-modern .detail-row .detail-label,
    .product .product-details .detail-label,
    .product-modern .product-details .detail-label {
        color: var(--primary) !important;
        font-weight: 600 !important;
    }
    
    .product .detail-row .detail-value,
    .product-modern .detail-row .detail-value,
    .product .product-details .detail-value,
    .product-modern .product-details .detail-value {
        color: var(--tertiary) !important;
    }
    
    /* Override any inline styles for availability and price */
    .product td[class*="text-end"],
    .product-modern td[class*="text-end"] {
        color: var(--tertiary) !important;
    }
    /* Ensure consistent text colors for all plant information */
    .product .text-left,
    .product-modern .text-left {
        color: var(--tertiary) !important;
    }
    
    /* Override any local color styles for plant details */
    .product div[style*="font-size:90%"],
    .product-modern div[style*="font-size:90%"] {
        color: var(--tertiary) !important;
    }
    
    /* Force consistency for initial load vs lazy load cards */
    .product table td,
    .product-modern table td {
        color: var(--tertiary) !important;
    }
    
    /* Override any table-specific styling that might differ */
    .product table .text-end,
    .product-modern table .text-end {
        color: var(--tertiary) !important;
    }
    
    /* Ensure all plant information uses consistent colors */
    .product span,
    .product-modern span {
        color: inherit !important;
    }
    
    /* Override any specific color overrides */
    .product .fa-tag,
    .product-modern .fa-tag {
        color: var(--primary) !important;
    }
    
    /* Ensure quick view mobile cards match grid/list view cards exactly */
    .product .size-info {
        color: var(--tertiary) !important;
        font-size: 12px !important;
        margin-top: 4px !important;
        text-align: left !important;
    }
    
    /* Override any remaining inline styles in quick view */
    .product div[style*="font-size:90%"] {
        color: var(--tertiary) !important;
        font-size: 12px !important;
        margin-top: 4px !important;
        text-align: left !important;
    }
    
    /* Force consistency for all product cards regardless of source */
    .product h3 a,
    .product-modern h3 a,
    .product .product-title a {
        color: var(--primary) !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .product .text-uppercase,
    .product-modern .text-uppercase {
        color: var(--secondary) !important;
        font-size: 14px !important;
        margin-bottom: 6px !important;
        text-align: left !important;
    }
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 991px) {
    .col-sm-6.col-lg-4 {
        width: 50% !important;
        margin-bottom: 24px;
    }
    
    .col-lg-3.col-md-4.col-sm-6.col-12 {
        width: 50% !important;
        margin-bottom: 24px;
    }
    
    .product,
    .product-modern {
        padding: 20px;
    }
    
    .product-thumb-info-image {
        
    }
    
    .product h3,
    .product-modern-title {
        font-size: 18px !important;
    }
}

/* Small mobile devices */
@media (max-width: 575px) {
    .product,
    .product-modern {
        padding: 14px;
        margin-bottom: 12px;
    }
    
    .product-thumb-info-image {
      
    }
    
    .product h3,
    .product-modern-title {
        font-size: 17px !important;
    }
    
    .product .btn,
    .product-modern .button {
        padding: 10px 16px !important;
        font-size: 14px !important;
    }
    
    .badge {
        font-size: 10px;
        padding: 4px 8px;
    }
}

/* Landscape mobile devices */
@media (max-width: 767px) and (orientation: landscape) {
    .product-thumb-info-image {
        
    }
    
    .product,
    .product-modern {
        padding: 16px;
    }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .product-thumb-info-image {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Print styles */
@media print {
    .product,
    .product-modern {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #000;
    }
    
    .addtocart-btn-wrapper,
    .product .btn,
    .product-modern .button {
        display: none !important;
    }
}

/* Enhanced spacing for better mobile experience */
@media (max-width: 767px) {
    /* Improve touch targets */
    .product .btn,
    .product-modern .button,
    .addtocart-btn {
        min-height: 42px;
    }
    
    /* Better spacing between elements */
    .product > * + *,
    .product-modern > * + * {
        margin-top: 14px;
    }
    
    /* Improved text readability */
    .product h3,
    .product-modern-title {
        line-height: 1.5 !important;
    }
    
    /* Better form element spacing */
    .quantity input,
    .add-cart {
        margin-bottom: 4px;
        margin-left: 4px;
    }
    
    /* Reduce spacing between quantity input and add to cart button by 60% */
    .quantity {
        margin-right: 0.8px !important;
    }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
    .product,
    .product-modern,
    .addtocart-btn,
    .product .btn,
    .product-modern .button {
        transition: none !important;
        transform: none !important;
    }
}

/* Dark mode support - Commented out for now */
/*
@media (prefers-color-scheme: dark) {
    .product,
    .product-modern {
        background: #2d3748;
        border-color: #4a5568;
        color: var(--tertiary);
    }
    
    .product h3 a,
    .product-modern-title a {
        color: var(--primary) !important;
    }
    
    .product .text-uppercase,
    .product-price {
        color: var(--secondary) !important;
    }
}
*/

/* Desktop styles for product details */
@media (min-width: 768px) {
    .product-details {
        margin-top: 16px;
        padding: 12px 0;
        text-align: left !important;
    }
    
    .detail-row {
        margin-bottom: 8px;
        font-size: 14px;
        text-align: left !important;
    }
    
    .detail-label {
        min-width: 80px;
        margin-right: 12px;
        font-weight: 600;
        color: var(--primary);
        text-align: left !important;
    }
    
    .detail-value {
        color: var(--tertiary);
        font-weight: 500;
        text-align: left !important;
    }
    
            /* Ensure proper alignment on larger screens */
        .product .detail-row,
        .product-modern .detail-row {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            text-align: left !important;
        }
        
        /* Consistent styling for all card types */
        .product .detail-label,
        .product-modern .detail-label {
            color: var(--primary);
        }
        
        .product .detail-value,
        .product-modern .detail-value {
            color: var(--tertiary);
        }
        
        /* Consistent size/caliper styling for desktop */
        .product .size-info,
        .product-modern .size-info {
            color: var(--secondary);
            font-size: 14px;
            margin-bottom: 6px;
        }
        
        .product .size-shorthand,
        .product-modern .size-shorthand {
            color: var(--primary);
            font-size: 13px;
            margin-bottom: 6px;
        }
    }

/* ===== MOBILE-FRIENDLY CHECKOUT & CART STYLES ===== */

/* Style for ADD TO CART button text to differentiate from size text */
.add-to-cart-btn {
    color: #2c5aa0 !important; /* Blue color to differentiate from size text */
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;
}

/* Mobile cart cards container - hidden by default on desktop */
.mobile-cart-cards {
    display: none;
}

/* Mobile label spacing */
.mobile-label {
    margin-right: 8px;
    font-weight: 600;
    color: #495057;
}

/* Mobile responsive adjustments for specific pages */
@media (max-width: 767px) {
    /* Hide desktop table on mobile - with higher specificity */
    .confirm-order-page .shop_table.cart,
    .confirm-order-page .shop_table.cart thead,
    .confirm-order-page .shop_table.cart tbody,
    .confirm-order-page .shop_table.cart tr,
    .confirm-order-page .shop_table.cart th,
    .confirm-order-page .shop_table.cart td,
    .order-confirmation-page .shop_table.cart,
    .order-confirmation-page .shop_table.cart thead,
    .order-confirmation-page .shop_table.cart tbody,
    .order-confirmation-page .shop_table.cart tr,
    .order-confirmation-page .shop_table.cart th,
    .order-confirmation-page .shop_table.cart td {
        display: none !important;
    }
    
    /* Show mobile cart cards */
    .confirm-order-page .mobile-cart-cards,
    .order-confirmation-page .mobile-cart-cards {
        display: block !important;
    }
    
    /* Hide table-responsive container on mobile */
    .confirm-order-page .table-responsive,
    .order-confirmation-page .table-responsive {
        display: none !important;
    }
    
    /* Adjust cart item cards for mobile */
    .cart-item-card {
        padding: 14px;
        margin-bottom: 12px;
    }

    /* Confirm order: mobile edit buttons use theme tertiary color */
    .confirm-order-page .address-details .btn.btn-outline-primary {
        border-color: var(--tertiary) !important;
        color: var(--tertiary) !important;
    }
    .confirm-order-page .address-details .btn.btn-outline-primary:hover,
    .confirm-order-page .address-details .btn.btn-outline-primary:focus {
        background: var(--tertiary) !important;
        border-color: var(--tertiary) !important;
        color: #fff !important;
    }
    
    .cart-item-image {
        width: 70px;
        height: 70px;
    }
    
    .cart-item-name {
        font-size: 15px;
    }
    
    .cart-item-price {
        font-size: 16px;
    }
    
    .cart-item-qty-input {
        width: 70px;
        height: 36px;
        font-size: 14px;
    }
    
    /* Adjust checkout forms for mobile */
    .checkout-form-card {
        padding: 16px;
        margin-bottom: 16px;
    }
    
    .checkout-form-title {
        font-size: 16px;
        margin-bottom: 12px;
    }
    
    .checkout-form-input,
    .checkout-form-select {
        height: 40px;
        font-size: 16px;
    }
    
    /* Mobile cart summary */
    .cart-summary-card {
        padding: 16px;
        margin-bottom: 16px;
    }
    
    .cart-summary-title {
        font-size: 18px;
        margin-bottom: 12px;
    }
    
    .checkout-btn {
        height: 44px;
        font-size: 15px;
    }
}

/* Desktop styles - show table, hide mobile cards */
@media (min-width: 768px) {
    .shop_table.cart {
        display: table !important;
    }
    
    .shop_table.cart thead {
        display: table-header-group !important;
    }
    
    .shop_table.cart tbody {
        display: table-row-group !important;
    }
    
    .shop_table.cart tr {
        display: table-row !important;
    }
    
    .shop_table.cart th,
    .shop_table.cart td {
        display: table-cell !important;
    }
    
    .table-responsive {
        display: block !important;
    }
    
    .mobile-cart-cards {
        display: none !important;
    }
}

/* ===== TABLE-BASED LAYOUT STYLES ===== */
/* Styles for files that use table layouts instead of cards */

/* Plant name table class */
.plant-name-table {
    font-size: 20px !important;
    font-weight: 700;
    color: #6f42c1;
    line-height: 1.3;
    margin-bottom: 12px;
    display: block;
    text-align: left !important;
}

/* Dimension labels styling */
.dimension-label {
    font-weight: 500 !important;
    color: #495057 !important;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-right: 8px;
    text-align: left !important;
    display: inline-block;
}

/* Highlighted data sections with purple bars */
.highlighted-data {
    background: linear-gradient(135deg, #6f42c1 0%, #5a32a3 100%);
    color: white;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 4px rgba(111, 66, 193, 0.3);
}

.highlighted-data-label {
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.9);
}

.highlighted-data-value {
    font-weight: 700;
    font-size: 16px;
    color: white;
}

.plant-name-table a {
    color: #2c3e50;
    text-decoration: none;
    transition: color 0.3s ease;
}

.plant-name-table a:hover {
    color: #007bff;
    text-decoration: underline;
}

/* Mobile-friendly table styles - UPDATED TO MATCH RESPONSIVE CARDS */
@media (max-width: 767px) {
    .table-responsive {
        font-size: 14px;
    }
    
    .table th, .table td {
        padding: 8px 6px;
    }
    
    /* Hide desktop table headers on mobile */
    .table thead {
        display: none;
    }
    
    /* Mobile compact layout - NOW MATCHES RESPONSIVE CARDS */
    .table tbody tr {
        display: block;
        border: 1px solid #dee2e6;
        margin-bottom: 15px;
        padding: 15px;
        border-radius: 12px;
        background: #ffffff;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        transition: all 0.3s ease;
    }
    
    .table tbody tr:nth-child(even) {
        background: #f8f9fa;
    }
    
    .table tbody tr:hover {
        box-shadow: 0 4px 16px rgba(0,0,0,0.15);
        transform: translateY(-2px);
    }
    
    .table tbody td {
        display: block;
        border: none;
        font-size: 13px;
        line-height: 1.3;
        text-align: left !important;
        color: var(--tertiary) !important;
    }
    
    /* Mobile column widths - NOW MATCHES RESPONSIVE CARDS */
    .mobile-name-col {
        width: 100% !important;
        font-weight: 600;
        font-size: 20px !important;
        margin-bottom: 14px !important;
        text-align: left !important;
    }
    
    .mobile-name-col a {
        color: var(--primary) !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .mobile-name-col a:hover {
        color: var(--primary) !important;
        opacity: 0.8;
    }
    
    .mobile-price-col {
        width: 100% !important;
        text-align: left !important;
        color: var(--secondary) !important;
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }
    
    .mobile-qty-col {
        width: 100% !important;
        text-align: left !important;
        color: var(--tertiary) !important;
    }
    
    .badge {
        font-size: 11px;
        padding: 4px 8px;
    }
    
    .quantity {
        display: inline-block;
        margin-right: 0.8px !important;
        vertical-align: middle;
        text-align: left !important;
    }
    
    .quantity input {
        max-width: 80px !important;
        height: 43px !important;
        padding: 0px 15px !important;
        vertical-align: middle;
        font-size: 14px;
        text-align: left !important;
    }
    
    .add-cart {
        font-size: 14px !important;
        padding: 12px 20px !important;
        display: inline-block;
        vertical-align: middle;
        font-weight: 600 !important;
        border-radius: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
        text-align: center !important;
        background: var(--primary) !important;
        color: white !important;
        border: none !important;
    }
    
    .add-cart:hover {
        background: var(--tertiary) !important;
        transform: translateY(-1px) !important;
        color: white !important;
    }
    
    .text-sm-1 {
        font-size: 12px;
        color: var(--tertiary) !important;
    }
    
    /* Mobile inline info - NOW MATCHES RESPONSIVE CARDS */
    .mobile-info {
        display: inline;
        margin-left: 8px;
        text-align: left !important;
        color: var(--tertiary) !important;
    }
    
    .mobile-info strong {
        color: var(--primary) !important;
    }
    
    /* Mobile form layout */
    .additem {
        margin-top: 9px;
        text-align: left !important;
    }

/* ===== CONFIRM ORDER PAGE MOBILE STYLES ===== */

/* Address cards styling */
.address-details {
	font-size: 14px;
	line-height: 1.6;
	color: #495057;
}

.address-details strong {
	color: #2c3e50;
	font-weight: 600;
}

/* Form labels for mobile */
.form-label {
	font-weight: 600;
	color: #2c3e50;
	margin-bottom: 8px;
	font-size: 14px;
}

/* Mobile-friendly form inputs */
.checkout-form-input {
	height: 44px;
	font-size: 16px;
	border: 2px solid #dee2e6;
	border-radius: 8px;
	padding: 10px 12px;
	transition: all 0.3s ease;
}

.checkout-form-input:focus {
	border-color: #007bff;
	box-shadow: 0 0 0 3px rgba(0,123,255,0.1);
	outline: none;
}

/* ===== ORDER CONFIRMATION PAGE MOBILE STYLES ===== */

/* Success message styling */
.alert-success {
	background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
	border: 2px solid #28a745;
	border-radius: 12px;
	padding: 20px;
}

.alert-success i {
	color: #28a745;
}

.alert-success h4 {
	color: #155724;
	font-weight: 600;
}

.alert-success p {
	color: #155724;
}

/* Order status card improvements */
.checkout-form-card .address-details strong {
	color: #2c3e50;
	font-weight: 600;
}

/* Mobile order summary improvements */
@media (max-width: 767px) {
	.cart-totals td {
		padding: 8px 4px;
		font-size: 14px;
	}
	
	.cart-totals .amount {
		font-size: 16px;
	}
	
	.checkout-form-card {
		margin-bottom: 20px;
	}
	
	.checkout-form-title {
		font-size: 18px;
		margin-bottom: 15px;
	}
}

/* Textarea specific styling */
.checkout-form-input[rows] {
	height: auto;
	min-height: 80px;
	resize: vertical;
}

/* Mobile order summary improvements */
@media (max-width: 767px) {
	/* Hide desktop table on mobile */
	.shop_table.cart {
		display: none;
	}
	
	/* Show mobile cards on mobile */
	.mobile-cart-cards {
		display: block;
	}
	
	/* Improve address cards on mobile */
	.checkout-form-card {
		margin-bottom: 16px;
	}
	
	/* Better spacing for mobile */
	.col-12.mb-3 {
		margin-bottom: 16px !important;
	}
	
	/* Improve form spacing on mobile */
	.form-group {
		margin-bottom: 20px;
	}
	
	/* Better button sizing on mobile */
	.btn-sm {
		padding: 8px 16px;
		font-size: 14px;
	}
	
	/* Improve cart totals card on mobile */
	.cart-totals {
		font-size: 14px;
	}
	
	.cart-totals td {
		padding: 8px 6px;
	}
	
	/* Better mobile spacing for order items */
	.cart-item-card {
		margin-bottom: 16px;
	}
	
	.cart-item-header {
		margin-bottom: 16px;
	}
	
	.cart-item-details {
		margin-left: 16px;
	}
	
	/* Improve mobile form inputs */
	.checkout-form-input {
		height: 48px;
		font-size: 16px;
	}
	
	/* Better mobile textarea */
	.checkout-form-input[rows] {
		min-height: 100px;
	}
}
    
    /* Mobile highlighted data sections */
    .highlighted-data {
        padding: 6px 10px;
        margin: 6px 0;
        font-size: 12px;
    }
    
    .highlighted-data-label {
        font-size: 12px;
    }
    
    .highlighted-data-value {
        font-size: 15px;
    }
}

@media (max-width: 576px) {
    .table-responsive {
        font-size: 13px;
    }
    
    .table tbody tr {
        padding: 11px;
        margin-bottom: 7px;
    }
    
    .quantity input {
        max-width: 50px !important;
        padding: 3px 6px !important;
    }
    
    .add-cart {
        font-size: 11px;
        padding: 4px 35px;
        height: 32px;
    }
    
    .mobile-name-col {
        font-size: 15px;
    }
    
    /* Small mobile plant name table styles */
    .plant-name-table {
        font-size: 18px !important;
        margin-bottom: 10px;
    }
}

/* Desktop table styles */
@media (min-width: 768px) {
    /* Hide inline mobile labels on desktop */
    .mobile-label { display: none !important; }
    .table thead {
        display: table-header-group;
    }
    
    .table tbody tr {
        display: table-row;
    }
    
    .table tbody td {
        display: table-cell;
    }
    
    /* Show desktop-only columns */
    .desktop-available-col,
    .desktop-growing-col {
        display: table-cell !important;
    }
    
    /* Desktop column widths */
    .desktop-name-col {
        width: 35%;
    }
    
    .desktop-available-col {
        width: 12%;
    }
    
    .desktop-growing-col {
        width: 8%;
    }
    
    .desktop-price-col {
        width: 20%;
    }
    
    .desktop-qty-col {
        width: 20%;
    }
    
    /* Hide mobile inline info on desktop */
    .mobile-info {
        display: none;
    }
    
    /* Desktop form layout */
    .quantity {
        display: inline-block;
        margin-bottom: 0;
        margin-right: 4px;
        text-align: left !important;
    }
    
    .add-cart {
        display: inline-block;
        text-align: center !important;
    }
    
    /* Desktop plant name table styles */
    .plant-name-table {
        font-size: 20px !important;
        margin-bottom: 12px;
    }
}

/* Ensure consistent button styling */
@media (max-width: 767px) {
    .table tbody tr .btn,
    .product .btn,
    .product-modern .btn,
    .table tbody tr .button,
    .product-modern .button {
        border-radius: 8px !important;
        transition: all 0.3s ease !important;
        font-weight: 600 !important;
        text-align: center !important;
    }
    
    .table tbody tr .btn:hover,
    .product .btn:hover,
    .product-modern .btn:hover,
    .table tbody tr .button:hover,
    .product-modern .button:hover {
        transform: translateY(-1px) !important;
    }
}

/* UNIFIED STYLING FOR ALL CARDS - ENSURES PERFECT MATCHING */
@media (max-width: 767px) {
    /* UNIFIED LINK STYLING */
    a {
        transition: all 0.3s ease !important;
    }
    
    a:hover {
        opacity: 0.8;
    }
    
    /* ENSURE LAZY LOADED CONTENT MATCHES INITIAL CONTENT EXACTLY */
    /* Force all product cards to use the same base styling regardless of source */
    .product,
    .product-modern,
    .table tbody tr,
    [class*="lazy"] .product,
    [class*="lazy"] .product-modern {
        background: #ffffff !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 12px !important;
        padding: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        transition: all 0.3s ease !important;
        margin-bottom: 0 !important;
        display: block !important;
    }
    
    /* Ensure consistent alternating backgrounds */
    .product:nth-child(even),
    .product-modern:nth-child(even),
    .table tbody tr:nth-child(even),
    [class*="lazy"] .product:nth-child(even),
    [class*="lazy"] .product-modern:nth-child(even) {
        background: #f8f9fa !important;
    }
    
    /* Ensure consistent hover effects */
    .product:hover,
    .product-modern:hover,
    .table tbody tr:hover,
    [class*="lazy"] .product:hover,
    [class*="lazy"] .product-modern:hover {
        box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
        transform: translateY(-2px) !important;
    }
    
    /* Force consistent text colors for all content */
    .product *,
    .product-modern *,
    .table tbody tr *,
    [class*="lazy"] .product *,
    [class*="lazy"] .product-modern * {
        color: inherit !important;
    }
    
    /* Override any inline styles that might cause differences */
    .product [style*="color"],
    .product-modern [style*="color"],
    .table tbody tr [style*="color"],
    [class*="lazy"] .product [style*="color"],
    [class*="lazy"] .product-modern [style*="color"] {
        color: var(--tertiary) !important;
    }
    
    /* Ensure links use consistent colors */
    .product a,
    .product-modern a,
    .table tbody tr a,
    [class*="lazy"] .product a,
    [class*="lazy"] .product-modern a {
        color: var(--primary) !important;
    }
    
    /* Ensure headings use consistent colors */
    .product h1, .product h2, .product h3, .product h4, .product h5, .product h6,
    .product-modern h1, .product-modern h2, .product-modern h3, .product-modern h4, .product-modern h5, .product-modern h6,
    .table tbody tr h1, .table tbody tr h2, .table tbody tr h3, .table tbody tr h4, .table tbody tr h5, .table tbody tr h6,
    [class*="lazy"] .product h1, [class*="lazy"] .product h2, [class*="lazy"] .product h3, [class*="lazy"] .product h4, [class*="lazy"] .product h5, [class*="lazy"] .product h6,
    [class*="lazy"] .product-modern h1, [class*="lazy"] .product-modern h2, [class*="lazy"] .product-modern h3, [class*="lazy"] .product-modern h4, [class*="lazy"] .product-modern h5, [class*="lazy"] .product-modern h6 {
        color: var(--primary) !important;
    }
    
    /* ADDITIONAL FORCE STYLING FOR TABLE-BASED PRODUCTS */
    /* Ensure table rows look exactly like product cards */
    .table tbody tr {
        /* Force card appearance */
        background: #ffffff !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 12px !important;
        padding: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        transition: all 0.3s ease !important;
        margin-bottom: 15px !important;
        display: block !important;
        position: relative !important;
        /* Override any table-specific styles */
        border-collapse: separate !important;
        border-spacing: 0 !important;
    }
    
    /* Force table cells to behave like card content */
    .table tbody td {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        margin-bottom: 8px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        text-align: left !important;
        color: #495057 !important; /* Use explicit color instead of variable */
        background: transparent !important;
        /* Remove table-specific styling */
        vertical-align: top !important;
        border-collapse: separate !important;
    }
    
    /* Ensure proper spacing between table rows */
    .table tbody tr + tr {
        margin-top: 15px !important;
    }
    
    /* Force consistent text colors for table content */
    .table tbody tr a {
        color: #007bff !important; /* Use explicit primary color */
        text-decoration: underline !important;
    }
    
    .table tbody tr a:hover {
        color: #0056b3 !important;
        opacity: 0.8;
    }
    
    /* Force consistent button styling */
    .table tbody tr .btn,
    .table tbody tr .button,
    .table tbody tr input[type="submit"],
    .table tbody tr input[type="button"] {
        background: #007bff !important;
        color: white !important;
        border: none !important;
        border-radius: 8px !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
        cursor: pointer !important;
    }
    
    .table tbody tr .btn:hover,
    .table tbody tr .button:hover,
    .table tbody tr input[type="submit"]:hover,
    .table tbody tr input[type="button"]:hover {
        background: #495057 !important;
        transform: translateY(-1px) !important;
    }
    
    /* Force consistent input styling */
    .table tbody tr input[type="text"],
    .table tbody tr input[type="number"] {
        border: 1px solid #dee2e6 !important;
        border-radius: 4px !important;
        padding: 8px 12px !important;
        font-size: 14px !important;
        background: white !important;
        color: #495057 !important;
    }
    
    /* Override any remaining inline styles */
    .table tbody tr[style] {
        background: #ffffff !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 12px !important;
        padding: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        margin-bottom: 15px !important;
    }
    
    /* Force all text to use consistent colors */
    .table tbody tr * {
        color: inherit !important;
    }
    
    /* Specific color overrides for table content */
    .table tbody tr .text-primary,
    .table tbody tr .text-success {
        color: #007bff !important;
    }
    
    .table tbody tr .text-secondary,
    .table tbody tr .text-muted {
        color: #6c757d !important;
    }
    
    .table tbody tr .text-dark {
        color: #495057 !important;
    }
    
    /* ADDITIONAL OVERRIDES FOR LAZY LOADED CONTENT */
    /* Force all table rows to look exactly like product cards */
    .table tbody tr {
        /* Ensure consistent card appearance */
        background: #ffffff !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 12px !important;
        padding: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        transition: all 0.3s ease !important;
        margin-bottom: 15px !important;
        display: block !important;
        position: relative !important;
        /* Override any table-specific styles */
        border-collapse: separate !important;
        border-spacing: 0 !important;
        /* Ensure proper spacing */
        margin-top: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Force table cells to behave like card content */
    .table tbody td {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        margin-bottom: 8px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        text-align: left !important;
        color: #495057 !important; /* Use explicit color instead of variable */
        background: transparent !important;
        /* Remove table-specific styling */
        vertical-align: top !important;
        border-collapse: separate !important;
        /* Ensure proper spacing */
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Remove any table-specific spacing */
    .table tbody td:last-child {
        margin-bottom: 0 !important;
    }
    
    /* Ensure proper spacing between table rows */
    .table tbody tr + tr {
        margin-top: 15px !important;
    }
    
    /* Hide table headers on mobile */
    .table thead {
        display: none !important;
    }
    
    /* Force consistent text colors for table content */
    .table tbody tr a {
        color: #007bff !important; /* Use explicit primary color */
        text-decoration: underline !important;
    }
    
    .table tbody tr a:hover {
        color: #0056b3 !important;
        opacity: 0.8;
    }
    
    /* Force consistent button styling */
    .table tbody tr .btn,
    .table tbody tr .button,
    .table tbody tr input[type="submit"],
    .table tbody tr input[type="button"] {
        background: #007bff !important;
        color: white !important;
        border: none !important;
        border-radius: 8px !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
        cursor: pointer !important;
    }
    
    .table tbody tr .btn:hover,
    .table tbody tr .button:hover,
    .table tbody tr input[type="submit"]:hover,
    .table tbody tr input[type="button"]:hover {
        background: #495057 !important;
        transform: translateY(-1px) !important;
    }
    
    /* Force consistent input styling */
    .table tbody tr input[type="text"],
    .table tbody tr input[type="number"] {
        border: 1px solid #dee2e6 !important;
        border-radius: 4px !important;
        padding: 8px 12px !important;
        font-size: 14px !important;
        background: white !important;
        color: #495057 !important;
    }
    
    /* Override any remaining inline styles */
    .table tbody tr[style] {
        background: #ffffff !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 12px !important;
        padding: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        margin-bottom: 15px !important;
    }
    
    /* Force all text to use consistent colors */
    .table tbody tr * {
        color: inherit !important;
    }
    
    /* Ensure consistent badge styling */
    .table tbody tr .badge,
    .table tbody tr .badge-ecommerce {
        font-size: 11px !important;
        padding: 6px 10px !important;
        border-radius: 20px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 4px !important;
        display: inline-block !important;
    }
    
    .table tbody tr .badge-success {
        background: #28a745 !important;
        color: white !important;
    }
    
    .table tbody tr .badge-info {
        background: #17a2b8 !important;
        color: white !important;
    }
    
    .table tbody tr .badge-danger {
        background: #dc3545 !important;
        color: white !important;
    }
    
    /* Ensure consistent form styling */
    .table tbody tr .additem {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .table tbody tr .quantity {
        margin-bottom: 4px !important;
    }
    
    /* Force consistent spacing */
    .table tbody tr .small {
        font-size: 12px !important;
        color: #6c757d !important;
    }
    
    /* Ensure consistent link styling */
    .table tbody tr a[href*="plant-name"] {
        color: #007bff !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .table tbody tr a[href*="plant-name"]:hover {
        color: #0056b3 !important;
        opacity: 0.8;
    }
}

	/* Remove any visual line from the (empty) image wrapper on mobile cards */
	.product .product-thumb-info {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
		height: auto !important;
        overflow: hidden;
	}

	/* Modern card styling with subtle shadows and better spacing */
	.product {
		border-radius: 12px !important;
		box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
		border: 1px solid rgba(0,0,0,0.06) !important;
		padding: 20px !important;
		margin-bottom: 16px !important;
		transition: all 0.2s ease-in-out !important;
	}

	.product:hover {
		box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
		transform: translateY(-1px) !important;
	}

	/* Better typography hierarchy */
	.product h3 {
		font-size: 1.1rem !important;
		font-weight: 600 !important;
		margin-bottom: 8px !important;
		line-height: 1.3 !important;
	}

	.product h3 a {
		color: var(--primary) !important;
		text-decoration: none !important;
		transition: color 0.2s ease !important;
	}

	.product h3 a:hover {
		color: var(--secondary) !important;
	}

	/* Improved size and status info */
	.product .text-uppercase {
		font-size: 0.9rem !important;
		color: #ffffff !important;
		margin-bottom: 12px !important;
		font-weight: 500 !important;
	}

	.product .size-info {
		font-size: 0.85rem !important;
		color: var(--success) !important;
		margin-bottom: 8px !important;
		line-height: 1.4 !important;
	}

	/* Better detail rows with improved spacing */
	.product .product-details {
		padding-top: 16px !important;
		border-top: 1px solid rgba(0,0,0,0.08) !important;
	}

	.product .detail-row {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		margin-bottom: 12px !important;
		padding: 8px 0 !important;
	}

	.product .detail-label {
		font-weight: 600 !important;
		color: #495057 !important;
		font-size: 0.9rem !important;
	}

	.product .detail-value {
		font-weight: 500 !important;
		color: var(--success) !important;
		font-size: 0.95rem !important;
	}

	/* Modern form styling */
	.product .detail-row .detail-value form.additem {
		display: flex !important;
		align-items: center !important;
		gap: 4px !important;
		width: 100% !important;
	}

	.product .detail-row .detail-value .quantity {
		margin: 0 !important;
		flex: 0 0 auto !important;
	}

	.product .detail-row .detail-value .quantity input {
		border: 2px solid #e9ecef !important;
		border-radius: 8px !important;
		padding: 8px 12px !important;
		font-size: 0.9rem !important;
		width: 70px !important;
		text-align: center !important;
		transition: border-color 0.2s ease !important;
	}

	.product .detail-row .detail-value .quantity input:focus {
		outline: none !important;
		border-color: var(--primary) !important;
		box-shadow: 0 0 0 3px rgba(0,123,255,0.1) !important;
	}

	.product .detail-row .detail-value .add-cart {
		margin: 0 !important;
		padding: 10px 20px !important;
		border-radius: 8px !important;
		font-weight: 600 !important;
		font-size: 0.9rem !important;
		letter-spacing: 0.5px !important;
		transition: all 0.2s ease !important;
		border: none !important;
		box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
	}

	.product .detail-row .detail-value .add-cart:hover {
		transform: translateY(-1px) !important;
		box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
	}

	/* Badge improvements */
	.product .badge {
		border-radius: 6px !important;
		font-size: 0.75rem !important;
		font-weight: 600 !important;
		padding: 4px 8px !important;
		letter-spacing: 0.3px !important;
	}

	/* Alternate card backgrounds on mobile for better scanability */
	.d-md-none .row > .col-12:nth-child(even) .product { 
		background: #ececed !important; 
	}

    .product-thumb-info-badges-wrapper .badge-danger {
        background: #dc3545 !important;
        color: white !important;
        border: 1px solid #c82333 !important;
    }
    
    /* Ensure proper positioning context for badges */
    .product .product-thumb-info {
        position: relative !important;
        overflow: visible !important;
    }
    
    /* Prevent title overlap with sale badge */
    .product h3 {
        margin-right: 20px !important;
        padding-right: 10px !important;
    }
    
    /* Add to cart button */

/* Cart Item Image Wrapper */
.cart-item-image-wrapper {
    position: relative !important;
    display: inline-block !important;
}

/* Ensure proper responsive behavior */
@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .d-none.d-lg-block {
        display: none !important;
    }
}

@keyframes loading {
    0% { left: -100%; }
    100% { left: 100%; }
}

/* ===== ULTRA-MODERN SHOPPING CART STYLING ===== */

/* Premium Cart Header */
.cart-header {
    display: none !important;
}

.cart-header::before {
    content: '' !important;
    position: absolute !important;
    top: -50% !important;
    left: -50% !important;
    width: 200% !important;
    height: 200% !important;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%) !important;
    animation: float 6s ease-in-out infinite !important;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

.cart-header h1 {
    font-size: 36px !important;
    font-weight: 800 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
    position: relative !important;
    z-index: 2 !important;
}

.cart-header p {
    font-size: 18px !important;
    margin: 12px 0 0 0 !important;
    opacity: 0.95 !important;
    font-weight: 400 !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Ultra-Modern Cart Item Cards */
.cart-item-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%) !important;
    border-radius: 24px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
    padding: 28px !important;
    margin-bottom: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
}

.cart-item-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--primary) 0%, var(--secondary) 50%, var(--tertiary) 100%) !important;
    border-radius: 24px 24px 0 0 !important;
}

.cart-item-card:hover {
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-8px) scale(1.02) !important;
    background: linear-gradient(145deg, #ffffff 0%, #f0f2f5 100%) !important;
}

.cart-item-card:nth-child(even) {
    background: linear-gradient(145deg, #f8f9fa 0%, #e9ecef 100%) !important;
}

/* Enhanced Cart Item Image Styling */
.cart-item-image {
    width: 100px !important;
    height: 100px !important;
    border-radius: 20px !important;
    object-fit: cover !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
}

.cart-item-image:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

.cart-item-image-placeholder {
    width: 100px !important;
    height: 100px !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: center !important;
    line-height: 1.3 !important;
    padding: 12px !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 4px 16px rgba(var(--primary-rgb, 102, 126, 234), 0.2) !important;
}

/* Premium Remove Button */
.cart-remove-btn {
    position: absolute !important;
    top: -12px !important;
    right: -12px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%) !important;
    border: 3px solid #ffffff !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 16px rgba(255, 107, 107, 0.4) !important;
    z-index: 10 !important;
}

.cart-remove-btn:hover {
    background: linear-gradient(135deg, #ee5a52 0%, #d63031 100%) !important;
    transform: scale(1.15) rotate(90deg) !important;
    box-shadow: 0 8px 24px rgba(255, 107, 107, 0.6) !important;
}

/* Enhanced Cart Item Content Layout */
.cart-item-content {
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
    position: relative !important;
}

.cart-item-details {
    flex: 1 !important;
    min-width: 0 !important;
}

/* Premium Product Name Styling */
.cart-item-name {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #2d3436 !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.cart-item-name:hover {
    color: var(--primary) !important;
    transform: translateX(4px) !important;
}

/* Enhanced Product Details Styling */
.cart-item-sku {
    font-size: 16px !important;
    color: var(--tertiary) !important;
    margin-bottom: 16px !important;
    font-weight: 500 !important;
    padding: 8px 16px !important;
    background: rgba(var(--primary-rgb, 102, 126, 234), 0.1) !important;
    border-radius: 12px !important;
    display: inline-block !important;
    border-left: 4px solid var(--primary) !important;
}

/* Premium Price Styling */
.cart-item-price {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--quadrinary) !important;
    margin-bottom: 20px !important;
    text-shadow: 0 2px 4px rgba(var(--quadrinary-rgb, 0, 184, 148), 0.2) !important;
    position: relative !important;
}

.cart-item-price::before {
    content: '' !important;
}

/* Ultra-Modern Quantity Selector */
.cart-quantity-section {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    padding: 16px 20px !important;
    border-radius: 16px !important;
    border: 2px solid rgba(var(--primary-rgb, 102, 126, 234), 0.1) !important;
}

.cart-quantity-label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2d3436 !important;
    min-width: 80px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.cart-quantity-input {
    width: 100px !important;
    height: 48px !important;
    border: 2px solid rgba(var(--primary-rgb, 102, 126, 234), 0.2) !important;
    border-radius: 12px !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--tertiary) !important;
    background: #ffffff !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cart-quantity-input:focus {
    outline: none !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 4px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
    transform: scale(1.02) !important;
}

/* Simple Subtotal Styling */
.cart-subtotal {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--tertiary) !important;
    text-align: right !important;
    padding: 12px 16px !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    position: relative !important;
    overflow: hidden !important;
}

.cart-subtotal::before {
    content: '' !important;
}

/* Ultra-Modern Discount Code Section */
.cart-discount-section {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 24px !important;
    margin: 24px 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e9ecef !important;
    position: relative !important;
}

.cart-discount-section::before {
    display: none !important;
}

.cart-discount-input {
    width: 100% !important;
    height: 48px !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    font-size: 16px !important;
    color: var(--tertiary) !important;
    background: #ffffff !important;
    transition: all 0.3s ease !important;
    margin-bottom: 16px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

.cart-discount-input:focus {
    outline: none !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
}

.cart-discount-input::placeholder {
    color: #6c757d !important;
    font-weight: 400 !important;
}

.cart-apply-btn {
    width: 100% !important;
    height: 48px !important;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    color: var(--primary) !important;
    border: 2px solid var(--primary) !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 2px 4px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
}

.cart-apply-btn:hover {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(var(--primary-rgb, 102, 126, 234), 0.3) !important;
}

/* Premium Action Buttons */
.cart-action-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-top: 32px !important;
}

.cart-continue-btn {
    width: 100% !important;
    height: 64px !important;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    color: var(--primary) !important;
    border: 3px solid var(--primary) !important;
    border-radius: 20px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 16px rgba(var(--primary-rgb, 102, 126, 234), 0.2) !important;
}

.cart-continue-btn:hover {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 32px rgba(var(--primary-rgb, 102, 126, 234), 0.4) !important;
    text-decoration: none !important;
}

.cart-update-btn {
    width: 100% !important;
    height: 64px !important;
    background: linear-gradient(135deg, var(--tertiary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 4px 16px rgba(var(--tertiary-rgb, 99, 110, 114), 0.3) !important;
}

.cart-update-btn:hover {
    background: linear-gradient(135deg, var(--secondary) 0%, var(--tertiary) 100%) !important;
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 32px rgba(var(--tertiary-rgb, 99, 110, 114), 0.4) !important;
}

/* Enhanced Responsive adjustments */
@media (max-width: 576px) {
    .cart-item-card {
        padding: 20px !important;
        margin-bottom: 16px !important;
        border-radius: 20px !important;
    }
    
    .cart-item-content {
        gap: 16px !important;
    }
    
    .cart-item-image,
    .cart-item-image-placeholder {
        width: 80px !important;
        height: 80px !important;
        border-radius: 16px !important;
    }
    
    .cart-item-name {
        font-size: 18px !important;
    }
    
    .cart-item-price {
        font-size: 24px !important;
    }
    
    .cart-header {
        padding: 24px 16px !important;
        border-radius: 16px !important;
    }
    
    .cart-header h1 {
        font-size: 28px !important;
    }
    
    .cart-header p {
        font-size: 16px !important;
    }
    
    .cart-quantity-input {
        width: 80px !important;
        height: 44px !important;
        font-size: 16px !important;
    }
    
    .cart-discount-section {
        padding: 24px 20px !important;
        border-radius: 20px !important;
    }
    
    .cart-continue-btn,
    .cart-update-btn {
        height: 56px !important;
        font-size: 16px !important;
    }
}

/* Premium hover effects for all interactive elements */
.cart-item-card *:hover {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Enhanced focus states for accessibility */
.cart-item-card *:focus {
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
}

/* Smooth scrolling for better UX */
html {
    scroll-behavior: smooth !important;
}

/* Enhanced loading states */
.cart-item-card.loading {
    opacity: 0.7 !important;
    pointer-events: none !important;
}

.cart-item-card.loading::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 32px !important;
    height: 32px !important;
    margin: -16px 0 0 -16px !important;
    border: 3px solid #f3f3f3 !important;
    border-top: 3px solid var(--primary) !important;
    border-radius: 50% !important;
    animation: spin 1s linear infinite !important;
}

/* Premium Animation for Cart Items */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cart-item-card {
    animation: slideInUp 0.6s ease-out forwards !important;
}

.cart-item-card:nth-child(1) { animation-delay: 0.1s !important; }
.cart-item-card:nth-child(2) { animation-delay: 0.2s !important; }
.cart-item-card:nth-child(3) { animation-delay: 0.3s !important; }
.cart-item-card:nth-child(4) { animation-delay: 0.4s !important; }
.cart-item-card:nth-child(5) { animation-delay: 0.5s !important; }

/* Enhanced Focus States for Accessibility */
.cart-item-card:focus-within {
    box-shadow: 0 0 0 4px rgba(var(--primary-rgb, 102, 126, 234), 0.3) !important;
    outline: none !important;
}

/* ===== PREMIUM CHECKOUT BUTTON ===== */

/* Ultra-Prominent Checkout Button */
.cart-checkout-btn {
    width: 100% !important;
    height: 60px !important;    background: var(--primary) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 24px !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-top: 32px !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
}

.cart-checkout-btn::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent) !important;
    transition: left 0.6s ease !important;
}

.cart-checkout-btn:hover {
    background: var (--secondary) !important;
    transform: translateY(-8px) scale(1.02) !important;
}

.cart-checkout-btn:hover::before {
    left: 100% !important;
}

.cart-checkout-btn:active {
    transform: translateY(-4px) scale(1.01) !important;
}

/* Enhanced Action Button Hierarchy */
.cart-action-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-top: 24px !important;
    margin-bottom: 32px !important;
}

/* Secondary Action Buttons (Less Prominent) */
.cart-continue-btn {
    width: 100% !important;
    height: 56px !important;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    color: var(--primary) !important;
    border: 2px solid var(--primary) !important;
    border-radius: 16px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
}

.cart-continue-btn:hover {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(var(--primary-rgb, 102, 126, 234), 0.3) !important;
    text-decoration: none !important;
}

.cart-update-btn {
    width: 100% !important;
    height: 56px !important;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    color: var(--primary) !important;
    border: 2px solid var(--primary) !important;
    border-radius: 16px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 2px 8px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
}

.cart-update-btn:hover {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(var(--primary-rgb, 102, 126, 234), 0.3) !important;
}

/* Cart Totals Section Enhancement */
.cart-totals-section {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    margin-top: 24px !important;
    position: sticky !important;
    top: 20px !important;
    overflow: hidden !important;
    z-index: 100 !important;
}

.cart-totals-section::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--quadrinary) 0%, var(--tertiary) 50%, var(--primary) 100%) !important;
    border-radius: 20px 20px 0 0 !important;
}

.cart-totals-header {
    background: #ffffff !important;
    color:  var(--primary) !important;
    padding: 20px 24px !important;
    border-radius: 16px 16px 0 0 !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
}

.cart-totals-header h4 {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
}

.cart-totals-content {
    padding: 24px !important;
}

.cart-totals-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 20px !important;
    margin-bottom: 12px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(var(--primary-rgb, 102, 126, 234), 0.1) !important;
}

.cart-totals-row.total {
    background: #ffffff !important;
    color: var(--primary) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(var(--primary-rgb, 102, 126, 234), 0.3) !important;
}

.cart-totals-label {
    font-weight: 600 !important;
    color: var(--tertiary) !important;
    font-size: 16px !important;
}

.cart-totals-value {
    font-weight: 700 !important;
    color: var(--tertiary) !important;
    font-size: 18px !important;
}

.cart-totals-row.total .cart-totals-label,
.cart-totals-row.total .cart-totals-value {
    color: #ffffff !important;
}

/* ===== DESKTOP CART QUANTITY INPUT FIX ===== */
/* Ensure desktop quantity inputs are interactive */
.table tbody tr .input-text.qty,
.shop_table tbody tr .input-text.qty,
.cart tbody tr .input-text.qty {
    width: 80px !important;
    text-align: center !important;
    border: 1px solid #dee2e6 !important;
    border-top: 1px solid #dee2e6 !important;
    border-right: 1px solid #dee2e6 !important;
    border-bottom: 1px solid #dee2e6 !important;
    border-left: 1px solid #dee2e6 !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    margin: 4px !important;
    font-size: 14px !important;
    background: white !important;
    color: #495057 !important;
    pointer-events: auto !important;
    user-select: text !important;
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    cursor: text !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    position: relative !important;
    z-index: 10 !important;
    min-width: 60px !important;
    max-width: 100px !important;
}

.table tbody tr .input-text.qty:focus,
.shop_table tbody tr .input-text.qty:focus,
.cart tbody tr .input-text.qty:focus {
    outline: none !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 2px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
}

.table tbody tr .input-text.qty:hover,
.shop_table tbody tr .input-text.qty:hover,
.cart tbody tr .input-text.qty:hover {
    border-color: #adb5bd !important;
}

/* Ensure quantity wrapper doesn't interfere */
.table tbody tr .quantity,
.shop_table tbody tr .quantity,
.cart tbody tr .quantity {
    display: inline-block !important;
    position: relative !important;
    width: auto !important;
    min-width: 80px !important;
}

.table tbody tr .quantity .input-text.qty,
.shop_table tbody tr .quantity .input-text.qty,
.cart tbody tr .quantity .input-text.qty {
    position: relative !important;
    z-index: 10 !important;
    width: 80px !important;
    min-width: 60px !important;
    max-width: 70px !important;
    max-height: 35px !important;
}

/* Override any conflicting styles */
.shop_table.cart tbody tr td.product-quantity .quantity .input-text.qty {
    width: 80px !important;
    min-width: 60px !important;
    max-height: 35px !important;
    max-width: 70px !important;
    text-align: center !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    background: white !important;
    color: #495057 !important;
    pointer-events: auto !important;
    user-select: text !important;
    cursor: text !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Force override any theme styles */
.shop_table.cart .input-text.qty[type="number"] {
    width: 80px !important;
    min-width: 60px !important;
    max-width: 100px !important;
    text-align: center !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    background: white !important;
    color: #495057 !important;
    pointer-events: auto !important;
    user-select: text !important;
    cursor: text !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    position: relative !important;
    z-index: 10 !important;
}

/* ===== COMPREHENSIVE CART TABLE STYLING ===== */
/* Modern Cart Table Styling */
.shop_table.cart {
    border: none !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    background: #ffffff !important;
    margin-bottom: 32px !important;
}

/* Cart Table Header */
.shop_table.cart thead {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
}

.shop_table.cart thead th {
    border: none !important;
    padding: 20px 16px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.shop_table.cart thead th.product-name {
    text-align: left !important;
}

.shop_table.cart thead th.product-subtotal {
    text-align: right !important;
}

/* Cart Table Body */
.shop_table.cart tbody {
    background: #ffffff !important;
}

.shop_table.cart tbody tr {
    border: none !important;
    border-bottom: 1px solid #f1f3f4 !important;
    transition: all 0.3s ease !important;
}

.shop_table.cart tbody tr:hover {
    background: #f8f9fa !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

.shop_table.cart tbody tr:last-child {
    border-bottom: none !important;
}

/* Cart Table Cells */
.shop_table.cart tbody td {
    border: none !important;
    padding: 20px 16px !important;
    vertical-align: middle !important;
    background: transparent !important;
}

/* Product Thumbnail Styling */
.shop_table.cart .product-thumbnail {
    text-align: center !important;
    width: 120px !important;
}

.shop_table.cart .product-thumbnail-wrapper {
    position: relative !important;
    display: inline-block !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
}

.shop_table.cart .product-thumbnail-wrapper:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
}

.shop_table.cart .product-thumbnail-image img {
    width: 90px !important;
    height: 90px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
}

.shop_table.cart .product-thumbnail-remove {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    width: 24px !important;
    height: 24px !important;
    background: #dc3545 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    z-index: 10 !important;
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3) !important;
}

.shop_table.cart .product-thumbnail-remove:hover {
    background: #c82333 !important;
    transform: scale(1.1) !important;
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.4) !important;
}

/* Product Name Styling */
.shop_table.cart .product-name {
    text-align: left !important;
    padding-left: 20px !important;
}

.shop_table.cart .product-name a {
    color: var(--tertiary) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    line-height: 1.4 !important;
}

.shop_table.cart .product-name a:hover {
    color: var(--primary) !important;
    text-decoration: underline !important;
}

.shop_table.cart .product-name h6 {
    color: var(--primary) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin: 8px 0 0 0 !important;
    line-height: 1.3 !important;
}

/* Product Price Styling */
.shop_table.cart .product-price {
    text-align: center !important;
}

.shop_table.cart .product-price .amount {
    color: var(--tertiary) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* Product Quantity Styling */
.shop_table.cart .product-quantity {
    text-align: center !important;
}

/* Product Subtotal Styling */
.shop_table.cart .product-subtotal {
    text-align: right !important;
}

.shop_table.cart .product-subtotal .amount {
    color: var(--tertiary) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* Cart Action Buttons Styling */
.shop_table.cart .btn,
.shop_table.cart .button,
.shop_table.cart input[type="submit"],
.shop_table.cart input[type="button"] {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    color: var(--primary) !important;
    border: 2px solid var(--primary) !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-block !important;
    box-shadow: 0 2px 8px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
}

.shop_table.cart .btn:hover,
.shop_table.cart .button:hover,
.shop_table.cart input[type="submit"]:hover,
.shop_table.cart input[type="button"]:hover {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(var(--primary-rgb, 102, 126, 234), 0.3) !important;
}

/* Cart Totals Section Styling */
.cart-totals-section {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e9ecef !important;
}

.cart-totals-header {
    color: var(--primary) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.cart-totals-table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.cart-totals-table tr {
    border-bottom: 1px solid #e9ecef !important;
}

.cart-totals-table tr:last-child {
    border-bottom: none !important;
}

.cart-totals-table td {
    padding: 12px 0 !important;
    font-size: 16px !important;
}

.cart-totals-label {
    color: var(--tertiary) !important;
    font-weight: 600 !important;
}

.cart-totals-value {
    color: var(--tertiary) !important;
    font-weight: 700 !important;
    text-align: right !important;
}

.cart-totals-row.total .cart-totals-label,
.cart-totals-row.total .cart-totals-value {
    color: var(--primary) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    padding: 16px 0 !important;
    border-top: 2px solid var(--primary) !important;
}

/* Checkout Button Styling */
.cart-checkout-btn {
    width: 100% !important;
    height: 60px !important;
    background: linear-gradient(135deg, var(--quadrinary) 0%, var(--tertiary) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 6px 20px rgba(var(--quadrinary-rgb, 0, 184, 148), 0.3) !important;
    margin-top: 24px !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
}

.cart-checkout-btn:hover {
    background: linear-gradient(135deg, var(--tertiary) 0%, var(--quadrinary) 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 32px rgba(var(--quadrinary-rgb, 0, 184, 148), 0.4) !important;
}

.cart-checkout-btn:active {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(var(--quadrinary-rgb, 0, 184, 148), 0.3) !important;
}

/* ===== BILLING/SHIPPING PAGE STYLING ===== */
/* Modern Billing/Shipping Page Layout */
.billing-shipping-container {
    background: #f8f9fa !important;
    min-height: 100vh !important;
    padding: 32px 0 !important;
}

/* Section Headers */
.billing-section-header {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
    padding: 20px 24px !important;
    border-radius: 12px 12px 0 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
    margin-bottom: 0 !important;
}

/* Shipping Options */
.shipping-options-container {
    background: #ffffff !important;
    border-radius: 0 0 12px 12px !important;
    padding: 24px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e9ecef !important;
    margin-bottom: 32px !important;
}

.shipping-option {
    display: flex !important;
    align-items: center !important;
    padding: 16px !important;
    border: 2px solid #e9ecef !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    background: #ffffff !important;
}

.shipping-option:hover {
    border-color: var(--primary) !important;
    box-shadow: 0 2px 8px rgba(var(--primary-rgb, 102, 126, 234), 0.15) !important;
    transform: translateY(-1px) !important;
}

.shipping-option.selected {
    border-color: var(--primary) !important;
    background: linear-gradient(135deg, rgba(var(--primary-rgb, 102, 126, 234), 0.05) 0%, rgba(var(--secondary-rgb, 99, 110, 114), 0.05) 100%) !important;
    box-shadow: 0 4px 12px rgba(var(--primary-rgb, 102, 126, 234), 0.2) !important;
}

.shipping-option input[type="radio"] {
    margin-right: 16px !important;
    transform: scale(1.2) !important;
    accent-color: var(--primary) !important;
}

.shipping-option label {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--tertiary) !important;
    cursor: pointer !important;
    margin: 0 !important;
    flex: 1 !important;
}

/* Cart Summary Section */
.cart-summary-container {
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 0 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e9ecef !important;
    margin-bottom: 32px !important;
    overflow: hidden !important;
}

.cart-summary-header {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
    color: #ffffff !important;
    padding: 20px 24px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
    margin: 0 !important;
}

.cart-summary-content {
    padding: 24px !important;
}

/* Cart Items */
.cart-item-card {
    background: #ffffff !important;
    border: 1px solid #e9ecef !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease !important;
}

.cart-item-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px) !important;
}

.cart-item-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--tertiary) !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
}

.cart-item-details {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.cart-item-quantity {
    font-size: 14px !important;
    color: var(--primary) !important;
    font-weight: 600 !important;
}

.cart-item-price {
    font-size: 16px !important;
    color: var(--tertiary) !important;
    font-weight: 700 !important;
}

/* Totals Section */
.totals-container {
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e9ecef !important;
    margin-bottom: 32px !important;
}

.totals-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #f1f3f4 !important;
}

.totals-row:last-child {
    border-bottom: none !important;
    border-top: 2px solid var(--primary) !important;
    margin-top: 16px !important;
    padding-top: 20px !important;
}

.totals-label {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--tertiary) !important;
}

.totals-value {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--tertiary) !important;
}

.totals-row.total .totals-label,
.totals-row.total .totals-value {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--primary) !important;
}

/* Submit Button - Now uses cart-checkout-btn class for consistency */

/* Responsive Design */
@media (max-width: 768px) {
    .billing-shipping-container {
        padding: 16px 0 !important;
    }
    
    .shipping-options-container,
    .cart-summary-content,
    .totals-container {
        padding: 16px !important;
    }
    
    .billing-section-header,
    .cart-summary-header {
        padding: 16px !important;
        font-size: 16px !important;
    }
    
    .cart-checkout-btn {
        height: 56px !important;
        font-size: 16px !important;
    }
}

/* ===== CART CONTAINER WIDTH FIX ===== */
/* Fix cart container width on desktop for billing/shipping pages */
#shipping2, #shipping3 {
    min-width: 100% !important;
    width: 100% !important;
}

.cart-summary-container {
    width: 100% !important;
    max-width: none !important;
    min-width: 300px;
}

@media (min-width: 992px) {
    .cart-summary-container {
        min-width: 400px;
        max-width: 500px;
    }
}

/* ===== View Cart: Desktop fixes ===== */
/* 1) Ensure Total row text is readable atop gradient background */
.cart-totals-row.total .cart-totals-label,
.cart-totals-row.total .cart-totals-value {
    color: var(--primary) !important;
    text-shadow: 0 1px 1px rgba(0,0,0,0.15) !important;
}

/* 2) Unify checkout button styling (primary by default) */
.cart-checkout-btn {
    background: var(--primary, #6f42c1) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}
.cart-checkout-btn:hover,
.cart-checkout-btn:focus {
    background: rgba(var(--primary-rgb, 111, 66, 193), 0.9) !important;
    color: #ffffff !important;
}

/* Optional alternative: set to tertiary by toggling this rule (kept lower priority)
.cart-checkout-btn.is-tertiary { background: var(--tertiary) !important; }
*/

/* 3) Prevent the remove (X) icon from being clipped on desktop */
td.product-thumbnail,
.product-thumbnail-wrapper {
    position: relative !important;
    overflow: visible !important;
}
.product-thumbnail-remove {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--quadrinary, #20c997) !important;
    color: #ffffff !important;
    z-index: 5 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
}
.product-thumbnail-remove i { line-height: 1 !important; font-size: 12px !important; }

/* ===== View Cart: Mobile card enforcement ===== */
@media (max-width: 991.98px) {
    /* Ensure mobile card block renders with full responsive-card styling */
    .d-lg-none .cart-item-card {
        background: #fff !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
        padding: 14px !important;
        margin: 12px 0 !important;
        border: 1px solid rgba(0,0,0,0.06) !important;
    }
    .d-lg-none .cart-item-content { display: flex !important; gap: 12px !important; position: relative !important; align-items: flex-start !important; }
    .d-lg-none .cart-item-image-wrapper { width: 92px !important; height: 92px !important; flex: 0 0 92px !important; }
    .d-lg-none .cart-item-image { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 10px !important; }
    .d-lg-none .cart-item-details { flex: 1 1 auto !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; }
    .d-lg-none .cart-item-name { font-weight: 600 !important; color: var(--text, #333) !important; display: block !important; margin-bottom: 6px !important; font-size: 16px !important; line-height: 1.3 !important; white-space: normal !important; word-break: normal !important; overflow-wrap: anywhere !important; }
    .d-lg-none .cart-item-sku { display: block !important; margin: 2px 0 6px 0 !important; font-size: 13px !important; color: #6c757d !important; background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
    .d-lg-none .cart-item-price { color: var(--tertiary, #28a745) !important; font-weight: 700 !important; margin: 6px 0 !important; }
    .d-lg-none .cart-quantity-section { display: flex !important; align-items: center !important; gap: 8px !important; margin-top: 6px !important; flex-wrap: nowrap !important; }
    .d-lg-none .cart-quantity-label { font-size: 13px !important; color: #666 !important; flex: 0 0 auto !important; }
    .d-lg-none .cart-quantity-input { max-width: 90px !important; text-align: center !important; padding: 8px 10px !important; border: 1px solid #dee2e6 !important; border-radius: 6px !important; }
    .d-lg-none .cart-quantity-display { font-weight: 600 !important; color: #2d3436 !important; font-size: 14px !important; padding: 8px 12px !important; background: #ffffff !important; border-radius: 6px !important; border: 1px solid rgba(var(--primary-rgb, 111, 66, 193), 0.2) !important; display: inline-block !important; min-width: 40px !important; text-align: center !important; }
    .d-lg-none .cart-subtotal { font-weight: 600 !important; color: var(--primary, #6f42c1) !important; margin-top: 6px !important; }
    /* Mobile: place remove button at top-left of the entire card */
    .d-lg-none .cart-remove-btn {
        position: absolute !important;
        top: 8px !important;
        left: 8px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        background:  #f53434 !important;
        color: #fff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
        z-index: 2 !important;
    }
    /* Mobile action buttons */
    .d-lg-none .cart-action-buttons { display: flex !important; gap: 10px !important; margin: 14px 0 !important; }
    .d-lg-none .cart-continue-btn,
    .d-lg-none .cart-update-btn { flex: 1 1 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; height: 46px !important; border-radius: 8px !important; border: 1px solid var(--primary, #6f42c1) !important; color: var(--primary, #6f42c1) !important; background: #fff !important; }
    .d-lg-none .cart-update-btn:hover,
    .d-lg-none .cart-continue-btn:hover { background: rgba(var(--primary-rgb, 111,66,193), 0.06) !important; }

    /* Ensure no global styles force vertical layout or badges */
    .d-lg-none .cart-item-card *,
    .d-lg-none .cart-item-card a { max-width: 100% !important; writing-mode: horizontal-tb !important; }
}

/* ===== Confirm Order page: force mobile cards ===== */
@media (max-width: 991.98px) {
    .confirm-order-page .mobile-cart-cards { display: block !important; }
    .confirm-order-page .table-responsive,
    .confirm-order-page .shop_table.cart,
    .confirm-order-page .shop_table.cart thead,
    .confirm-order-page .shop_table.cart tbody,
    .confirm-order-page .shop_table.cart tr,
    .confirm-order-page .shop_table.cart th,
    .confirm-order-page .shop_table.cart td { display: none !important; }
}

/* ===== Confirm Order page: mobile card layout & polish ===== */
@media (max-width: 991.98px) {
  .confirm-order-page .mobile-cart-cards .cart-item-card {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
    padding: 14px !important;
    margin: 12px 0 !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
  }
  .confirm-order-page .mobile-cart-cards .cart-item-header {
    width: 92px !important; height: 92px !important; flex: 0 0 92px !important;
  }
  .confirm-order-page .mobile-cart-cards .cart-item-image {
    width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 10px !important;
  }
  .confirm-order-page .mobile-cart-cards .cart-item-details { flex: 1 1 auto !important; min-width: 0 !important; }
  .confirm-order-page .mobile-cart-cards .cart-item-name {
    font-weight: 600 !important; color: var(--text, #333) !important; display: block !important;
    margin-bottom: 6px !important; font-size: 16px !important; line-height: 1.3 !important;
    white-space: normal !important; word-break: normal !important; overflow-wrap: anywhere !important;
  }
  .confirm-order-page .mobile-cart-cards .cart-item-sku {
    display: block !important; margin: 2px 0 6px 0 !important; font-size: 13px !important; color: #6c757d !important;
    background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  }
  .confirm-order-page .mobile-cart-cards .cart-item-price { color: var(--tertiary, #28a745) !important; font-weight: 700 !important; margin: 6px 0 !important; }
  .confirm-order-page .mobile-cart-cards .cart-item-quantity { margin-top: 6px !important; color: #666 !important; }
  .confirm-order-page .mobile-cart-cards .cart-item-subtotal { font-weight: 600 !important; color: var(--primary, #6f42c1) !important; margin-top: 6px !important; }
  .confirm-order-page .mobile-cart-cards * { writing-mode: horizontal-tb !important; max-width: 100% !important; }
}

/* Desktop: place remove button at top-left of the entire cart row */
@media (min-width: 992px) {
    tr.cart_table_item { position: relative !important; }
    .product-thumbnail-wrapper { position: relative !important; overflow: visible !important; }
    .product-thumbnail-wrapper .product-thumbnail-remove {
        position: absolute !important;
        top: 8px !important;
        left: 8px !important;
        width: 30px !important;
        height: 30px !important;
        z-index: 3 !important;
    }
}


