#rdvModale,
#centerListModale,
#formModale {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999999;
    display: none;
    width: 100%;
    overflow: hidden;
}

#formModale {
    position: fixed;
}

#rdvModale.is-open,
#centerListModale.is-open {
    display: block;
}

#rdvOverlay,
#rdvOverlayCentersList,
#formModaleOverlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 99999;
}
#rdvModale.is-open ~ #rdvOverlay,
#rdvOverlayCentersList.is-open,
#formModale.is-open,
#formModaleOverlay.is-open {
    display: block;
}

#rdvModale #closeModaleBtn,
#centerListModale #closeCenterListBtn,
#formModale #closeFormModale {
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: 25px;
    cursor: pointer;
    padding: 0;
}

#planity {
    font-family: "Montserrat", sans-serif;
    text-align: left;
}

#planity * {
    font-family: "Montserrat", sans-serif;
}

#rdvModale h1 {
    font-family: 'Neulis Cursive';
    font-weight: 600;
}

#rdvModale h2 {
    margin-bottom: 30px;
    font-family: 'Neulis Cursive';
    font-weight: 600;
}

#planity h3 {
    font-family: 'Neulis Cursive';
    font-size: 17px;
    font-weight: 600;
}

#planity .planity-component-button,
#planity .planity_bookappointment-button-choose,
#planity #login-comp__submit,
#planity #login-comp__memberBtn,
#planity #signup-comp__submit,
#planity #signup-comp__memberBtn,
#planity #add-child-button,
#planity #confirm-payment,
#planity #pwd-change-noedit-button,
#planity #appointment-book-again-or-move-button {
    background: var(--primary-gradient);
    color: white;
    border-radius: var(--low-radius);
    font-weight: 550;
    padding: 10px 20px;
    transition: all 0.3s ease;
    line-height: 1;
    min-height: unset;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 14px !important;
}

#planity .planity-component-button:hover,
#planity #login-comp__submit:hover,
#planity #signup-comp__submit:hover {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    scale: 1.05;
}

#planity .planity-widget-nav button {
    width: 100% !important;
}

#planity #login-comp__submit,
#planity #signup-comp__submit {
    margin-top: 10px !important;
}

#planity #login-comp__memberBtn,
#planity #signup-comp__memberBtn {
    border: 1px solid var(--orange);
    background: var(--white);
    color: var(--grey);
    width: 100% !important;
    box-shadow: unset;
}

#planity #login-comp__memberBtn:hover,
#planity #signup-comp__memberBtn:hover {
    background: var(--primary-gradient);
    color: var(--white);
}

#planity #member-connect-comp h2 {
    margin-bottom: 10px;
}

#planity .css-1v6n8mk {
    overflow: visible;
}

#planity .css-ndhcij {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    flex-direction: row;
}

#planity .css-ndhcij .planity-widget-nav {
    margin: 0;
}

/* loader Planity */
.planity-loader {
    position: relative;
    min-height: 120px;
    display: grid;
    place-items: center;
}

.planity-loader .spinner {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid rgba(0,0,0,.15);
    border-top-color: rgba(0,0,0,.6);
    animation: spin 0.9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }


/* Centers list */
#centersLists ul {
    margin-top: 30px;
}

#centersLists li {
    border-bottom: var(--border);
}

#centersLists li button {
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
}

#centersLists li button:hover {
    background: var(--primary-gradient);
    color: white;
}

#centersLists li button i {
    color: var(--orange);
}

#centersLists li button:hover i {
    color: white;
}

#rdvPlanityQuick {
    margin-top: 30px;
}

#rdvPlanityQuick .back-to-list.btn {
    font-size: 14px;
    margin: 0 auto;
    display: flex;
    gap: 5px;
    align-items: center;
}

#rdvPlanityQuick .back-to-list.btn:hover {
    border: 1px solid var(--orange);
}

#rdvPlanityQuick .planity-title {
    margin: 20px 0 30px 0;
    padding-top: 20px;
    border-top: var(--border);
}

/* Form Modale */
#formModale .hbspt-form {
    margin-top: 50px;
}


/* Annulation RDV */
#planity .modal-module_modal-6PrcL .modal-module_container-6wpCw {
    position: absolute;
    top: 25%;
    left: 0;
    height: max-content;
    margin: 0;
}

#planity .planity-nav-button-active {
    border: 1px solid var(--orange);
    background: var(--white);
    color: var(--grey);
}

#planity .planity-nav-button-active:hover {
    background: var(--primary-gradient);
    color: var(--white);
    scale: none;
}

    /* Pad Version */
    @media screen and (min-width: 768px) {
        #rdvModale,
        #centerListModale,
        #formModale {
            max-width: 750px;
            top: 30px;
        }

        #rdvModale #closeModaleBtn,
        #centerListModale #closeCenterListBtn,
        #formModale #closeFormModale {
            right: 25px;
            top: 25px;
        }

        #rdvModale h2 {
            margin-bottom: 40px;
        }

        #planity h3 {
            font-size: 18px;
        }

        #planity .planity-component-button,
        #planity .planity_bookappointment-button-choose,
        #planity #login-comp__submit,
        #planity #login-comp__memberBtn,
        #planity #signup-comp__submit,
        #planity #signup-comp__memberBtn {
            font-size: 15px !important;
        }


        /* Centers list */
        #centersLists ul {
            max-width: 500px;
            margin: 40px auto 0 auto;
        }

        #centersLists li button {
            padding: 20px;
            font-size: 15px;
        }

        #rdvPlanityQuick .back-to-list.btn {
            font-size: 15px;
        }

        #rdvPlanityQuick .planity-title {
            margin: 25px 0 30px 0;
            padding-top: 25px;
        }


        /* Form Modale */
        #formModale .hbspt-form {
            margin-top: 60px;
            max-width: 500px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Annulation RDV */
        #planity .modal-module_modal-6PrcL .modal-module_container-6wpCw {
            top: 25%;
            left: 50%;
            transform: translateX(-50%);
        }
    }


        /* Desktop Version */
        @media screen and (min-width: 992px) {
            #rdvModale,
            #centerListModale,
            #formModale {
                max-width: 900px;
                top: 40px;
            }

            #rdvModale {
                top: 0;
            }

            #centerListModale #closeCenterListBtn,
            #rdvModale #closeModaleBtn,
            #formModale #closeFormModale{
                right: 30px;
                top: 30px;
            }

            #rdvModale h2 {
                margin-bottom: 50px;
            }

            #planity h3 {
                font-size: 19px;
            }

            #planity .planity-component-button,
            #planity .planity_bookappointment-button-choose,
            #planity #login-comp__submit,
            #planity #login-comp__memberBtn,
            #planity #signup-comp__submit,
            #planity #signup-comp__memberBtn {
                font-size: 16px !important;
            }

            /* Centers list */
            #centersLists ul {
                margin: 50px auto 0 auto;
            }

            #centersLists li button {
                font-size: 16px;
                transition: all 0.3s ease;
            }

            #rdvPlanityQuick .back-to-list.btn {
                font-size: 16px;
            }

            #rdvPlanityQuick .planity-title {
                margin-top: 50px;
            }

            #rdvPlanityQuick .planity-title {
                margin: 30px 0 30px 0;
                padding-top: 30px;
            }
        }