/* ------------------------------------------------------------------ */
/*  Mini-panier (sticky avec scroll interne)                           */
/* ------------------------------------------------------------------ */
#mini-cart {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    padding: var(--spacing-xl);
    border: 1px solid var(--grayscale-400);
    border-radius: var(--radius-sm);
    max-height: 80vh;
    overflow: hidden;

    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6 {
        color: var(--grayscale-900);
    }

    h3 {
        padding: 0;
    }

    .mini-empty-cart {
        color: var(--grayscale-700);
    }

    /* Liste des articles — zone scrollable */
    .mini-cart-items {
        flex: 1 1 auto;
        overflow-y: auto;
        overflow-x: hidden;
        min-height: 0;
        padding-right: var(--spacing-xs);

        /* Scrollbar discrète */
        &::-webkit-scrollbar {
            width: 4px;
        }

        &::-webkit-scrollbar-track {
            background: transparent;
        }

        &::-webkit-scrollbar-thumb {
            background-color: var(--grayscale-400);
            border-radius: var(--radius-full);
        }
    }

    /* Article individuel */
    .mini-cart-item {
        display: flex;
        flex-direction: row;
        gap: var(--spacing-lg);

        .mini-cart-item-image {
            width: 30%;
            flex-shrink: 0;

            img {
                width: 100%;
                height: auto;
                border-radius: var(--radius-sm);
            }
        }

        .mini-cart-item-details-wrapper {
            width: 70%;
        }

        .mini-cart-item-details,
        .mini-cart-qty-price-wrapper {
            display: flex;
            gap: var(--spacing-xs);
            justify-content: space-between;
            align-items: flex-start;

            .mini-cart-item-details-text {
                .h6 {
                    margin-bottom: var(--spacing-lg);
                }

                .mini-cart-item-price {
                    margin-bottom: var(--spacing-xs);
                }
            }
        }

        .mini-cart-qty-price-wrapper {
            align-items: center;
        }

        button.mini-cart-remove {
            background: none;
            border: none;
            cursor: pointer;
            flex-shrink: 0;
        }
    }

    .mini-cart-item:not(:first-of-type) {
        margin-top: var(--spacing-lg);
    }

    .mini-cart-item:not(:last-of-type) {
        border-bottom: 1px solid var(--grayscale-400);
        padding-bottom: var(--spacing-lg);
    }

    /* Contrôles de quantité */
    .mini-cart-quantity-controls {
        display: flex;
        gap: var(--spacing-xs);
        align-items: center;
        border-radius: var(--radius-full);
        color: white;
        background: var(--ocre-600);
        padding: var(--spacing-xxs) var(--spacing-xs);

        .mini-cart-minus,
        .mini-cart-plus {
            padding: var(--spacing-xxs);
            font-family: 'Montserrat', sans-serif;
            background-color: transparent;
            border: none;
            color: white;
            line-height: 0;
            cursor: pointer;
        }

        .cart-qty {
            padding: 0;
            font-size: var(--fs-subtitle);
            background-color: transparent;
            border: none;
            color: white;
        }
    }

    /* Footer fixe : total + bouton payer */
    .mini-cart-footer {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-md);
        border-top: 1px solid var(--grayscale-400);
        padding-top: var(--spacing-md);
    }

    .mini-cart-total {
        display: flex;
        justify-content: space-between;
        font-weight: var(--fw-bold);
    }

    .mini-cart-checkout a.button.checkout-button.wc-forward {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: var(--spacing-lg);
        background: var(--brown-500);
        border-radius: var(--radius-sm);
        color: white;
        font-weight: var(--fw-bold);
        transition: background-color 0.3s ease-in-out;

        &:hover {
            background-color: var(--ocre-600);
            color: white;
        }
    }
}

/* ================================================================== */
/*  Responsive                                                         */
/* ================================================================== */

@media (max-width: 767px) {
    #mini-cart {
        padding: var(--spacing-md);
        gap: var(--spacing-md);
        max-height: none;

        .mini-cart-checkout a.button.checkout-button.wc-forward {
            padding: var(--spacing-md);
        }
    }
}

@media (max-width: 479px) {
    #mini-cart .mini-cart-item {
        gap: var(--spacing-sm);

        .mini-cart-item-image {
            width: 25%;
        }

        .mini-cart-item-details-wrapper {
            width: 75%;
        }
    }
}
