/* --- CSS PANIER ARTIFACT (Custom Page) --- */

@keyframes fadeSlideIn {
    from { opacity: 0; transform: translateX(-20px); }
    to { opacity: 1; transform: translateX(0); }
}

.artifact-cart-page-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

/* 1. LAYOUT 2 COLONNES */
.artifact-cart-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
}

.cart-products-column {
    flex: 2; /* 66% largeur */
    min-width: 320px;
}

.cart-totals-column {
    flex: 1; /* 33% largeur */
    min-width: 300px;
}

/* 2. STYLE DES CARTES PRODUITS */
.cart-title {
    font-size: 24px;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

.cart-item-card {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    position: relative;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    animation: fadeSlideIn 0.5s ease-out both;
}

.cart-item-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08);
    border-color: #b8860b;
}

/* Image */
.cart-item-card .product-thumbnail img {
    width: 90px;
    height: 90px;
    object-fit: cover;
    border-radius: 8px;
    margin-right: 20px;
}

/* Texte */
.cart-item-card .product-details {
    flex-grow: 1;
}

.cart-item-card .product-name a {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    text-decoration: none;
    text-transform: uppercase;
}

.cart-item-card .product-price {
    color: #b8860b; /* Or */
    font-weight: 700;
    margin-top: 5px;
}

/* Input Quantité */
.cart-item-card .product-quantity input {
    width: 60px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px;
}

/* Bouton Supprimer (Croix Rouge) */
.cart-item-card .product-remove .remove {
    position: absolute;
    top: 15px;
    right: 15px;
    color: #d32f2f !important;
    font-size: 24px;
    text-decoration: none;
    line-height: 1;
}

/* 3. STYLE DE LA COLONNE TOTAUX (Droite) */
.cart-totals-box {
    background: #f9f9f9;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid #eee;
    position: sticky; /* Le résumé suit le scroll */
    top: 20px;
}

.totals-title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
}

/* Tableaux WooCommerce nettoyés */
.cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.cart_totals th, .cart_totals td {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.cart_totals th { font-weight: normal; color: #666; text-align: left; }
.cart_totals td { font-weight: bold; text-align: right; }

.cart_totals .order-total th, 
.cart_totals .order-total td {
    font-size: 20px;
    color: #000;
    border-top: 2px solid #ddd;
    border-bottom: none;
    padding-top: 20px;
}

/* Bouton Commander (Noir et Arrondi) */
.wc-proceed-to-checkout a.checkout-button {
    background-color: #000 !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 15px !important;
    display: block !important;
    width: 100%;
    text-align: center;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 20px;
    text-decoration: none;
    transition: background 0.3s;
}

.wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #b8860b !important; /* Or au survol */
}

/* 4. LOGOS DE PAIEMENT */
.cart-trust-badges {
    margin-top: 30px;
    text-align: center;
    border-top: 1px dashed #ccc;
    padding-top: 20px;
}
.secure-text {
    font-size: 12px;
    color: #666;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.cart-trust-badges img {
height: auto !important;}

/* 5. Message Panier Vide */
.cart-empty-message {
    text-align: center;
    padding: 100px 20px;
}
.cart-empty-message a.button {
    background: #bd3e3e;
    color: #fff;
    padding: 15px 30px;
    border-radius: 50px;
    text-decoration: none;
    margin-top: 20px;
    display: inline-block;
}

/* 6. Mobile */
@media (max-width: 768px) {
    .artifact-cart-wrapper {
        flex-direction: column;
    }
    .cart-products-column, .cart-totals-column {
        width: 100%;
    }
}