/**
 * Cart Full Width Layout - DLM Conseil E-Formation
 * Ensures WooCommerce standard cart page uses full width with centered content
 * Version: 2.0 - WooCommerce Standard Structure
 */

/* ==========================================================================
   FULL WIDTH WOOCOMMERCE CART OVERRIDE
   ========================================================================== */

/* Remove width constraints from WooCommerce cart container */
body.woocommerce-cart .woocommerce-cart .container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 20px !important;
}

/* Ensure woocommerce-cart wrapper uses full width */
.woocommerce-cart {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Make all cart content full width */
.woocommerce-cart .woocommerce,
.woocommerce-cart .woocommerce-notices-wrapper {
    width: 100% !important;
    max-width: none !important;
}

/* ==========================================================================
   CART CONTENT CENTERING (ONLY CART CONTENT, NOT HEADER/FOOTER)
   ========================================================================== */

/* Center all WooCommerce cart content */
body.woocommerce-cart .woocommerce {
    text-align: center !important;
}

/* Center cart form */
.woocommerce-cart-form {
    text-align: center !important;
    width: 100% !important;
    max-width: none !important;
}

/* Center cart table */
.woocommerce table.cart {
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
}

/* Center table headers and cells */
.woocommerce table.cart th,
.woocommerce table.cart td {
    text-align: center !important;
    padding: 15px 10px !important;
}

/* Optimize table columns for full width */
.woocommerce table.cart .product-thumbnail {
    width: 80px !important;
}

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

.woocommerce table.cart .product-price {
    width: 100px !important;
}

.woocommerce table.cart .product-quantity {
    width: 120px !important;
}

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

.woocommerce table.cart .product-remove {
    width: 50px !important;
}

/* Center cart actions (coupon and update buttons) */
.woocommerce .cart .actions {
    text-align: center !important;
    width: 100% !important;
}

.woocommerce .coupon {
    text-align: center !important;
    margin: 20px auto !important;
}

/* Center cart collaterals (totals and cross-sells) */
.cart-collaterals {
    width: 100% !important;
    text-align: center !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    margin: 30px auto !important;
}

/* Center cart totals */
.woocommerce .cart-collaterals .cart_totals {
    text-align: center !important;
    width: 100% !important;
}

.woocommerce .cart-collaterals .cart_totals h2 {
    text-align: center !important;
}

.woocommerce .cart-collaterals .cart_totals table {
    margin: 0 auto !important;
}

/* Center cross-sells */
.woocommerce .cart-collaterals .cross-sells {
    text-align: center !important;
    width: 100% !important;
}

.woocommerce .cart-collaterals .cross-sells h2 {
    text-align: center !important;
}

/* Center proceed to checkout button */
.woocommerce .wc-proceed-to-checkout {
    text-align: center !important;
    width: 100% !important;
}

.woocommerce .wc-proceed-to-checkout .checkout-button {
    display: inline-block !important;
    margin: 20px auto !important;
}

/* Center empty cart message */
.woocommerce .cart-empty,
.woocommerce .return-to-shop {
    text-align: center !important;
    width: 100% !important;
    margin: 40px auto !important;
}

/* Center WooCommerce notices */
.woocommerce-notices-wrapper {
    text-align: center !important;
    width: 100% !important;
}

/* ==========================================================================
   HEADER AND FOOTER NORMAL LAYOUT (UNCHANGED)
   ========================================================================== */

/* Header maintains normal flexbox layout */
body.woocommerce-cart .site-header {
    text-align: left !important; /* Override cart centering for header */
}

body.woocommerce-cart .header-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left !important;
}

/* Top bar maintains left-right layout */
body.woocommerce-cart .top-bar-content {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
}

/* Navigation maintains normal layout */
body.woocommerce-cart .main-navigation {
    text-align: left !important;
}

/* Header actions maintain right alignment */
body.woocommerce-cart .header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
}

/* Footer maintains normal layout */
body.woocommerce-cart .site-footer {
    text-align: left !important; /* Override cart centering for footer */
}

/* Footer maintains grid layout */
body.woocommerce-cart .footer-main .row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
    align-items: start !important;
    text-align: left !important;
}

/* Footer sections maintain normal text alignment */
body.woocommerce-cart .footer-section,
body.woocommerce-cart .footer-section h3,
body.woocommerce-cart .footer-section p,
body.woocommerce-cart .footer-section ul,
body.woocommerce-cart .footer-section li {
    text-align: left !important;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */

@media screen and (max-width: 1024px) {
    /* Tablet adjustments */
    .cart-collaterals {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    body.woocommerce-cart .footer-main .row {
        grid-template-columns: 1fr !important;
    }
}

@media screen and (max-width: 768px) {
    /* Mobile adjustments */
    body.woocommerce-cart .woocommerce-cart .container {
        padding: 0 15px !important;
    }

    .woocommerce table.cart th,
    .woocommerce table.cart td {
        padding: 10px 5px !important;
        font-size: 14px !important;
    }

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

    .woocommerce table.cart .product-price,
    .woocommerce table.cart .product-subtotal {
        width: 80px !important;
    }

    .woocommerce table.cart .product-quantity {
        width: 80px !important;
    }

    /* Mobile header adjustments */
    body.woocommerce-cart .top-bar-content {
        flex-direction: column !important;
        gap: 0.5rem !important;
        text-align: center !important;
    }

    body.woocommerce-cart .header-content {
        flex-wrap: wrap !important;
        gap: 1rem !important;
    }

    /* Mobile footer adjustments */
    body.woocommerce-cart .footer-main .row {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
        text-align: left !important;
    }
}

/* ==========================================================================
   BREADCRUMB AND NOTICES STYLING
   ========================================================================== */

/* Center breadcrumbs on cart page */
.woocommerce-cart .woocommerce-breadcrumb {
    text-align: center !important;
    margin: 20px auto !important;
    padding: 0 20px !important;
}

/* Center messages and notices */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info {
    text-align: center !important;
    margin: 20px auto !important;
}
