/* ============================================
   PANIER MOBILE - Optimisations mobile uniquement
   Version moderne, performante et dynamique
   ============================================ */

/* Breakpoint mobile : uniquement pour écrans < 768px */
@media (max-width: 767px) {
    
    /* ============================================
       PAGE PRINCIPALE - Optimisation globale
       ============================================ */
    .main-content {
        padding: 0.75rem !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-bottom: 2rem !important; /* Espace normal en bas */
    }
    
    .container {
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Titre de page - compact */
    .page-title {
        font-size: 1.4rem !important;
        margin-bottom: 1rem !important;
        padding: 0 0.75rem !important;
        font-weight: 700 !important;
        color: #0f172a !important;
    }
    
    /* ============================================
       LAYOUT PANIER - Une colonne optimisée
       ============================================ */
    .cart-layout {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    /* ============================================
       ARTICLES DU PANIER - Design compact et moderne
       ============================================ */
    .cart-items {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        margin-bottom: 1rem !important; /* Espace avant le résumé */
        min-height: auto !important;
    }
    
    #cartItemsList {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .cart-item {
        display: flex !important;
        flex-direction: row !important; /* Horizontal sur mobile pour économiser l'espace */
        align-items: flex-start !important;
        padding: 0.75rem 0 !important; /* Padding horizontal seulement */
        gap: 0.75rem !important;
        width: 100% !important;
        border-radius: 0 !important;
        border: none !important;
        border-bottom: 1px solid #e2e8f0 !important; /* Ligne de séparation uniquement */
        background: transparent !important; /* Transparent au lieu de blanc */
        margin: 0 !important;
        transition: background-color 0.2s ease !important;
        position: relative !important;
    }
    
    .cart-item:active {
        background-color: rgba(0, 0, 0, 0.02) !important; /* Légèrement visible au touch */
    }
    
    .cart-item:last-child {
        border-bottom: none !important; /* Pas de ligne sous le dernier */
    }
    
    /* Image produit - transparente (pas d'encadrement) */
    .cart-item-image {
        flex: 0 0 120px !important;
        width: 120px !important;
        height: 120px !important;
        object-fit: contain !important;
        background: transparent !important; /* Fond transparent */
        border: none !important; /* Pas de bordure */
        border-radius: 0 !important; /* Pas de coins arrondis */
    }
    
    /* Infos produit - prend l'espace restant */
    .cart-item-info {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.5rem !important;
        padding: 0 !important;
    }
    
    .cart-item-info h3 {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        margin: 0 !important;
        line-height: 1.3 !important;
        color: #0f172a !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    
    .cart-item-category {
        font-size: 0.75rem !important;
        color: #64748b !important;
        margin: 0 !important;
    }
    
    /* Contrôles quantité - compacts et accessibles */
    .cart-item-controls {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0.75rem !important;
        margin-top: 0.5rem !important;
        width: 100% !important;
    }
    
    .quantity-controls {
        display: flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
        background: #f1f5f9 !important;
        border-radius: 8px !important;
        padding: 0.25rem !important;
    }
    
    .quantity-controls button {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        background: white !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 6px !important;
        color: #0f172a !important;
        font-weight: 600 !important;
        font-size: 1rem !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        touch-action: manipulation !important;
    }
    
    .quantity-controls button:active {
        background: #e2e8f0 !important;
        transform: scale(0.95) !important;
    }
    
    .quantity-controls span {
        min-width: 30px !important;
        text-align: center !important;
        font-weight: 600 !important;
        font-size: 0.9rem !important;
        color: #0f172a !important;
    }
    
    /* Prix - visible et mis en évidence */
    .cart-item-price {
        font-size: 1rem !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        white-space: nowrap !important;
    }
    
    /* ✅ Mobile: Conteneur des boutons cœur et poubelle */
    .cart-item > div:last-child {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        position: relative !important; /* Pas de position absolue */
        top: auto !important;
        right: auto !important;
    }

    /* Bouton favoris (cœur) - en haut */
    .cart-item-favorite {
        order: 1 !important;
        width: 32px !important;
        height: 32px !important;
        background: rgba(255, 255, 255, 0.9) !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 50% !important;
        color: #ef4444 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.2s ease !important;
        touch-action: manipulation !important;
    }
    
    .cart-item-favorite:active {
        background: rgba(239, 68, 68, 0.1) !important;
        transform: scale(0.9) !important;
    }

    /* Bouton supprimer (poubelle) - en dessous du cœur */
    .cart-item-remove {
        order: 2 !important;
        position: relative !important; /* Pas de position absolue */
        top: auto !important;
        right: auto !important;
        width: 32px !important;
        height: 32px !important;
        background: rgba(239, 68, 68, 0.1) !important;
        border: 1px solid #ef4444 !important;
        border-radius: 50% !important;
        color: #ef4444 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.2s ease !important;
        touch-action: manipulation !important;
    }
    
    .cart-item-remove:active {
        background: rgba(239, 68, 68, 0.2) !important;
        transform: scale(0.9) !important;
    }
    
    /* ============================================
       RÉSUMÉ PANIER - Position normale après les produits
       ============================================ */
    .cart-summary {
        position: relative !important; /* Position normale, pas fixe */
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        background: white !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        padding: 1rem 0.75rem !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-top: 1rem !important; /* Espace après les produits */
        z-index: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .cart-summary-title {
        font-size: 1rem !important;
        font-weight: 600 !important;
        margin-bottom: 0.75rem !important;
        color: #0f172a !important;
        display: none !important; /* Masquer le titre pour économiser l'espace */
    }
    
    .cart-summary-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-bottom: 0.4rem !important; /* Réduit */
        font-size: 0.85rem !important;
        color: #64748b !important;
    }
    
    .cart-summary-row:last-of-type {
        margin-bottom: 0.5rem !important; /* Réduit */
        padding-top: 0.4rem !important; /* Réduit */
        border-top: 1px solid #e2e8f0 !important;
    }
    
    .cart-summary-row strong {
        color: #0f172a !important;
        font-weight: 600 !important;
    }
    
    .cart-total {
        font-size: 1.2rem !important; /* Légèrement réduit */
        font-weight: 700 !important;
        color: #0f172a !important;
        margin: 0 !important;
    }
    
    /* Bouton commander - grand et visible */
    .checkout-btn {
        width: 100% !important;
        padding: 0.75rem 1rem !important; /* Padding réduit */
        font-size: 0.95rem !important; /* Légèrement réduit */
        font-weight: 600 !important;
        border-radius: 10px !important;
        margin-top: 0.5rem !important; /* Réduit */
        background: #0f172a !important;
        color: white !important;
        border: none !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        touch-action: manipulation !important;
        min-height: 44px !important; /* Légèrement réduit */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.5rem !important;
    }
    
    .checkout-btn:active {
        background: #1e293b !important;
        transform: scale(0.98) !important;
    }
    
    .checkout-btn:disabled {
        opacity: 0.5 !important;
        cursor: not-allowed !important;
    }
    
    /* ============================================
       CODE PROMO - Adapté mobile
       ============================================ */
    .coupon-section-cart {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 1rem !important;
        margin: 1rem 0 !important;
    }

    .coupon-input-group-cart {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .coupon-input-group-cart input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 16px !important;
    }

    .coupon-input-group-cart button {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 24px !important;
        white-space: normal !important;
    }

    /* ============================================
       PANIER VIDE - Design moderne
       ============================================ */
    .cart-empty {
        text-align: center !important;
        padding: 3rem 1rem !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 50vh !important;
    }
    
    .cart-empty-icon {
        font-size: 4rem !important;
        margin-bottom: 1rem !important;
        opacity: 0.5 !important;
    }
    
    .cart-empty-message {
        font-size: 1rem !important;
        color: #64748b !important;
        margin-bottom: 1.5rem !important;
        line-height: 1.5 !important;
    }
    
    .cart-empty-link {
        display: inline-block !important;
        padding: 0.875rem 1.5rem !important;
        background: #0f172a !important;
        color: white !important;
        text-decoration: none !important;
        border-radius: 10px !important;
        font-weight: 600 !important;
        transition: all 0.2s ease !important;
        touch-action: manipulation !important;
    }
    
    .cart-empty-link:active {
        background: #1e293b !important;
        transform: scale(0.98) !important;
    }
    
    /* ============================================
       ÉLÉMENTS MASQUÉS SUR MOBILE
       ============================================ */
    .cart-stats {
        display: none !important;
    }
    
    .cart-view-toggle {
        display: none !important;
    }
    
    .cart-recommendations {
        margin-top: 2rem !important;
        padding: 1.5rem 0.75rem !important;
    }
    
    .cart-recommendations-header {
        margin-bottom: 1rem !important;
    }
    
    .cart-recommendations-header h2 {
        font-size: 1.1rem !important;
        font-weight: 600 !important;
    }
    
    .cart-recommendations-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
    }
    
    /* Breadcrumbs - compact */
    .breadcrumb {
        font-size: 0.8rem !important;
        padding: 0.5rem 0.75rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    /* ============================================
       AMÉLIORATIONS PERFORMANCE ET UX
       ============================================ */
    
    /* Optimisation du scroll */
    .cart-items {
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth !important;
    }
    
    /* Animations fluides */
    .cart-item {
        animation: slideInUp 0.3s ease-out !important;
    }
    
    @keyframes slideInUp {
        from {
            opacity: 0;
            transform: translateY(10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    /* Amélioration des interactions tactiles */
    button, .btn, a {
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1) !important;
    }
    
    /* Optimisation des polices */
    * {
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
    }
    
    /* Masquer les éléments inutiles */
    .cart-item::before {
        display: none !important;
    }
}
