/* 📄 /assets/css/cart.css */

/*
   Ce fichier s'appuie sur et surcharge les styles définis dans
   /assets/css/style.css.
   Il NE DOIT PAS contenir de variables ni de styles généraux déjà définis ailleurs.
*/

/* ------------------------------------------------------------- */
/* 🛒 STYLES SPÉCIFIQUES À LA PAGE PANIER (cart.php) */
/* ------------------------------------------------------------- */

/* Conteneur principal de la page */
.cart-page.container {
    padding-top: 2rem;
    padding-bottom: 2rem;
    max-width: 1200px; /* Largeur pour un contenu riche */
}

/* Titre principal de la page */
.cart-page .page-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    text-align: center;
    color: var(--primary);
}
.cart-page .page-title .fa-solid {
    margin-right: 0.6rem;
    color: var(--primary);
}

/* Alertes générales (ex: panier vide) */
.cart-page .alert {
    border-radius: 0.5rem;
    font-weight: 500;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.cart-page .alert.alert-info {
    background-color: var(--info-bg-light);
    color: var(--info-color-light);
    border: 1px solid var(--info-border-light);
}
.cart-page .alert.alert-info .fa-solid {
    font-size: 1.5em;
    color: var(--info-color-light);
}
.cart-page .alert.alert-danger { /* Pour la sélection vide */
    background-color: var(--error-soft-background);
    color: var(--error);
    border: 1px solid var(--error);
    font-size: 0.95rem;
}
.cart-page .alert.alert-danger .fa-solid {
    color: var(--error);
}

/* Boutons "Tout cocher/décocher" */
.cart-page #toggle-selection {
    font-size: 0.9rem;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary);
    border-color: var(--primary);
    background-color: transparent;
}
.cart-page #toggle-selection:hover {
    background-color: var(--primary-hover);
    color: white;
}


/* Cartes du panier par marchand */
.cart-page .merchant-cart-card.card {
    background: var(--background-soft);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    box-shadow: var(--shadow);
    margin-bottom: 25px;
}
.cart-page .merchant-cart-card .card-header {
    background: var(--background);
    border-bottom: 1px solid var(--border-color);
    padding: 15px 25px;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}
.cart-page .merchant-cart-card .card-header .card-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--text-main);
}
.cart-page .merchant-cart-card .card-header .card-title .fa-solid {
    margin-right: 0.8rem;
    color: var(--primary);
}
.cart-page .merchant-cart-card .card-header .card-title a {
    color: var(--primary);
    text-decoration: none;
}
.cart-page .merchant-cart-card .card-header .card-title a:hover {
    text-decoration: underline;
    color: var(--secondary);
}
/* Bouton "Contacter" dans le header de la carte marchand */
.cart-page .merchant-cart-card .card-header .btn.btn-sm.btn-outline-info {
    color: var(--info);
    border-color: var(--info);
    background-color: transparent;
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.cart-page .merchant-cart-card .card-header .btn.btn-sm.btn-outline-info:hover {
    background-color: var(--info);
    color: white;
}
.cart-page .merchant-cart-card .card-body {
    padding: 25px;
}

/* Choix du mode de livraison */
.cart-page .delivery-type-options strong {
    font-size: 0.95rem;
    color: var(--text-main);
}
.cart-page .delivery-type-options .form-check-label {
    font-size: 0.95rem;
    color: var(--text-main);
}
.cart-page .wilaya-select-container .form-label {
    font-size: 0.95rem;
    color: var(--text-main);
}
.cart-page .wilaya-select-container .form-select {
    border-radius: 10px;
    border-color: var(--border-color);
    background-color: var(--background);
    color: var(--text-main);
}
.cart-page .wilaya-select-container .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(0, 191, 255, 0.3);
}
.cart-page .wilaya-select-container small.text-muted {
    font-size: 0.85rem;
    color: var(--text-muted) !important;
}

/* Liste des articles du panier */
.cart-page .list-group-flush {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cart-page .cart-item-row.list-group-item {
    background-color: transparent;
    border-bottom: 1px solid var(--border-color);
    padding: 15px 0; /* Padding vertical, row g-0 gère horizontal */
    display: flex;
    align-items: center;
}
.cart-page .cart-item-row.list-group-item:first-child {
    padding-top: 0;
}
.cart-page .cart-item-row.list-group-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.cart-page .cart-item-row.list-group-item:hover {
    background-color: var(--background);
}
.cart-page .cart-item-row .form-check-input { /* Checkbox de sélection d'article */
    width: 1.25em;
    height: 1.25em;
    flex-shrink: 0;
}
.cart-page .cart-item-row .img-fluid { /* Image du produit */
    max-height: 80px;
    width: auto;
    object-fit: cover;
    border-radius: 8px;
}
.cart-page .cart-item-row .product-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-main);
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Limite à 2 lignes */
    -webkit-box-orient: vertical;
}
.cart-page .cart-item-row .product-options {
    font-size: 0.85rem;
    color: var(--text-muted);
}
.cart-page .cart-item-row .product-options li {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 2px;
}
.cart-page .cart-item-row .product-options li .fa-solid {
    color: var(--text-muted);
}
.cart-page .cart-item-row .product-options li strong {
    color: var(--text-main);
}
/* Statut de stock */
.cart-page .cart-item-row .product-stock-status {
    font-size: 0.8rem;
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.cart-page .cart-item-row .product-stock-status .fa-solid {
    font-size: 0.9em;
}
.cart-page .cart-item-row .product-stock-status .text-danger { color: var(--error) !important; }
.cart-page .cart-item-row .product-stock-status .text-warning { color: var(--accent) !important; }
.cart-page .cart-item-row .product-stock-status .text-success { color: var(--success) !important; }

/* Contrôle de quantité */
.cart-page .qty-input {
    border-radius: 0 !important; /* Non arrondi pour s'aligner aux boutons */
    min-width: 40px; /* Largeur fixe pour l'input de quantité */
}
.cart-page .quantity-control .btn-qty {
    font-size: 1rem;
    padding: 0.5rem 0.8rem;
    border-radius: 8px;
    background-color: var(--background-soft);
    color: var(--text-main);
    border-color: var(--border-color);
}
.cart-page .quantity-control .btn-qty:first-child { border-top-left-radius: 8px !important; border-bottom-left-radius: 8px !important; }
.cart-page .quantity-control .btn-qty:last-child { border-top-right-radius: 8px !important; border-bottom-right-radius: 8px !important; }
.cart-page .quantity-control .btn-qty:hover {
    background-color: var(--background);
    color: var(--primary);
    border-color: var(--primary);
}
.cart-page .quantity-control .btn-qty .fa-solid {
    font-size: 0.9em;
}

/* Prix et total de ligne */
.cart-page .cart-item-row .line-total {
    font-size: 1.1rem;
    color: var(--primary) !important;
}
.cart-page .cart-item-row .old-price-display {
    font-size: 0.85rem;
    color: var(--text-muted) !important;
}
.cart-page .cart-item-row .old-price-display del {
    margin-right: 5px;
}
.cart-page .cart-item-row .old-price-display .badge.bg-danger {
    font-size: 0.7rem;
    padding: 3px 6px;
    border-radius: 10px;
    background-color: var(--error) !important;
    color: white !important;
}

/* Bouton "Retirer" un article */
.cart-page .cart-item-row .btn-remove {
    background-color: transparent;
    border: none;
    color: var(--text-muted);
    font-size: 1.2rem;
    padding: 5px;
    border-radius: 50%;
    transition: all 0.2s ease;
}
.cart-page .cart-item-row .btn-remove:hover {
    color: var(--error);
    background-color: var(--background);
}


/* Notes pour le marchand */
.cart-page textarea[name^="merchant_notes"] {
    border-radius: 10px;
    border-color: var(--border-color);
    background-color: var(--background);
    color: var(--text-main);
    padding: 0.6rem 0.8rem;
    font-size: 0.9rem;
    resize: vertical;
}
.cart-page textarea[name^="merchant_notes"]:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(0, 191, 255, 0.3);
}
.cart-page label[for^="merchant_notes"] {
    font-size: 0.9rem;
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 5px;
}
.cart-page label[for^="merchant_notes"] .fa-solid {
    color: var(--text-muted);
}


/* Carte de résumé de la commande (col-lg-3) */
.cart-page .order-summary-card.card {
    background: var(--background-soft);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    box-shadow: var(--shadow);
}
.cart-page .order-summary-card .card-body {
    padding: 25px;
}
.cart-page .order-summary-card .card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 10px;
}
.cart-page .order-summary-card .card-title .fa-solid {
    color: var(--primary);
}
.cart-page .order-summary-card span {
    font-size: 1rem;
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 8px;
}
.cart-page .order-summary-card span .fa-solid {
    color: var(--primary);
}
.cart-page .order-summary-card .fw-bold {
    font-weight: 700;
}
.cart-page .order-summary-card h4.text-success {
    color: var(--success) !important;
    font-size: 1.5rem;
    font-weight: 700;
}

/* Checkbox CGU */
.cart-page .form-check-label a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
}
.cart-page .form-check-label a:hover {
    text-decoration: underline;
    color: var(--secondary);
}
.cart-page .form-check-label .fa-solid {
    margin-right: 0.5rem;
    color: var(--primary);
}
.cart-page .form-check-input:required:invalid ~ .form-check-label {
    color: var(--error); /* Label devient rouge si non coché */
}
.cart-page .form-check-input.is-invalid {
    border-color: var(--error);
}

/* Bouton "Valider les commandes" */
.cart-page .btn-success.btn-lg {
    background-color: var(--success);
    color: white;
    font-size: 1.25rem;
    padding: 0.9rem 2rem;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.cart-page .btn-success.btn-lg:hover {
    background-color: var(--success-hover);
}


/* Modal d'authentification (si non connecté) */
.modal-content {
    background: var(--background-soft);
    color: var(--text-main);
    border-radius: 12px;
    box-shadow: var(--shadow);
}
.modal-header {
    border-bottom: 1px solid var(--border-color);
    padding: 1rem 1.5rem;
}
.modal-header .modal-title {
    font-weight: 600;
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 10px;
}
.modal-header .modal-title .fa-solid {
    color: var(--primary);
}
.modal-body {
    padding: 1.5rem;
    color: var(--text-muted);
    font-size: 1rem;
}
.modal-body p.lead {
    font-size: 1.2rem;
    color: var(--text-main);
}
.modal-footer {
    border-top: 1px solid var(--border-color);
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}
.modal-footer .btn {
    font-size: 0.9rem;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.modal-footer .btn-primary { background-color: var(--primary); color: white; }
.modal-footer .btn-primary:hover { background-color: var(--primary-hover); }
.modal-footer .btn-success { background-color: var(--success); color: white; }
.modal-footer .btn-success:hover { background-color: var(--success-hover); }


/* ------------------------------------------------------------- */
/* 📱 RESPONSIVE (Ajustements pour les petits écrans - < 992px) */
/* ------------------------------------------------------------- */

@media (max-width: 991.98px) { /* Tablette et mobile */
    .cart-page .row > div[class*="col-lg-"] {
        width: 100%; /* Empile les colonnes principales (produits et résumé) */
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }
    .cart-page .row > div[class*="col-lg-"]:last-child {
        margin-bottom: 0;
    }

    /* Carte de résumé de commande devient pleine largeur */
    .cart-page .order-summary-card.sticky-top {
        position: static !important; /* Retire le sticky */
        top: unset !important;
        margin-top: 20px;
    }
}

@media (max-width: 768px) { /* Mobiles plus petits */
    .cart-page.container {
        padding: 1.5rem;
    }

    .cart-page .page-title {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    /* Cartes */
    .cart-page .card {
        padding: 0;
        border-radius: 12px;
        margin-bottom: 15px;
    }
    .cart-page .card-header {
        font-size: 1rem;
        padding: 15px;
        justify-content: center;
        text-align: center;
        border-radius: 12px 12px 0 0;
    }
    .cart-page .card-body {
        padding: 15px;
    }

    /* Bouton "Tout cocher / décocher" */
    .cart-page #toggle-selection {
        width: 100%;
        font-size: 0.85rem;
        padding: 0.5rem 0.8rem;
    }

    /* Choix du mode de livraison */
    .cart-page .delivery-type-options strong {
        font-size: 0.9rem;
    }
    .cart-page .delivery-type-options .form-check-label {
        font-size: 0.9rem;
    }
    .cart-page .wilaya-select-container .form-label {
        font-size: 0.9rem;
    }
    .cart-page .wilaya-select-container .form-select {
        padding: 0.5rem 0.8rem;
        font-size: 0.9rem;
    }
    .cart-page .wilaya-select-container small.text-muted {
        font-size: 0.8rem;
    }

    /* Liste des articles du panier (TRANSFORMATION EN CARTES) */
    .cart-page .list-group-flush { /* Le conteneur du list-group */
        display: flex;
        flex-direction: column;
        gap: 15px; /* Espace entre les "cartes" d'articles */
    }
    .cart-page .cart-item-row.list-group-item {
        background-color: var(--background); /* Fond pour la carte de l'article */
        border: 1px solid var(--border-color);
        border-radius: 12px;
        padding: 15px;
        box-shadow: var(--shadow-sm);
        flex-direction: column; /* Empile les colonnes internes */
        align-items: flex-start; /* Aligne le contenu à gauche */
        margin-bottom: 0 !important; /* Pas de marge si géré par le gap du parent */
    }
    .cart-page .cart-item-row .row.g-0 { /* La grille interne */
        flex-direction: column !important; /* Empile les éléments internes (checkbox, image, titre, qté, prix, supprimer) */
        align-items: flex-start !important;
        width: 100% !important; /* Prend toute la largeur de la carte */
        padding: 0 !important; /* Pas de padding interne pour la row g-0 */
        margin: 0 !important; /* Pas de marge interne pour la row g-0 */
    }
    /* Styles pour chaque colonne individuelle de l'article */
    .cart-page .cart-item-row .row.g-0 > div[class*="col-"] {
        width: 100% !important; /* Chaque colonne prend la pleine largeur */
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important; /* Pas de padding interne aux colonnes */
        margin-bottom: 0.5rem; /* Espacement entre les lignes d'info */
        display: flex; /* Active flexbox pour le label::before et la valeur */
        justify-content: space-between; /* Aligne label et valeur */
        align-items: center;
    }
    .cart-page .cart-item-row .row.g-0 > div[class*="col-"]:last-child {
        margin-bottom: 0 !important; /* Pas de marge pour la dernière ligne */
    }
    /* Positionnement spécifique des éléments dans les colonnes */
    .cart-page .cart-item-row .col-1.text-center { /* Checkbox */
        justify-content: flex-start !important;
        margin-bottom: 10px !important;
    }
    .cart-page .cart-item-row .col-2.text-center { /* Image */
        justify-content: flex-start !important;
        margin-bottom: 10px !important;
    }
    .cart-page .cart-item-row .col-4 { /* Titre/Options/Stock */
        flex-direction: column !important; /* Empile Titre, Options, Stock */
        align-items: flex-start !important;
        margin-bottom: 10px !important;
    }
    .cart-page .cart-item-row .product-title {
        text-align: left;
        max-width: 100%;
        margin-bottom: 5px;
    }
    .cart-page .cart-item-row .product-options {
        width: 100%;
    }
    .cart-page .cart-item-row .product-stock-status {
        width: 100%;
        justify-content: flex-start;
        font-size: 0.85rem;
    }
    .cart-page .cart-item-row .col-2.text-center .input-group.quantity-control { /* Contrôle quantité */
        width: 120px; /* Largeur fixe pour le groupe de quantité */
        margin: 0 auto; /* Centre le contrôle de quantité */
        justify-content: center;
        margin-bottom: 10px !important;
    }
    .cart-page .cart-item-row .col-2.text-end { /* Prix */
        justify-content: center !important; /* Centre le prix */
        flex-direction: column;
        align-items: center;
        margin-bottom: 10px !important;
    }
    .cart-page .cart-item-row .line-total {
        font-size: 1.2rem;
    }
    .cart-page .cart-item-row .old-price-display {
        font-size: 0.8rem;
    }
    .cart-page .cart-item-row .col-1.text-end { /* Bouton supprimer */
        justify-content: center !important;
        margin-bottom: 0 !important;
    }
    .cart-page .cart-item-row .btn-remove {
        font-size: 1.5rem;
        padding: 8px;
    }
    /* Pseudo-éléments pour les labels des cellules (avec les data-label du HTML) */
    .cart-page .cart-item-row .row.g-0 > div[class*="col-"]:not(.col-1):not(.col-2):not(.col-4)::before {
        content: attr(data-label) ": "; /* Ajout du label pour les colonnes sans label par défaut */
        font-weight: bold;
        color: var(--text-muted);
        margin-right: 0.5rem;
        flex-shrink: 0;
        font-family: inherit;
    }
    /* Masquer le contenu des colonnes qui contiennent l'image ou la checkbox */
    .cart-page .cart-item-row .col-1.text-center::before,
    .cart-page .cart-item-row .col-2.text-center::before,
    .cart-page .cart-item-row .col-4::before {
        content: none !important; /* Empêche l'affichage du data-label pour ces colonnes spécifiques */
    }


    /* Carte de résumé de commande */
    .cart-page .order-summary-card.card {
        padding: 0;
    }
    .cart-page .order-summary-card .card-body {
        padding: 15px;
    }
    .cart-page .order-summary-card .card-title {
        font-size: 1.15rem;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
        margin-bottom: 1rem;
    }
    .cart-page .order-summary-card h4 {
        font-size: 1.3rem;
    }

    /* Bouton "Valider les commandes" */
    .cart-page .btn-success.btn-lg {
        font-size: 1.1rem;
        padding: 0.8rem 1.5rem;
    }

    /* Modal */
    .modal-dialog {
        margin: 1rem;
    }
    .modal-header, .modal-body, .modal-footer {
        padding: 1rem;
    }
    .modal-header .modal-title {
        font-size: 1.1rem;
    }
    .modal-footer {
        flex-direction: column;
        gap: 8px;
    }
    .modal-footer .btn {
        width: 100%;
    }
}


/* ------------------------------------------------------------- */
/* 🌙 MODE SOMBRE (Adaptation des styles pour dark-theme) */
/* ------------------------------------------------------------- */

.dark-theme .cart-page .page-title {
    color: var(--primary);
}
.dark-theme .cart-page .page-title .fa-solid {
    color: var(--primary);
}

.dark-theme .cart-page .alert.alert-info {
    background-color: var(--info-bg-dark);
    color: var(--info-color-dark);
    border: 1px solid var(--info-border-dark);
}
.dark-theme .cart-page .alert.alert-info .fa-solid {
    color: var(--info-color-dark);
}
.dark-theme .cart-page .alert.alert-danger {
    background-color: var(--error-soft-background);
    color: var(--error);
    border: 1px solid var(--error);
}
.dark-theme .cart-page .alert.alert-danger .fa-solid {
    color: var(--error);
}


.dark-theme .cart-page #toggle-selection {
    color: var(--primary);
    border-color: var(--primary);
    background-color: transparent;
}
.dark-theme .cart-page #toggle-selection:hover {
    background-color: var(--primary-hover);
    color: white;
}


/* Cartes du panier par marchand */
.dark-theme .cart-page .merchant-cart-card.card {
    background: var(--background-soft);
    border-color: var(--border-color);
    box-shadow: var(--shadow);
}
.dark-theme .cart-page .merchant-cart-card .card-header {
    background: var(--background);
    border-color: var(--border-color);
}
.dark-theme .cart-page .merchant-cart-card .card-header .card-title {
    color: var(--text-main);
}
.dark-theme .cart-page .merchant-cart-card .card-header .card-title .fa-solid {
    color: var(--primary);
}
.dark-theme .cart-page .merchant-cart-card .card-header .card-title a {
    color: var(--primary);
}
.dark-theme .cart-page .merchant-cart-card .card-header .card-title a:hover {
    color: var(--secondary);
}
.dark-theme .cart-page .merchant-cart-card .card-header .btn.btn-sm.btn-outline-info {
    color: var(--info);
    border-color: var(--info);
    background-color: transparent;
}
.dark-theme .cart-page .merchant-cart-card .card-header .btn.btn-sm.btn-outline-info:hover {
    background-color: var(--info);
    color: white;
}


/* Choix du mode de livraison */
.dark-theme .cart-page .delivery-type-options strong,
.dark-theme .cart-page .delivery-type-options .form-check-label {
    color: var(--text-main);
}
.dark-theme .cart-page .wilaya-select-container .form-label {
    color: var(--text-main);
}
.dark-theme .cart-page .wilaya-select-container .form-select {
    border-color: var(--border-color);
    background-color: var(--background);
    color: var(--text-main);
}
.dark-theme .cart-page .wilaya-select-container .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(0, 191, 255, 0.3);
}
.dark-theme .cart-page .wilaya-select-container small.text-muted {
    color: var(--text-muted) !important;
}


/* Liste des articles du panier */
.dark-theme .cart-page .cart-item-row.list-group-item {
    background-color: var(--background);
    border-color: var(--border-color);
}
.dark-theme .cart-page .cart-item-row.list-group-item:hover {
    background-color: var(--background-soft);
}
.dark-theme .cart-page .cart-item-row .product-title {
    color: var(--text-main);
}
.dark-theme .cart-page .cart-item-row .product-options {
    color: var(--text-muted);
}
.dark-theme .cart-page .cart-item-row .product-options li .fa-solid {
    color: var(--text-muted);
}
.dark-theme .cart-page .cart-item-row .product-options li strong {
    color: var(--text-main);
}
/* Statut de stock */
.dark-theme .cart-page .cart-item-row .product-stock-status .text-danger { color: var(--error) !important; }
.dark-theme .cart-page .cart-item-row .product-stock-status .text-warning { color: var(--accent) !important; }
.dark-theme .cart-page .cart-item-row .product-stock-status .text-success { color: var(--success) !important; }


/* Contrôle de quantité */
.dark-theme .cart-page .quantity-control .btn-qty {
    background-color: var(--background-soft);
    color: var(--text-main);
    border-color: var(--border-color);
}
.dark-theme .cart-page .quantity-control .btn-qty:hover {
    background-color: var(--background);
    color: var(--primary);
    border-color: var(--primary);
}

/* Prix et total de ligne */
.dark-theme .cart-page .cart-item-row .line-total {
    color: var(--primary) !important;
}
.dark-theme .cart-page .cart-item-row .old-price-display {
    color: var(--text-muted) !important;
}
.dark-theme .cart-page .cart-item-row .old-price-display .badge.bg-danger {
    background-color: var(--error) !important;
    color: white !important;
}

/* Bouton "Retirer" un article */
.dark-theme .cart-page .cart-item-row .btn-remove {
    color: var(--text-muted);
}
.dark-theme .cart-page .cart-item-row .btn-remove:hover {
    color: var(--error);
    background-color: var(--background);
}


/* Notes pour le marchand */
.dark-theme .cart-page textarea[name^="merchant_notes"] {
    border-color: var(--border-color);
    background-color: var(--background);
    color: var(--text-main);
}
.dark-theme .cart-page textarea[name^="merchant_notes"]:focus {
    border-color: var(--primary);
}
.dark-theme .cart-page label[for^="merchant_notes"] {
    color: var(--text-main);
}
.dark-theme .cart-page label[for^="merchant_notes"] .fa-solid {
    color: var(--text-muted);
}


/* Carte de résumé de la commande */
.dark-theme .cart-page .order-summary-card.card {
    background: var(--background-soft);
    border-color: var(--border-color);
    box-shadow: var(--shadow);
}
.dark-theme .cart-page .order-summary-card .card-title {
    color: var(--primary);
}
.dark-theme .cart-page .order-summary-card .card-title .fa-solid {
    color: var(--primary);
}
.dark-theme .cart-page .order-summary-card span {
    color: var(--text-main);
}
.dark-theme .cart-page .order-summary-card span .fa-solid {
    color: var(--primary);
}
.dark-theme .cart-page .order-summary-card h4.text-success {
    color: var(--success) !important;
}

/* Checkbox CGU */
.dark-theme .cart-page .form-check-label a {
    color: var(--primary);
}
.dark-theme .cart-page .form-check-label a:hover {
    color: var(--secondary);
}
.dark-theme .cart-page .form-check-label .fa-solid {
    color: var(--primary);
}
.dark-theme .cart-page .form-check-input:required:invalid ~ .form-check-label {
    color: var(--error);
}
.dark-theme .cart-page .form-check-input.is-invalid {
    border-color: var(--error);
}


/* Bouton "Valider les commandes" */
.dark-theme .cart-page .btn-success.btn-lg {
    background-color: var(--success);
    color: white;
}
.dark-theme .cart-page .btn-success.btn-lg:hover {
    background-color: var(--success-hover);
}


/* Modal d'authentification */
.dark-theme .modal-content {
    background: var(--background-soft);
    color: var(--text-main);
    box-shadow: var(--shadow);
}
.dark-theme .modal-header {
    border-color: var(--border-color);
}
.dark-theme .modal-header .modal-title {
    color: var(--text-main);
}
.dark-theme .modal-header .modal-title .fa-solid {
    color: var(--primary);
}
.dark-theme .modal-body {
    color: var(--text-muted);
}
.dark-theme .modal-body p.lead {
    color: var(--text-main);
}
.dark-theme .modal-footer {
    border-color: var(--border-color);
}
.dark-theme .modal-footer .btn-primary { background-color: var(--primary); }
.dark-theme .modal-footer .btn-primary:hover { background-color: var(--primary-hover); }
.dark-theme .modal-footer .btn-success { background-color: var(--success); }
.dark-theme .modal-footer .btn-success:hover { background-color: var(--success-hover); }


/* ------------------------------------------------------------- */
/* 📱 RESPONSIVE (Ajustements pour les petits écrans - < 992px) */
/* ------------------------------------------------------------- */

@media (max-width: 991.98px) {
    .dark-theme .cart-page .merchant-cart-card.card,
    .dark-theme .cart-page .order-summary-card.card {
        background: var(--background-soft);
        box-shadow: var(--shadow);
    }
    .dark-theme .cart-page .merchant-cart-card .card-header {
        background: var(--background);
    }
    .dark-theme .cart-page .list-group-item:hover {
        background-color: var(--background);
    }
}

@media (max-width: 768px) {
    .dark-theme .cart-page .cart-item-row.list-group-item {
        background-color: var(--background);
        border-color: var(--border-color);
        box-shadow: var(--shadow-sm);
    }
    .dark-theme .cart-page .cart-item-row.list-group-item:hover {
        background-color: var(--background-soft);
    }
    .dark-theme .cart-page .cart-item-row .product-title,
    .dark-theme .cart-page .cart-item-row .product-options li strong,
    .dark-theme .cart-page .cart-item-row .line-total {
        color: var(--text-main) !important;
    }
    .dark-theme .cart-page .cart-item-row .product-options,
    .dark-theme .cart-page .cart-item-row .product-options li .fa-solid,
    .dark-theme .cart-page .cart-item-row .product-stock-status,
    .dark-theme .cart-page .cart-item-row .product-stock-status .fa-solid,
    .dark-theme .cart-page .cart-item-row .old-price-display {
        color: var(--text-muted) !important;
    }
    .dark-theme .cart-page .quantity-control .btn-qty {
        background-color: var(--background-soft);
        color: var(--text-main);
        border-color: var(--border-color);
    }
    .dark-theme .cart-page .quantity-control .btn-qty:hover {
        background-color: var(--background);
        color: var(--primary);
        border-color: var(--primary);
    }
    .dark-theme .cart-page .cart-item-row .btn-remove {
        color: var(--text-muted);
    }
    .dark-theme .cart-page .cart-item-row .btn-remove:hover {
        color: var(--error);
        background-color: var(--background);
    }
}
