/* cart.css — Panier — MediProvital */


    /* Empty Cart */
    .empty-cart {
        text-align: center;
        padding: 80px 20px;
        background: white;
        border-radius: var(--border-radius);
        box-shadow: var(--box-shadow);
    }

    .empty-cart-icon {
        width: 120px;
        height: 120px;
        margin: 0 auto 30px;
        background: var(--color-neutral);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .empty-cart-icon i {
        width: 60px;
        height: 60px;
        color: var(--color-wood-medium);
    }

    .empty-cart h3 {
        font-size: 1.75rem;
        color: var(--color-secondary);
        margin-bottom: 15px;
    }

    .empty-cart p {
        color: var(--color-text-light);
        margin-bottom: 30px;
    }

    /* Cart Items Wrapper */
    .cart-items-wrapper {
        background: white;
        border-radius: var(--border-radius);
        box-shadow: var(--box-shadow);
        overflow: hidden;
    }

    .cart-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 25px;
        border-bottom: 2px solid var(--color-neutral);
    }

    .cart-header h5 {
        margin: 0;
        font-size: 1.25rem;
        color: var(--color-secondary);
    }

    .cart-items {
        padding: 0;
    }

    /* Cart Item */
    .cart-item {
        display: grid;
        grid-template-columns: 100px 1fr auto auto auto auto;
        gap: 20px;
        padding: 25px;
        border-bottom: 1px solid #eee;
        align-items: center;
    }

    .cart-item:last-child {
        border-bottom: none;
    }

    .cart-item-image {
        width: 100px;
        height: 100px;
        border-radius: var(--border-radius);
        overflow: hidden;
        background: var(--color-neutral);
    }

    .cart-item-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: var(--transition);
    }

    .cart-item-image:hover img {
        transform: scale(1.05);
    }

    .cart-item-details {
        flex: 1;
    }

    .cart-item-title {
        font-size: 1.1rem;
        margin-bottom: 8px;
    }

    .cart-item-title a {
        color: var(--color-secondary);
        transition: var(--transition);
    }

    .cart-item-title a:hover {
        color: var(--color-primary);
    }

    .cart-item-meta {
        font-size: 14px;
        color: var(--color-text-light);
    }

    .item-category {
        padding: 4px 12px;
        background: var(--color-neutral);
        border-radius: 12px;
        font-size: 13px;
        color: var(--color-wood-medium);
    }

    /* Quantity Input */
    .cart-item-quantity label {
        display: block;
        font-size: 13px;
        color: var(--color-text-light);
        margin-bottom: 8px;
    }

    .quantity-input {
        display: flex;
        align-items: center;
        gap: 5px;
        background: var(--color-neutral);
        border-radius: 8px;
        padding: 5px;
    }

    .qty-btn {
        width: 32px;
        height: 32px;
        background: white;
        border: none;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: var(--transition);
    }

    .qty-btn:hover {
        background: var(--color-primary);
        color: white;
    }

    .qty-btn i {
        width: 16px;
        height: 16px;
    }

    .quantity-input input {
        width: 50px;
        height: 32px;
        text-align: center;
        border: none;
        background: white;
        border-radius: 6px;
        font-weight: 600;
    }

    /* Price */
    .cart-item-price,
    .cart-item-total {
        text-align: right;
        min-width: 100px;
    }

    .price-label {
        font-size: 13px;
        color: var(--color-text-light);
        margin-bottom: 5px;
    }

    .price-value {
        font-size: 1.1rem;
        font-weight: 700;
        color: var(--color-secondary);
    }

    .price-total {
        color: var(--color-primary);
    }

    /* Remove Button */
    .btn-remove {
        width: 36px;
        height: 36px;
        background: #fee;
        color: #c33;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: var(--transition);
    }

    .btn-remove:hover {
        background: #c33;
        color: white;
    }

    .btn-remove i {
        width: 18px;
        height: 18px;
    }

    .cart-footer {
        padding: 25px;
        background: var(--color-neutral);
    }

    /* Order Summary */
    .order-summary {
        background: white;
        border-radius: var(--border-radius);
        box-shadow: var(--box-shadow);
        padding: 30px;
        position: sticky;
        top: 160px;
    }

    .summary-title {
        font-size: 1.25rem;
        margin-bottom: 25px;
        color: var(--color-secondary);
    }

    .summary-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: 1px solid #eee;
    }

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

    .summary-value {
        font-weight: 600;
        color: var(--color-secondary);
    }

    .summary-free {
        color: var(--color-primary);
    }

    .summary-divider {
        height: 2px;
        background: var(--color-neutral);
        margin: 20px 0;
    }

    .summary-total {
        font-size: 1.25rem;
        font-weight: 700;
        margin: 20px 0;
    }

    .summary-total .summary-value {
        font-size: 1.5rem;
        color: var(--color-primary);
    }

    .summary-info {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 12px;
        background: var(--color-neutral);
        border-radius: 6px;
        font-size: 14px;
        color: var(--color-text-light);
        margin-bottom: 20px;
    }

    .summary-info i {
        width: 16px;
        height: 16px;
    }

    .payment-methods-info {
        margin-top: 25px;
        padding-top: 25px;
        border-top: 1px solid #eee;
        text-align: center;
    }

    .payment-title {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-weight: 600;
        color: var(--color-secondary);
        margin-bottom: 12px;
        font-size: 14px;
    }

    .payment-title i {
        width: 18px;
        height: 18px;
        color: var(--color-primary);
    }

    .payment-icons {
        display: flex;
        justify-content: center;
        gap: 15px;
        color: var(--color-text-light);
    }

    .payment-icons i {
        width: 24px;
        height: 24px;
    }

    /* Responsive */
    @media (max-width: 991px) {
        .cart-item {
            grid-template-columns: 80px 1fr;
            gap: 15px;
        }

        .cart-item-quantity,
        .cart-item-price,
        .cart-item-total {
            grid-column: 1 / -1;
        }

        .cart-item-remove {
            position: absolute;
            top: 20px;
            right: 20px;
        }

        .order-summary {
            position: static;
            margin-top: 30px;
        }
    }

    @media (max-width: 576px) {
        .cart-header {
            flex-direction: column;
            gap: 15px;
            align-items: flex-start;
        }

        .cart-item {
            grid-template-columns: 1fr;
            position: relative;
            padding-right: 50px;
        }

        .cart-item-image {
            width: 100%;
            height: 200px;
        }
    }
