.products {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        width: 100%;     /* <-- important */
        margin: 0 auto;
    }

    .product-card {
        border: 1px solid #ddd;
        border-radius: 10px;
        margin: 10px;
        padding: 10px;
        box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
        transition: 0.3s;
        display: flex;
        flex-direction: column;
        align-items: center;
        box-sizing: border-box;               /* inclut padding dans la largeur */
        flex: 0 1 calc(25% - 20px);           /* 4 cartes par ligne, avec 10px de marge de chaque côté */
        min-height: 280px;     
     }

    .product-card:hover {
        box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
    }

    .product-image {
        width: 100%; /* Garde l'image responsive */
        height: 50%; /* Ajusté pour maintenir le ratio d'aspect de l'image */
        object-fit: contain;
        margin-bottom: auto;
    }

    .product-details {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        flex: 1;
        width: 100%;
    }

    .button-group {
        display: flex;
        justify-content: center;
        gap: 10px;
        width: 100%;
        margin-top: auto; /* Pousse le groupe de boutons vers le bas */
    }

    button.order-button {
        background-color: #f44336; /* Red */
        border: none;
        color: white;
        padding: 15px 22px;
        border-radius: 10px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;
        margin-bottom: auto;
    }
    button.comment-button {
        background-color: #a5a1a1; /* Red */
        color: #000000;      
        display: inline-block;
        padding: 6px 12px;
        margin-bottom: 0;
        font-size: 14px;
        font-weight: normal;
        line-height: 1.428571429;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        cursor: pointer;
        border: 1px solid transparent;
        border-radius: 4px;
        -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            -o-user-select: none;
                user-select: none;
    }

    button.validate-button {
        background-color: #4CAF50; /* Green */
        border: none;
        color: white;
        padding: 15px 22px;
        border-radius: 10px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;

    }

    .remove-button {
        background-color: #f44336; /* Red */
        border: none;
        color: white;
        padding: 15px 30px;
        border-radius: 10px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;
        margin-bottom: auto;
    }

    .card {
        width: auto;
        max-width: 400px;
        height: auto;
        border-radius: 20px;
        background: #f5f5f5;
        position: relative;
        padding: 1.8rem;
        border: 2px solid #c3c6ce;
        transition: 0.5s ease-out;
        overflow: visible;
        margin: 20px auto;
        }

        .big-text {
            font-size: 1.8em; /* Ajustez selon vos préférences */
            font-weight: bold; /* Rendre le texte plus gras pour plus de visibilité */
        }

        .card-details .text-body {
            color: rgb(134, 134, 134);
            margin-bottom: 0.1rem; /* Ajouter un peu d'espace entre les lignes */
        }

        .card-details {
        color: black;
        gap: .5em;
        display: grid;
        place-content: center;
        }

        .card-button {
        transform: translate(-50%, 125%);
        width: 60%;
        border-radius: 1rem;
        border: none;
        background-color: #428bca;
        color: #fff;
        font-size: 1rem;
        padding: .5rem 1rem;
        position: absolute;
        left: 50%;
        bottom: 0;
        opacity: 0;
        transition: 0.3s ease-out;
        }

        .text-body {
        color: rgb(134, 134, 134);
        }

        .text-title {
        font-size: 1.5em;
        font-weight: bold;
        }

        .card:hover {
        border-color: #428bca;
        box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.25);
        }

        .card:hover .card-button {
        transform: translate(-50%, 50%);
        opacity: 1;
        }
        .align-right {
            text-align: right;
        }

        #order-comment {
            max-width: 100%;
        }

        #error-format-cours {
            display: none;
        }

        .select2-container {
            width: 100% !important;
        }

        #loadingOverlay {
            position: fixed;
            z-index: 9999;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(255, 255, 255, 0.5);
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .spinner-bg {
            background-color: white;
            padding: 20px;
            border-radius: 10px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .spinner {
            width: 48px;
            height: 48px;
            border: 5px solid #428bca;
            border-bottom-color: transparent;
            border-radius: 50%;
            display: block;
            box-sizing: border-box;
            animation: rotation 1s linear infinite;
        }
    
        @keyframes rotation {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        } 