/**
 * File: frontend-cart-page.css
 * Purpose: Complete Elite Marketplace Style - 1500px Master Breakout.
 * Status: Phase 5.0 Final - Summary Fixed at 380px & Perfect Width Balance.
 */

/* 1. NUCLEAR THEME BREAKOUT - Targets Astra and standard themes */
body.daf-cart-page-active #page,
body.daf-cart-page-active #content,
body.daf-cart-page-active .site-content,
body.daf-cart-page-active .ast-container,
body.daf-cart-page-active .container,
body.daf-cart-page-active #primary,
body.daf-cart-page-active main,
body.daf-cart-page-active article,
body.daf-cart-page-active .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: transparent !important;
    display: block !important;
}

body.daf-cart-page-active { 
    background-color: #f8f9fa !important; 
}

/* 2. MASTER PAGE WRAPPER */
.daf-cart-page-wrapper {
    width: 100% !important;
    padding: 40px 0 100px 0 !important;
}

/* 3. THE 1500px ELITE CONTAINER */
.daf-cart-container-inner {
    max-width: 1500px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
}

/* 4. PAGE HEADER */
.daf-cart-header-elite {
    margin-bottom: 35px !important;
    border-bottom: 1px solid #eaebed !important;
    padding-bottom: 20px !important;
}
.daf-cart-main-title { 
    font-size: 34px !important; 
    font-weight: 950 !important; 
    color: #0f172a !important; 
    margin: 0 !important; 
    letter-spacing: -1px !important; 
}
.daf-cart-count-label { 
    font-size: 14px !important; 
    color: #64748b !important; 
    font-weight: 600 !important; 
    margin-top: 4px !important; 
}

/* 5. BALANCED GRID - Sidebar locked at 380px */
.daf-cart-layout-grid {
    display: grid !important;
    grid-template-columns: 1fr 380px !important; 
    gap: 40px !important;
    align-items: start !important;
}

/* 6. LEFT COLUMN: CART ITEMS */
.daf-cart-items-box {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
}

.daf-cart-row-item {
    display: flex !important;
    align-items: center !important;
    padding: 15px 30px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    gap: 25px !important;
    transition: background 0.2s ease !important;
    background: #ffffff !important;
}
.daf-cart-row-item:last-child { border-bottom: none !important; }

/* Extended License Highlight */
.daf-cart-row-item.daf-row-premium-elite {
    background-color: #f1f7ff !important;
    border-left: 6px solid #2271b1 !important;
}

/* Thumbnail */
.daf-row-thumb img { 
    width: 75px !important; 
    height: 75px !important; 
    border-radius: 8px !important; 
    object-fit: cover !important; 
    border: 1px solid #e2e8f0 !important; 
}

/* Details */
.daf-row-details { 
    flex: 1 !important; 
    display: flex !important; 
    flex-direction: column !important; 
    gap: 4px !important; 
}
.daf-row-item-title { 
    font-size: 17px !important; 
    font-weight: 800 !important; 
    color: #1e293b !important; 
    text-decoration: none !important; 
    line-height: 1.4 !important; 
}
.daf-row-item-title:hover { color: #2271b1 !important; }

.daf-row-meta-tags { 
    display: flex !important; 
    gap: 10px !important; 
    margin-bottom: 5px !important; 
}
.tag-license { 
    font-size: 10px !important; 
    font-weight: 800 !important; 
    background: #ffffff !important; 
    border: 1px solid #cbd5e1 !important; 
    color: #475569 !important; 
    padding: 2px 8px !important; 
    border-radius: 4px !important; 
    text-transform: uppercase !important; 
}
.tag-id { 
    font-size: 11px !important; 
    color: #94a3b8 !important; 
    font-weight: 600 !important; 
}

/* Support Toggle (Elite Custom Checkbox) */
.daf-cart-support-option { margin-top: 8px !important; }
.daf-check-container { 
    display: flex !important; 
    align-items: center !important; 
    position: relative !important; 
    cursor: pointer !important; 
    font-size: 13px !important; 
    font-weight: 600 !important; 
    color: #64748b !important; 
    padding-left: 28px !important; 
}
.daf-check-container input { position: absolute !important; opacity: 0 !important; cursor: pointer !important; }
.daf-checkmark { 
    position: absolute !important; 
    top: 1px; left: 0; height: 18px; width: 18px; 
    background-color: #fff !important; 
    border: 2px solid #cbd5e1 !important; 
    border-radius: 4px !important; 
}
.daf-check-container:hover input ~ .daf-checkmark { border-color: #2271b1 !important; }
.daf-check-container input:checked ~ .daf-checkmark { background-color: #2271b1 !important; border-color: #2271b1 !important; }
.daf-checkmark:after { 
    content: "" !important; 
    position: absolute !important; 
    display: none !important; 
    left: 5px !important; top: 2px !important; width: 4px !important; height: 8px !important; 
    border: solid white !important; border-width: 0 2px 2px 0 !important; transform: rotate(45deg) !important; 
}
.daf-check-container input:checked ~ .daf-checkmark:after { display: block !important; }

/* 7. QUANTITY ADJUSTER & PRICING */
.daf-row-actions { 
    display: flex !important; 
    align-items: center !important; 
    gap: 35px !important; 
}

.daf-qty-adjuster { 
    display: flex !important; 
    border: 1.5px solid #cbd5e1 !important; 
    border-radius: 6px !important; 
    height: 34px !important; 
    background: #fff !important; 
    overflow: hidden !important; 
}
.qty-btn { 
    width: 32px !important; 
    border: none !important; 
    background: transparent !important; 
    cursor: pointer !important; 
    font-size: 18px !important; 
    font-weight: 800 !important; 
    color: #64748b !important; 
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
}
.qty-btn:hover { background: #f8fafc !important; color: #000 !important; }

/* Fix for quantity box invisibility (Black Text) */
.daf-cart-qty-input { 
    width: 35px !important; 
    border: none !important; 
    text-align: center !important; 
    font-weight: 900 !important; 
    font-size: 14px !important; 
    color: #000000 !important; /* Forces numbers to be visible */
    background: transparent !important; 
}

.daf-row-subtotal { 
    min-width: 110px !important; 
    text-align: right !important; 
}
.price-each { 
    display: block !important; 
    font-size: 11px !important; 
    color: #94a3b8 !important; 
    font-weight: 700 !important; 
}
.price-total { 
    font-size: 20px !important; 
    font-weight: 950 !important; 
    color: #0f172a !important; 
}

/* Remove Button */
.daf-item-remove-trigger { 
    color: #94a3b8 !important; 
    cursor: pointer !important; 
    background: none !important; 
    border: none !important; 
    padding: 5px !important; 
    transition: all 0.2s !important; 
}
.daf-item-remove-trigger:hover { color: #ef4444 !important; transform: scale(1.2) !important; }

/* 8. RIGHT COLUMN: ORDER SUMMARY SIDEBAR */
.daf-order-summary-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important;
    position: sticky !important;
    top: 40px !important;
}

.daf-summary-title { 
    font-size: 22px !important; 
    font-weight: 900 !important; 
    margin-bottom: 25px !important; 
    color: #0f172a !important; 
    border-bottom: 1px solid #f1f5f9 !important; 
    padding-bottom: 15px !important; 
}

.daf-summary-rows { 
    display: flex !important; 
    flex-direction: column !important; 
    gap: 15px !important; 
    margin-bottom: 25px !important; 
}
.daf-s-row { 
    display: flex !important; 
    justify-content: space-between !important; 
    font-size: 15px !important; 
    color: #64748b !important; 
    font-weight: 600 !important; 
}
.daf-s-row span:last-child { color: #1e293b !important; font-weight: 800 !important; }

/* Sidebar Coupon Box */
.daf-summary-coupon-box { 
    margin-bottom: 30px !important; 
    padding: 20px !important; 
    background: #f8fafc !important; 
    border-radius: 12px !important; 
    border: 1.5px dashed #cbd5e1 !important; 
}
.daf-coupon-input-group { display: flex !important; gap: 10px !important; }
#daf-coupon-code { 
    flex: 1 !important; 
    padding: 12px !important; 
    border: 1.5px solid #e2e8f0 !important; 
    border-radius: 8px !important; 
    font-size: 13px !important; 
}
.daf-btn-apply-coupon { 
    background: #0f172a !important; 
    color: #fff !important; 
    padding: 0 20px !important; 
    border-radius: 8px !important; 
    font-weight: 800 !important; 
    border: none !important; 
    cursor: pointer !important; 
}

/* Final Totals */
.daf-summary-total-area { 
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
    border-top: 2px solid #f1f5f9 !important; 
    padding-top: 25px !important; 
    margin-bottom: 35px !important; 
}
.daf-total-label { 
    font-size: 16px !important; 
    font-weight: 800 !important; 
    color: #0f172a !important; 
}
.daf-grand-total-val { 
    font-size: 32px !important; 
    font-weight: 1000 !important; 
    color: #000 !important; 
    letter-spacing: -1px !important; 
}

/* Action Buttons */
.daf-btn-proceed-checkout { 
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    background: #82b440 !important; 
    color: #fff !important; 
    height: 56px !important; 
    width: 100% !important; 
    border-radius: 12px !important; 
    font-size: 16px !important; 
    font-weight: 900 !important; 
    text-decoration: none !important; 
    text-transform: uppercase !important; 
    transition: all 0.3s !important; 
    box-shadow: 0 10px 20px rgba(130, 180, 64, 0.15) !important; 
}
.daf-btn-proceed-checkout:hover { 
    background: #719e37 !important; 
    transform: translateY(-3px) !important; 
    box-shadow: 0 15px 30px rgba(130, 180, 64, 0.25) !important; 
}

/* Footer Links */
.daf-cart-footer-links { margin-top: 25px !important; }
.daf-link-continue-shopping { 
    text-decoration: none !important; 
    font-size: 14px !important; 
    font-weight: 800 !important; 
    color: #2271b1 !important; 
    transition: color 0.2s !important; 
}
.daf-link-continue-shopping:hover { color: #0f172a !important; }

/* 9. RESPONSIVE DESIGN */
@media (max-width: 1150px) {
    .daf-cart-layout-grid { grid-template-columns: 1fr !important; }
    .daf-order-summary-card { position: static !important; width: 100% !important; box-sizing: border-box !important; }
    .daf-cart-container-inner { padding: 0 20px !important; }
}

/* FORCE VISIBILITY FOR QUANTITY NUMBER */
input.daf-cart-qty-input {
    color: #000000 !important; /* Force Black Text */
    background-color: #ffffff !important;
    opacity: 1 !important;
    display: block !important;
    visibility: visible !important;
    height: 34px !important;
    line-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border: none !important;
    box-shadow: none !important;
    width: 40px !important;
}

/* Remove default browser arrows */
input.daf-cart-qty-input::-webkit-outer-spin-button,
input.daf-cart-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input.daf-cart-qty-input[type=number] {
    -moz-appearance: textfield;
}