/**
 * Custom WooCommerce Cart Styles for WowPlatter
 * Eliminates "Geocities" look and implements premium glassmorphism aesthetic.
 */

/* Import header styles */
@import url('header.css');
@import url('woo-header-override.css');

/* Container & Background */
.woocommerce-cart .woocommerce {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.4);
    margin: 40px auto;
    max-width: 1200px;
}

/* Table Styling */
.woocommerce-cart table.cart {
    border-radius: 12px;
    overflow: hidden;
    border: none;
    margin-bottom: 40px;
}

.woocommerce-cart table.cart thead th {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    color: white;
    padding: 15px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    border: none;
}

.woocommerce-cart table.cart td {
    padding: 20px 15px;
    border-bottom: 1px solid #f0f0f0;
    background: white;
}

.woocommerce-cart table.cart tr:last-child td {
    border-bottom: none;
}

/* Product Thumbnail */
.woocommerce-cart table.cart img {
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    width: 60px !important;
}

.woocommerce-cart table.cart tr:hover img {
    transform: scale(1.05);
}

/* Quantity Input */
.woocommerce-cart .quantity input.qty {
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    padding: 8px;
    font-weight: 600;
    color: #333;
}

/* Buttons */
.woocommerce-cart .button,
.woocommerce-cart input.button {
    background: linear-gradient(45deg, #667eea, #764ba2) !important;
    border: none !important;
    border-radius: 25px !important;
    color: white !important;
    padding: 12px 30px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3) !important;
}

.woocommerce-cart .button:hover,
.woocommerce-cart input.button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4) !important;
    background: linear-gradient(45deg, #5a6fd6, #6b4492) !important;
}

/* Coupon section */
.woocommerce-cart .coupon {
    display: flex;
    gap: 10px;
}

.woocommerce-cart .coupon input#coupon_code {
    border: 2px solid #e1e5e9 !important;
    border-radius: 25px !important;
    padding: 8px 20px !important;
    width: 150px !important;
}

/* Cart Totals */
.cart_totals {
    background: rgba(248, 249, 250, 0.5);
    padding: 30px;
    border-radius: 15px;
    border: 1px solid #e1e5e9;
}

.cart_totals h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    background: linear-gradient(45deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cart_totals table {
    width: 100%;
    margin-bottom: 20px;
}

.cart_totals th {
    text-align: left;
    padding: 10px 0;
    color: #666;
    font-weight: 500;
}

.cart_totals td {
    text-align: right;
    padding: 10px 0;
    font-weight: 600;
    color: #333;
}

.cart_totals .order-total td {
    font-size: 1.25rem;
    color: #667eea;
}

/* Checkout Button */
.checkout-button {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    font-size: 1.1rem !important;
    margin-top: 20px !important;
}

/* =========================================
   MOBILE RESPONSIVE OVERRIDES
   ========================================= */
@media (max-width: 768px) {

    /* Container adjustments */
    .woocommerce-cart .woocommerce {
        padding: 15px !important;
        margin: 10px !important;
        border-radius: 10px !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Force all content to fit viewport */
    .woocommerce-cart .page-content,
    .woocommerce-cart main,
    .woocommerce-cart .site-main {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* Make table horizontally scrollable */
    .woocommerce-cart table.cart {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-cart table.cart tbody,
    .woocommerce-cart table.cart thead,
    .woocommerce-cart table.cart tr {
        display: block !important;
        width: 100% !important;
    }

    .woocommerce-cart table.cart thead {
        display: none !important;
    }

    .woocommerce-cart table.cart td {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        padding: 8px 0 !important;
        border: none !important;
    }

    .woocommerce-cart table.cart td::before {
        content: attr(data-title) ": " !important;
        font-weight: bold !important;
        display: inline-block !important;
        margin-right: 8px !important;
    }

    .woocommerce-cart table.cart td.product-remove::before,
    .woocommerce-cart table.cart td.product-thumbnail::before {
        display: none !important;
    }

    /* Coupon section - CRITICAL FIX */
    .woocommerce-cart .coupon {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 10px 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .coupon input#coupon_code {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px 16px !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
    }

    /* ALL BUTTONS - Force to 100% width */
    .woocommerce-cart .button,
    .woocommerce-cart input.button,
    .woocommerce-cart button.button,
    .woocommerce-cart .coupon .button,
    .woocommerce-cart .actions .button,
    .woocommerce-cart button[name="apply_coupon"],
    .woocommerce-cart button[name="update_cart"] {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        border-radius: 8px !important;
        margin: 0 0 8px 0 !important;
        box-sizing: border-box !important;
        display: block !important;
        text-align: center !important;
    }

    .woocommerce-cart .actions {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        padding: 10px 0 !important;
        box-sizing: border-box !important;
    }

    /* Cart totals */
    .cart_totals {
        width: 100% !important;
        max-width: 100% !important;
        padding: 15px !important;
        margin: 10px 0 !important;
        box-sizing: border-box !important;
    }

    .cart_totals table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    .cart_totals th,
    .cart_totals td {
        padding: 8px !important;
        font-size: 14px !important;
        word-wrap: break-word !important;
    }

    /* Shipping methods */
    .woocommerce-cart .woocommerce-shipping-methods {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    .woocommerce-cart .woocommerce-shipping-methods li {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 13px !important;
        word-wrap: break-word !important;
    }

    .woocommerce-cart .woocommerce-shipping-methods label {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        white-space: normal !important;
        word-wrap: break-word !important;
    }

    /* Checkout button */
    .checkout-button {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px 16px !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
    }
}