/**
 * Truthforge Nuclear: High-Fidelity Cart Overhaul
 * Reference: https://api.magicpath.ai/v1/daring-dusk-5790
 */

/* Global Container Sync: Top padding handled by sitewide 60px anchor protocol */
html body.woocommerce-cart .woocommerce {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

html body.woocommerce-cart .site-main,
html body.woocommerce-cart .content-area,
html body.woocommerce-cart .site-content,
html body.woocommerce-cart .entry-content,
html body.woocommerce-cart article,
html body.woocommerce-cart #main,
html body.woocommerce-cart .tf-cart-overhaul-root {
    margin-top: 0 !important;
}

html body.woocommerce-cart .tf-cart-overhaul-root {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 24px 40px !important; /* Reduced bottom padding from 120px to close the gap */
    color: #fff;
    background: #000;
    width: 100%;
    box-sizing: border-box;
}


/* Force parent container expansion for WooCommerce pages */
.woocommerce-cart #content,
.woocommerce-cart .container,
.woocommerce-cart .entry-content {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* SUPREME NUCLEAR DESIGN HAMMER: Enforcement of consistent box model sitewide */
*, *::before, *::after {
    box-sizing: border-box !important;
}

html body.woocommerce-cart button,
html body.woocommerce-cart .button,
html body.woocommerce-cart input,
html body.woocommerce-cart select {
    border-radius: 4px !important;
}

/* Force parent container expansion for WooCommerce pages */
.tf-cart-header {
    margin-bottom: 24px; /* Tight visual rhythm */
    padding-top: 0;
}

/* Hide default WooCommerce cross-sell headings */
.woocommerce-cart .cross-sells h2 {
    display: none !important;
}


.tf-cart-back-link {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 20px; /* Reduced from 24px */
    text-decoration: none;
    transition: color 0.3s ease;
}

.tf-cart-back-link:hover {
    color: var(--tf-brand-primary);
}

.tf-cart-back-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    color: #fff;
}

.tf-cart-title-row {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tf-cart-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: clamp(3rem, 10vw, 5.5rem) !important;
    font-weight: 950 !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    color: #fff !important;
}

.tf-cart-title span {
    color: var(--tf-brand-primary);
}

.tf-cart-subtitle {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.4);
    padding-left: 4px; /* Optical alignment with italic heading */
}

/* 1.1 Breadcrumbs Styling - Parity Pass */


/* 2. Free Shipping Bar */
.tf-cart-status-bar {
    width: fit-content;
    min-width: 420px;
    max-width: 100%;
    background: #111;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    padding: 24px 32px; 
    margin-bottom: 48px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
    text-align: left;
    box-sizing: border-box;
}

.status-bar-icon {
    width: 24px;
    height: 24px;
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.status-bar-text {
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
}

.status-bar-text span {
    color: #22c55e;
    margin-right: 4px;
}

.status-bar-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
}

.status-bar-subtext {
    font-size: 10px;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

/* 3. Main Layout Grid */
html body.woocommerce-cart .tf-cart-main-grid {
    display: grid !important;
    grid-template-columns: 1fr 360px !important; /* Reduced from 400px to ensure 1280px viewport fit */
    gap: 24px !important; /* Reduced from 32px for safe containment */
    align-items: flex-start !important;
    max-width: 1280px !important;
    margin: 32px auto !important;
    min-width: 0 !important; /* Grid stability protocol */
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative;
}

/* Vertical separator REMOVED as per user request to avoid interference with triggers */
.tf-cart-main-grid::after {
    display: none !important;
}

@media (max-width: 1024px) {
    .tf-cart-main-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    
    .tf-cart-summary-column {
        position: static !important;
    }
}

/* Consolidated Summary Column Rule: Relative only to ensure no vertical clipping */
/* Consolidated Summary Column Rule: High-Stability Protocol */
.tf-cart-summary-column {
    position: relative !important;
    top: 0 !important;
    padding-left: 0 !important;
    width: 100% !important;
    max-width: 360px !important; /* Reduced from 400px for 1280px safety */
    min-width: 0 !important;      
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;   /* Critical: Ensure shadows/totals do not clip */
}

html body.woocommerce-cart .tf-cart-labels-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr !important; 
    gap: 40px !important; /* Matches item row gap */
    padding: 24px 0 16px !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    color: #ffffff !important; /* NUCLEAR PRECISION: Full visibility white */
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
}

.label-product { text-align: left; }
.label-quantity { text-align: center; }
.label-total { text-align: right; }

/* 4. Cart Items Area */
.tf-cart-items-column {
    display: flex;
    flex-direction: column;
}

html body.woocommerce-cart .tf-cart-item-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr !important;
    align-items: center !important; 
    gap: 40px;
    padding: 64px 0 !important; 
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    position: relative;
    transition: background 0.3s ease;
}

.item-visual-cell {
    display: flex;
    align-items: center; /* Vertical alignment fix */
    gap: 32px;
}

.item-img-wrapper {
    width: 180px; /* High-Fidelity Presence Increase */
    height: 180px;
    flex-shrink: 0;
    background: #000; 
    border: 1px solid rgba(255, 255, 255, 0.03);
    border-radius: 4px; 
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4); /* Depth for product POP */
}

.item-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.tf-cart-item-row:hover .item-img-wrapper img {
    transform: scale(1.05);
}

.item-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.item-category {
    font-size: 9px;
    font-weight: 950;
    color: var(--tf-brand-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.item-title {
    font-size: 24px;
    font-weight: 800; /* Clarity improvement from 950 */
    font-style: italic;
    color: #fff;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.1; /* Tightened from 1.35 */
    text-decoration: none;
    max-width: 420px;
    word-break: keep-all;
    overflow-wrap: break-word;
    display: block;
    letter-spacing: 0.04em; /* Expanded from -0.01em to fix "compressed" feedback */
}

.item-meta {
    margin-top: 6px; /* High-fidelity spatial separation */
    font-size: 10px;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.4); /* Increased contrast slightly */
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.item-price {
    font-size: 13px; /* Slightly reduced to avoid competing with title */
    font-weight: 700; /* Muted from 800 */
    color: rgba(255, 255, 255, 0.35); /* Elegant secondary presence */
    margin-top: 4px;
    letter-spacing: 0.02em;
}

.item-qty-cell {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Modern Pill Quantity Selector */
.tf-qty-selector.modern-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0a0a0a;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 100px;
    height: 48px;
    padding: 4px;
    margin: 0 auto;
    width: 140px;
}

/* ABSOLUTE MASTER LOCK: MONOCHROME QUANTITY BUTTONS */
.qty-btn,
.quantity .plus,
.quantity .minus,
.product-cinematic-wrapper .quantity .plus,
.product-cinematic-wrapper .quantity .minus,
.tf-cart-overhaul-root .quantity .plus,
.tf-cart-overhaul-root .quantity .minus {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    background: #000 !important; 
    border-radius: 50% !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important; 
    padding: 0 !important;
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    background-image: none !important;
    box-shadow: none !important;
}

.qty-btn:hover,
.quantity .plus:hover,
.quantity .minus:hover {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

.qty-input {
    width: 44px !important;
    max-width: 44px !important;
    min-width: 44px !important;
    background: transparent !important;
    border: none !important;
    color: #ffffff !important; /* Force high visibility white */
    font-size: 15px !important; 
    font-weight: 950 !important;
    font-family: 'Oswald', sans-serif !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    pointer-events: none !important;
    height: 44px !important;
    line-height: 44px !important;
    display: block !important; /* Ensure it's not hidden */
    visibility: visible !important;
}

.item-total-cell {
    display: flex;
    flex-direction: row; 
    align-items: center;
    justify-content: flex-end;
    gap: 40px; /* Increased separation */
    padding-right: 20px; /* Ensure it stays inside visual boundaries */
}

.total-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.item-price-each {
    font-size: 12px;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.total-amount {
    font-family: var(--tf-font-secondary, 'Oswald', sans-serif);
    font-size: 26px; /* Increased scale for financial clarity */
    font-weight: 950;
    color: #fff;
    font-style: italic;
    line-height: 1;
}

.item-remove-trigger-minimal {
    color: rgba(255, 255, 255, 0.4); /* Increased based visibility */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.item-remove-trigger-minimal:hover {
    color: #fff;
    background: #ef4444; /* High-Visibility Danger State */
    border-color: #ef4444;
    transform: rotate(15deg) scale(1.1);
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.3);
}

.remove-btn:hover { 
    color: #fff;
    background: #ef4444;
    border-color: #ef4444;
}

/* 6. Order Summary Sidebar */
/* Block 452 consolidated into block 199 above */

.cart_totals {
    background: transparent;
    border: none;
    padding: 0;
    border-radius: 0;
}

html body.woocommerce-cart .tf-summary-card {
    background: #0a0a0a !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 24px !important; /* Balanced padding */
    border-radius: 4px !important; 
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important; /* Relaxed for Protocol Success */
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;      
}

/* GLOBAL CHILD GUARD Protocol 3/8 */
.tf-summary-card * {
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

.tf-summary-header {
    font-family: 'Oswald', sans-serif;
    font-size: 20px; 
    font-weight: 950;
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #fff;
    margin: 0 0 32px 0;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Hide standard WooCommerce totals title within the card since we have a custom one */
.tf-summary-card .cart_totals h2 {
    display: none;
}

/* Suppress duplicate coupon sections injected via hooks */
.tf-summary-card div:not(.tf-sidebar-coupon) > .coupon,
.tf-summary-card div:not(.tf-sidebar-coupon) > .checkout-coupon,
.tf-cart-actions .coupon,
.woocommerce-cart .coupon:not(.tf-sidebar-coupon) {
    display: none !important;
}

/* Force parent override to ensure no borders/backgrounds leak from legacy styles */
body.woocommerce-cart .cart_totals {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.tf-totals-summary {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.summary-tier {
    padding: 24px 0;
    border-bottom: none;
}

.summary-tier:last-of-type {
    border-bottom: none;
}

.summary-tier.tier-total {
    padding-top: 24px;
    padding-bottom: 0;
}

.tf-totals-row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 20px;
}

.tf-totals-row .value {
    color: #fff;
    font-weight: 950;
}

.tf-totals-row.order-total {
    margin-top: 48px; /* Standard 48px Rhythm */
    padding-top: 0;
    border-top: none;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding-top: 32px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.tf-totals-row.order-total .label {
    font-family: 'Oswald', sans-serif !important;
    font-size: 20px !important; /* Increased to match 42px value prominence */
    font-weight: 950 !important;
    font-style: italic !important;
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 !important;
}

.tf-totals-row.order-total .value {
    font-family: 'Oswald', sans-serif !important;
    font-size: 34px !important;
    font-weight: 950 !important;
    font-style: italic !important;
    color: #9333ea !important;
    letter-spacing: -0.01em !important;
    line-height: 1 !important;
    opacity: 0.9;
    /* TYPOGRAPHY GUARD Protocol 4 - RELAXED */
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.tf-free-ship {
    color: #22c55e !important;
}

.tf-sidebar-coupon {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tf-coupon-flex {
    display: flex;
    gap: 12px; /* Increased separation */
    align-items: stretch;
}

@media (max-width: 480px) {
    .tf-coupon-flex {
        flex-direction: column !important;
    }
}

.tf-coupon-flex input {
    flex: 1;
    background: #000 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px;
    padding: 14px 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    outline: none !important;
    height: 48px !important;
    box-sizing: border-box;
}

.tf-apply-btn {
    background: #ffffff !important;
    color: #000000 !important;
    padding: 0 24px !important;
    height: 56px !important; /* Unified button scale */
    border-radius: 4px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 950 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border: none !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    cursor: pointer !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tf-apply-btn:hover {
    background: #f0f0f0 !important;
    transform: translateY(-1px);
}

/* Actions Area */
.wc-proceed-to-checkout {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 40px;
}

/* Extreme Specificity Selector to force White Background against global theme defaults */
/* This MUST be white as per previous core human instruction */
/* Extreme Specificity Selector to force White Background against theme-level inline purple overrides */
html body.woocommerce-cart .tf-cart-overhaul-root .tf-cart-summary-column .wc-proceed-to-checkout a.checkout-button,
html body.woocommerce-cart .tf-cart-overhaul-root .checkout-button,
html body.woocommerce-cart .tf-cart-overhaul-root .tf-cart-summary-column .checkout-button,
html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    max-width: 100% !important;
    height: 64px !important;
    padding: 0 32px !important;
    background-color: #ffffff !important; 
    background: #ffffff !important; 
    color: #000000 !important; 
    font-family: 'Oswald', sans-serif !important;
    font-weight: 950 !important;
    font-size: 20px !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    border: none !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: 0 10px 50px rgba(255, 255, 255, 0.1) !important; 
    cursor: pointer !important;
    margin-top: 32px !important;
    text-decoration: none !important;
}

@keyframes tf-cta-pulse {
    0%, 100% { box-shadow: 0 10px 50px rgba(255, 255, 255, 0.2); }
    50% { box-shadow: 0 10px 70px rgba(255, 255, 255, 0.4); }
}

html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
html body.woocommerce-cart .tf-cart-overhaul-root .checkout-button:hover,
html body.woocommerce-cart .tf-cart-overhaul-root .checkout-button:hover {
    background: #9333ea !important; 
    background-color: #9333ea !important;
    color: #ffffff !important; 
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 60px rgba(147, 51, 234, 0.4) !important; 
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button::after {
    content: '→';
    font-size: 22px !important; 
    font-weight: 400 !important;
    font-style: normal !important;
    margin-left: auto;
    position: static !important;
}

.tf-checkout-separation {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 0;
}

.tf-checkout-separation::before,
.tf-checkout-separation::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
}

.tf-checkout-separation span {
    font-size: 10px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.2);
}

html body.woocommerce-cart .tf-cart-overhaul-root .whatsapp-checkout-btn,
html body.woocommerce-cart .tf-cart-overhaul-root .cart_totals .whatsapp-checkout-btn {
    width: 100% !important;
    height: 64px !important; 
    padding: 0 32px !important; /* Increased to 32px to match Primary CTA and fix border collision */
    background-color: transparent !important; 
    background: transparent !important; 
    color: #25D366 !important; 
    border: 1px solid #25D366 !important; /* Increased opacity to 1.0 for brand parity */
    font-family: 'Oswald', sans-serif !important;
    font-weight: 950 !important;
    font-size: 15px !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important; /* Increased from 12px for better visual breathing room */
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    text-decoration: none !important;
    box-shadow: none !important;
    margin: 12px 0 !important; 
    width: 100% !important;
    white-space: nowrap !important; /* Prevent text wrapping and icon collision */
}

/* Kill the Ghost Arrow inherited from .checkout-button and force absolute center */
html body.woocommerce-cart .tf-cart-overhaul-root .whatsapp-checkout-btn::after {
    content: none !important;
    display: none !important;
}

/* Force absolute centering for the internal unit */
html body.woocommerce-cart .tf-cart-overhaul-root .whatsapp-checkout-btn svg,
html body.woocommerce-cart .tf-cart-overhaul-root .whatsapp-checkout-btn span {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    flex: 0 0 auto !important;
    width: auto !important;
}

.whatsapp-checkout-btn:hover {
    background: rgba(37, 211, 102, 0.05) !important;
    border-color: #25D366 !important;
    transform: translateY(-1px) !important;
}

.whatsapp-checkout-btn svg {
    flex-shrink: 0 !important;
    position: static !important;
    margin: 0 !important;
    margin-right: 20px !important; /* Fail-safe spacing in case flex gap is ignored */
    transform: none !important;
    width: 20px !important;
    height: 20px !important;
}

/* NUCLEAR TRUST GRID V2 */
.tf-trust-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 32px !important;
    padding-top: 32px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.trust-grid-item {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 4px;
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    transition: all 0.3s ease;
}

.trust-grid-item:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

.trust-grid-item svg {
    width: 20px;
    height: 20px;
    color: rgba(255, 255, 255, 0.6); /* Monochrome Authority */
    opacity: 0.8;
}

.trust-grid-item .trust-label {
    font-size: 9px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.6);
}

/* Legacy Coupon Styles Restored */
.tf-sidebar-coupon {
    margin-top: 32px;
}

.tf-coupon-flex {
    display: flex;
    gap: 8px;
}

.tf-coupon-flex input {
    flex: 1;
    background: #050505 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
    padding: 0 16px !important;
    height: 48px !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
}

.tf-coupon-flex .tf-apply-btn {
    height: 48px !important;
    padding: 0 24px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 950 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #000 !important;
    border: none !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.tf-coupon-flex .tf-apply-btn:hover {
    background: var(--tf-brand-primary) !important;
    color: #fff !important;
}

.tf-trust-list { display: none; } /* Kill the old list */

/* Accepted Payments Styling */
.tf-accepted-payments {
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.tf-accepted-payments .label {
    display: block;
    font-size: 10px;
    font-weight: 950;
    color: rgba(255, 255, 255, 0.2);
    margin-bottom: 20px;
    letter-spacing: 0.2em;
    text-align: center;
}

.payment-badges {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.payment-badges .badge {
    background: #000;
    border: 1px solid rgba(255, 255, 255, 0.25); /* Boosted contrast */
    padding: 12px 8px;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 950;
    color: rgba(255, 255, 255, 0.9); /* Sharper text POP */
    letter-spacing: 0.12em;
    text-align: center;
    transition: all 0.3s ease;
}

.payment-badges .badge:hover {
    border-color: rgba(255, 255, 255, 0.4);
    background: #050505;
}


/* 8. Recommendations Architectural Break (DEPRECATED: Moved to nuclear-shared-grid.css for global parity) */
.tf-cart-recommendations {
    width: 100% !important;
    display: block !important;
    clear: both !important;
    margin-top: 40px !important;
    padding-top: 30px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* 8. Responsive Adaptations */
@media (max-width: 1200px) {
    html body.woocommerce-cart .tf-cart-main-grid {
        grid-template-columns: 1fr 360px !important;
        gap: 40px !important;
    }
}

@media (max-width: 1024px) {
    html body.woocommerce-cart .tf-cart-main-grid {
        grid-template-columns: 1fr !important;
        gap: 60px !important;
    }
    html body.woocommerce-cart .tf-cart-summary-column {
        position: static !important;
    }
    html body.woocommerce-cart .tf-cart-recommendations-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    html body.woocommerce-cart .tf-cart-main-grid {
        display: block !important;
    }

    html body.woocommerce-cart .tf-cart-summary-column {
        margin-top: 48px !important;
    }

    html body.woocommerce-cart .tf-cart-overhaul-root {
        padding: 0 0 var(--tf-mobile-space-xl) !important; /* Use global space token, horizontal padding handled by global container rule */
    }

    html body.woocommerce-cart .tf-cart-recommendations-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    html body.woocommerce-cart .tf-cart-status-bar {
        width: 100% !important;
        min-width: 0 !important;
        padding: 20px !important;
        margin-bottom: 32px !important;
    }

    /* FIX 2: Mobile Quantity & Layout Stability */
    html body.woocommerce-cart .item-qty-cell {
        order: 3 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.woocommerce-cart .tf-qty-selector.modern-pill {
        width: 140px !important; 
        margin: 0 auto !important;
        gap: 10px !important;
    }

    html body.woocommerce-cart .qty-input {
        width: 30px !important; /* Tightened for mobile stability */
        font-size: 14px !important;
    }

    html body.woocommerce-cart .tf-cart-title-row {
        align-items: center !important;
        text-align: center !important;
    }

    html body.woocommerce-cart .tf-cart-title {
        font-size: var(--tf-font-h1-mobile) !important;
        margin-bottom: var(--tf-mobile-space-xs) !important;
        text-align: center !important;
    }

    html body.woocommerce-cart .tf-cart-subtitle {
        text-align: center !important;
        margin-bottom: var(--tf-mobile-space-lg) !important;
        display: block !important;
    }

    html body.woocommerce-cart .tf-totals-row.order-total .value {
        font-size: 28px !important;
    }

    html body.woocommerce-cart .tf-cart-labels-row {
        display: none !important;
    }

    html body.woocommerce-cart .tf-cart-item-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 32px !important;
        padding: 32px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }

    html body.woocommerce-cart .item-visual-cell {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    html body.woocommerce-cart .item-info {
        padding-left: 0 !important;
        margin-top: 24px !important;
    }

    html body.woocommerce-cart .item-qty-cell, 
    html body.woocommerce-cart .item-total-cell {
        justify-content: center !important;
        padding: 12px 0 !important;
        padding-right: 0 !important;
        gap: 24px !important;
    }

    html body.woocommerce-cart .wc-proceed-to-checkout .button, 
    html body.woocommerce-cart .whatsapp-checkout-btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 0 16px !important;
        font-size: 12px !important; /* Reduced from 14px for 320px screens */
        letter-spacing: 0.05em !important; /* Tightened from 0.1em */
        gap: 10px !important; /* Tightened from 12px */
    }

    html body.woocommerce-cart .whatsapp-checkout-btn svg {
        margin-right: 8px !important;
    }

    html body.woocommerce-cart .rec-header {
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 16px !important;
        text-align: center !important;
    }

    html body.woocommerce-cart .rec-header-left {
        align-items: center !important;
    }

    html body.woocommerce-cart .rec-eyebrow-wrapper {
        justify-content: center !important;
        padding-left: 0 !important;
    }

    html body.woocommerce-cart .eyebrow-line {
        display: none !important; /* Remove line on mobile for clean centering */
    }

    html body.woocommerce-cart .rec-eyebrow {
        letter-spacing: 0.2em !important; /* Reduced from 0.4em to prevent wrapping */
    }

    html body.woocommerce-cart .rec-title {
        font-size: 28px !important;
        text-align: center !important;
        padding-left: 0 !important;
        white-space: normal !important; /* Allow natural wrap if needed, though centered */
    }

    html body.woocommerce-cart .rec-see-all {
        padding-right: 0 !important;
    }
}

/* Empty State Styling */
.tf-cart-empty-state {
    padding: 120px 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.empty-cart-icon {
    width: 64px;
    height: 64px;
    color: rgba(255, 255, 255, 0.1);
    margin: 0 auto 32px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-return-shop {
    margin-top: 40px;
    padding: 16px 40px;
    background: #fff;
    color: #000;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: var(--tf-radius-md);
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-return-shop:hover {
    background: var(--tf-brand-primary);
}

/* ==========================================================================
   TRUTHFORGE PREMIUM CART REDESIGN - OVERRIDES & ENHANCEMENTS
   ========================================================================== */

/* 1. Dynamic Free Shipping Progress Bar */
.tf-cart-status-bar-wrapper {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto 35px auto;
    background: #0A0A0A;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 24px 30px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
}

.tf-cart-status-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.tf-cart-status-info .status-text {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.65);
    text-align: left;
}

.tf-cart-status-info .status-text.success {
    color: #22c55e;
    font-weight: 950;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tf-cart-status-info .status-text .highlight-purple {
    color: var(--tf-static-accent, #9333ea);
    font-weight: 950;
}

.tf-cart-status-info .status-percent {
    font-family: 'Oswald', sans-serif;
    font-weight: 950;
    font-size: 14px;
    color: var(--tf-static-accent, #9333ea);
    letter-spacing: 0.05em;
}

.unlocked .status-percent {
    color: #22c55e;
}

.tf-cart-progress-track {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 3px;
    overflow: hidden;
    position: relative;
}

.tf-cart-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #9333ea, #a855f7);
    border-radius: 3px;
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.unlocked .tf-cart-progress-fill {
    background: linear-gradient(90deg, #22c55e, #4ade80);
}

.status-subtext {
    font-size: 10px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 10px;
    text-align: left;
}

/* 2. Cart Item Rows Custom Styling */
.tf-cart-item-row {
    padding: 35px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    transition: background-color 0.25s ease !important;
}

.tf-cart-item-row:hover {
    background-color: rgba(255, 255, 255, 0.01) !important;
}

.item-img-wrapper {
    width: 120px !important;
    height: 120px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
}

.item-info {
    gap: 6px !important;
}

.item-category {
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.15em !important;
    color: var(--tf-static-accent, #9333ea) !important;
}

.item-title {
    font-size: 18px !important;
    font-weight: 950 !important;
    font-style: italic !important;
    letter-spacing: 0.03em !important;
    line-height: 1.2 !important;
}

.item-title a {
    color: #fff !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.item-title a:hover {
    color: #a855f7 !important;
}

.item-meta {
    margin-top: 4px !important;
    font-size: 10px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    letter-spacing: 0.05em !important;
}

/* Quantity Pill selectors overrides */
.tf-qty-selector.modern-pill {
    height: 40px !important;
    width: 120px !important;
    background: #0A0A0A !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
    transition: border-color 0.25s ease;
    padding: 2px !important;
}

.tf-qty-selector.modern-pill:hover {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.qty-btn {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
}

.qty-btn:hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
}

.qty-input {
    font-size: 13px !important;
    width: 36px !important;
    max-width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
}

.total-amount {
    font-size: 22px !important;
    font-weight: 950 !important;
    color: #fff !important;
}

.item-price-each {
    font-size: 10px !important;
    color: rgba(255, 255, 255, 0.3) !important;
}

.item-remove-trigger-minimal {
    width: 32px !important;
    height: 32px !important;
    color: rgba(255, 255, 255, 0.3) !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    transition: all 0.25s ease !important;
}

.item-remove-trigger-minimal:hover {
    color: #fff !important;
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    transform: rotate(15deg) scale(1.05) !important;
}

/* 3. Order Summary Sidebar Card Overrides */
.tf-summary-card {
    background: rgba(14, 14, 14, 0.65) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.04) !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6) !important;
    box-sizing: border-box !important;
}

.tf-summary-header {
    font-size: 16px !important;
    margin: 0 0 25px 0 !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    letter-spacing: 0.12em !important;
}

.tf-sidebar-coupon {
    margin-bottom: 25px !important;
    padding-bottom: 25px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

.tf-coupon-flex input {
    background: #090909 !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 8px !important;
    height: 48px !important;
    font-family: 'Inter', sans-serif !important;
    transition: border-color 0.2s ease !important;
    color: #fff !important;
}

.tf-coupon-flex input:focus {
    border-color: var(--tf-static-accent, #9333ea) !important;
    box-shadow: 0 0 0 2px rgba(147, 51, 234, 0.15) !important;
}

.tf-coupon-flex .tf-apply-btn {
    height: 48px !important;
    border-radius: 8px !important;
    font-weight: 950 !important;
    font-size: 12px !important;
    background: #fff !important;
    color: #000 !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

.tf-coupon-flex .tf-apply-btn:hover {
    background: #f3f4f6 !important;
    color: #000 !important;
}

.tf-totals-row {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    margin-bottom: 15px !important;
    letter-spacing: 0.08em !important;
}

.tf-totals-row .value {
    color: #fff !important;
}

.tf-totals-row.order-total {
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding-top: 24px !important;
    margin-top: 24px !important;
    margin-bottom: 0 !important;
}

.tf-totals-row.order-total .label {
    font-size: 16px !important;
    letter-spacing: 0.1em !important;
}

.tf-totals-row.order-total .value {
    font-size: 26px !important;
    color: #fff !important;
}

/* Proceed to Checkout Solid White CTA Button */
html body.woocommerce-cart .tf-cart-overhaul-root .tf-cart-summary-column .wc-proceed-to-checkout a.checkout-button,
html body.woocommerce-cart .tf-cart-overhaul-root .checkout-button,
html body.woocommerce-cart .tf-cart-overhaul-root .tf-cart-summary-column .checkout-button,
html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    height: 52px !important;
    background: #ffffff !important;
    color: #000000 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.05) !important;
    margin-top: 20px !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
html body.woocommerce-cart .tf-cart-overhaul-root .checkout-button:hover {
    background: #f3f4f6 !important;
    color: #000000 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(255, 255, 255, 0.1) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button::after {
    font-size: 16px !important;
    margin-left: 8px !important;
}

/* WhatsApp Ghost Button */
html body.woocommerce-cart .tf-cart-overhaul-root .whatsapp-checkout-btn,
html body.woocommerce-cart .tf-cart-overhaul-root .cart_totals .whatsapp-checkout-btn {
    height: 52px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    border: 1px solid rgba(37, 211, 102, 0.4) !important;
    color: #25D366 !important;
    transition: all 0.25s ease !important;
    margin: 10px 0 20px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.woocommerce-cart .tf-cart-overhaul-root .whatsapp-checkout-btn:hover {
    background: rgba(37, 211, 102, 0.05) !important;
    border-color: #25D366 !important;
    transform: translateY(-1px) !important;
}

/* Trust Grid Overrides */
.tf-trust-grid {
    gap: 10px !important;
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.04) !important;
}

.trust-grid-item {
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.01) !important;
    border: 1px solid rgba(255, 255, 255, 0.03) !important;
    padding: 12px 10px !important;
    transition: all 0.25s ease !important;
}

.trust-grid-item:hover {
    background: rgba(255, 255, 255, 0.03) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

.trust-grid-item svg {
    width: 16px !important;
    height: 16px !important;
    color: var(--tf-static-accent, #9333ea) !important;
    opacity: 0.9 !important;
}

.trust-grid-item .trust-label {
    font-size: 8px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-weight: 900 !important;
    letter-spacing: 0.1em !important;
}

/* Accepted Payments badge overrides */
.tf-accepted-payments {
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.04) !important;
}

.tf-accepted-payments .label {
    font-size: 8px !important;
    color: rgba(255, 255, 255, 0.3) !important;
    margin-bottom: 12px !important;
    letter-spacing: 0.15em !important;
    font-weight: 900 !important;
}

.payment-badges {
    gap: 6px !important;
}

.payment-badges .badge {
    padding: 8px 6px !important;
    font-size: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: rgba(255, 255, 255, 0.01) !important;
    border-radius: 6px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-weight: 900 !important;
    letter-spacing: 0.05em !important;
    transition: all 0.25s ease !important;
}

.payment-badges .badge:hover {
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.02) !important;
}

/* 4. Empty Cart Page Redesign Overrides */
.empty-cart-container {
    padding: 100px 24px !important;
    max-width: 1200px;
    margin: 0 auto !important;
    box-sizing: border-box;
}

.empty-cart-hero {
    max-width: 500px !important;
    margin: 0 auto !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.empty-cart-icon {
    color: var(--tf-static-accent, #9333ea) !important;
    background: rgba(147, 51, 234, 0.05) !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(147, 51, 234, 0.1) !important;
    margin-bottom: 25px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.empty-cart-icon svg {
    color: var(--tf-static-accent, #9333ea) !important;
}

.empty-cart-title {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 950 !important;
    font-style: italic !important;
    font-size: 28px !important;
    color: #fff !important;
    letter-spacing: 0.05em !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.2 !important;
}

.empty-cart-tagline {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    margin: 0 0 30px 0 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.5 !important;
}

.tf-empty-cart-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 35px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 950 !important;
    font-style: italic !important;
    font-size: 13px !important;
    background: #ffffff !important;
    color: #000000 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.05) !important;
    letter-spacing: 0.05em !important;
}

.tf-empty-cart-cta:hover {
    background: #f3f4f6 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(255, 255, 255, 0.1) !important;
}

/* 5. Responsive Mobile Grid Overrides */
@media (max-width: 768px) {
    .tf-cart-status-bar-wrapper {
        padding: 20px 15px !important;
        margin-bottom: 25px !important;
    }
    
    .tf-cart-item-row {
        padding: 25px 0 !important;
    }
    
    .item-img-wrapper {
        width: 100px !important;
        height: 100px !important;
    }
    
    .item-title {
        font-size: 15px !important;
    }
    
    .total-amount {
        font-size: 18px !important;
    }
    
    .qty-btn {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
    }
    
    .tf-qty-selector.modern-pill {
        height: 36px !important;
        width: 100px !important;
        padding: 2px !important;
    }
    
    .tf-totals-row.order-total .value {
        font-size: 22px !important;
    }
}

