.alert{
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

.alert-success{
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert-danger{
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert p{
    margin-top: unset;
}

.reservation-module > span{
    font-size: 18px;
    font-weight: 700;
}

.reservation-module form{
    position: relative;
}

.reservation-module .reservation-form .infos-enfant{
    display: flex;
    flex-direction: column;
    width: 100%;
    /*grid-gap: 2rem;*/
    justify-content: space-between;
    margin-top: 1rem;
}

.reservation-module .reservation-form .remove-enfant{
    margin-top: 1rem;
    color: red;
    display: flex;
    font-weight: 600;
    cursor: pointer;
}

.reservation-module .reservation-form .infos-enfant > div label{
    font-weight: 600;
}

.reservation-module .reservation-form .infos-enfant > div input{
    width: 100%;
}

.reservation-module .reservation-form .choisir-formule,
.reservation-module .reservation-form .choisir-options{
    margin-top: 1rem;
    display: none;
}

.reservation-module .reservation-form .choisir-formule{
    position: relative;
}

.reservation-module .reservation-form .choisir-formule > span,
.reservation-module .reservation-form .choisir-options > span{
    font-weight: 700;
}

.reservation-module .reservation-form .choisir-formule > span.info-complet{
    font-weight: normal;
    position: relative;
    display: flex;
    align-items: center;
    grid-gap: 8px;
}

.reservation-module .reservation-form .choisir-formule > span.info-complet::before{
    content:'';
    width: 15px;
    height: 15px;
    display: block;
    border-radius: 100%;
    background: #D20038;
    border: 1px solid #9A1438;
    box-shadow: 1px 1.5px 0px 0px rgb(49 36 36 / 16%);
}

.reservation-module .reservation-form .choisir-formule .formules,
.reservation-module .reservation-form .choisir-options .options{
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 1rem;
    margin-top: 1rem;
}

.reservation-module .reservation-form .choisir-options .info-repas{
    margin-top: 1rem;
    display: block;
    font-weight: 400;
}

.reservation-module .reservation-form .choisir-options .info-repas a{
    margin-left: 2px;
    font-style: italic;
    font-weight: 600;
}

.reservation-module .reservation-form .choisir-formule .formules .formule,
.reservation-module .reservation-form .choisir-options .options .option{
    background: #FCF7D7;
    padding: 1.2rem 1rem;
    border: 1px solid #D6D08C;
    border-radius: 7px;
    width: 275px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    grid-gap: 10px;
    cursor: pointer;
}

.reservation-module .reservation-form .choisir-formule .formules .formule.selected,
.reservation-module .reservation-form .choisir-options .options .option.selected,
.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div.selected,
.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine > .bloc-semaine.selected{
    background: #F3D71D;
    border-color: #F3D71D;
}

.reservation-module .reservation-form .choisir-formule .formules .formule.disabled{
    cursor: not-allowed;
    background-color: #DDDDDD;
    border-color: #B7B7B7;
    color: #8D8D8D;
}

.reservation-module .reservation-form .choisir-options .options .option i{
    font-size: 22px;
}

.reservation-module .reservation-form .choisir-formule .formules .formule.complet{
    cursor: not-allowed;
    background-color: #DDDDDD;
    border-color: #B7B7B7;
    color: #8D8D8D;
}

.reservation-module .reservation-form .choisir-formule .formules .formule::before{
    content:'';
    width: 15px;
    height: 15px;
    background: #7bc8c8;
    display: block;
    border-radius: 100%;
    border: 1px solid #81B7AE;
    box-shadow: 1px 1.5px 0px 0px rgb(49 36 36 / 16%);
}

.reservation-module .reservation-form .choisir-formule .formules .formule.complet::before{
    background: #D20038;
    border: 1px solid #9A1438;
}

.reservation-module .reservation-form .choisir-formule .formules .formule span,
.reservation-module .reservation-form .choisir-options .options .option span{
    font-weight: 600;
}

.reservation-module .reservation-form .choisir-formule .choisir-dates > div{
    display: none;
}

.reservation-module .reservation-form .choisir-formule .choisir-dates > div.btn-i{
    position: absolute;
    left: 300px;
    top: 50%;
}

.reservation-module .changer-formule{
    margin-top: 1rem;
    display: none;
    color: #7bc8c8;
    font-weight: 600;
    width: fit-content;
    cursor: pointer;
    align-items: center;
    grid-gap: 10px;
}

.reservation-module .choisir-dates{
    margin-top: 1rem;
}

.reservation-module .infos-prix{
    font-weight: 700;
}

.reservation-module .valider-commande .infos-prix{
    text-transform: uppercase;
}

.reservation-module .infos-prix .prix{
    font-size: 32px;
}

.reservation-module .choisir-dates .btn-i i{
    display: none;
    color: #7bc8c8;
    font-weight: 600;
    width: fit-content;
    cursor: pointer;
}

.reservation-module .choisir-dates .btn,
.reservation-module .valider-commande .btn,
.reservation-module .ajouter-enfant span,
.reservation-module .ajouter-meme-enfant span,
.reservation-module .ajouter-autre-enfant span{
    font-family: "Poppins", Sans-serif;
    font-size: 16px;
    font-weight: bold;
    fill: white;
    color: white;
    background-color: #7bc8c8 !important;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #7bc8c8 !important;
    border-radius: 0px 0px 0px 0px;
    box-shadow: 0px 8px 8px 0px rgb(49 36 36 / 16%) !important;
    padding: 10px 20px 10px 20px !important;
    transition: color 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86), background-color 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86), border-color 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.reservation-module .choisir-dates .btn-i{
    display: flex;
    align-items: center;
    grid-gap: 10px;
}

.reservation-module .choisir-dates .btn.edit-dates{
    font-family: "Poppins", Sans-serif;
    fill: white;
    color: white;
    background-color: #7bc8c8 !important;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #7bc8c8 !important;
    border-radius: 0px 0px 0px 0px;
    box-shadow: 0px 8px 8px 0px rgb(49 36 36 / 16%) !important;
    padding: 10px 20px 10px 20px !important;
    transition: color 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86), background-color 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86), border-color 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
    font-weight: 600;
    width: fit-content;
    cursor: pointer;
    align-items: center;
    grid-gap: 10px;
    margin: unset !important;
    font-size: 14px;
    transform: unset !important;
}

.reservation-module .valider-commande{
    display: none;
    flex-direction: column;
    grid-gap: 0.5rem;
    align-items: center;
    margin-top: 3rem;
}

.reservation-module .valider-commande .btn,
.reservation-module .ajouter-enfant span,
.reservation-module .ajouter-meme-enfant span,
.reservation-module .ajouter-autre-enfant span{
    transform-origin: unset !important;
    font-size: 12px;
    text-align: center;
    display: flex;
}

.reservation-module .choisir-dates .btn:disabled,
.reservation-module .valider-commande .btn:disabled{
    background-color: #cccccc !important;
    border-color: #cccccc !important;
}

.reservation-module .boutons{
    display: flex;
    grid-gap: 1rem;
    align-items: center;
    flex-direction: column;
}

.reservation-module .ajouter-enfant,
.reservation-module .ajouter-meme-enfant,
.reservation-module .ajouter-autre-enfant{
    margin-top: 1rem;
    display: none;
}

.reservation-module .ajouter-enfant span,
.reservation-module .ajouter-meme-enfant span,
.reservation-module .ajouter-autre-enfant span{
    cursor: pointer;
}

.reservation-module .modal{
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4);
    z-index: 2;
}

.reservation-module .modal .modal-content{
    background-color: #fff;
    margin: 15% auto;
    padding: 1.5rem;
    width: 80%;
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 2rem;
    border-radius: 15px;
    position: relative;
}

.reservation-module .modal .modal-content .modal-header{
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 5px;
}

.reservation-module .modal .modal-content .modal-header h2{
    font-weight: 600;
    font-size: 25px;
    text-align: center;
}

.reservation-module .modal .modal-content .modal-header span.close{
    left: 30px;
    cursor: pointer;
    font-size: 25px;
    position: absolute;
}

.reservation-module .modal .modal-content .modal-header span.type-formule{
    font-size: 16px;
    font-weight: 400;
    text-align: center;
}

.reservation-module .modal .modal-content .modal-body,
.reservation-module .modal .modal-content .modal-body .form-date .semaines,
.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine,
.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine .bloc-semaine{
    width: 100%;
}

.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine{
    display: flex;
    flex-direction: column;
    grid-gap: 5px;
}

.reservation-module .modal .modal-content .modal-body .form-date{
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 1rem;
    margin-top: 0.5rem;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours,
.reservation-module .modal .modal-content .modal-body .form-date .jours .journee,
.reservation-module .modal .modal-content .modal-body .form-date .semaines{
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 1rem
}

.reservation-module .modal .modal-content .modal-body .form-date .semaines{
    padding: 0 1rem;
    grid-gap: 1.5rem;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .journee{
    grid-gap: 8px;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .journee span.date,
.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine span.date{
    font-weight: 700;
    font-size: 16px;
    text-transform: capitalize;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div,
.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine > div{
    background: #FCF7D7;
    padding: 2rem 1rem;
    border: 1px solid #D6D08C;
    border-radius: 7px;
    width: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    grid-gap: 10px;
    cursor: pointer;
    position: relative;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div .creneau{
    position: absolute;
    bottom: 0;
    font-size: 13px;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div.journee-entiere{
    height: 230px;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div.journee-entiere.nonreservable{
    height: 180px;
    cursor: not-allowed;
    background-color: #DDDDDD;
    border-color: #B7B7B7;
    color: #8D8D8D;
}
.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div.journee-entiere.nonreservable:before{
    display: none;
}


.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div.complet,
.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine > div.complet{
    cursor: not-allowed;
    background-color: #DDDDDD;
    border-color: #B7B7B7;
    color: #8D8D8D;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div::before,
.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine > div::before{
    content:'';
    width: 15px;
    height: 15px;
    background: #7bc8c8;
    display: block;
    border-radius: 100%;
    border: 1px solid #81B7AE;
    box-shadow: 1px 1.5px 0px 0px rgb(49 36 36 / 16%);
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div.complet::before,
.reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine > div.complet::before{
    background: #D20038;
    border: 1px solid #9A1438;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .divider:first-child{
    display: none;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .explication{
    flex-direction: column;
    margin-top: 2rem;
    display: none;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .explication > div{
    padding: 2rem 0;
    border-radius: 7px;
    width: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    grid-gap: 10px;
}

.reservation-module .modal .modal-content .modal-body .form-date .jours .divider{
    width: 100%;
    padding: 0;
    margin: 0;
    height: 0;
    display: none;
}

.reservation-module .modal .modal-content .modal-footer .btn{
    transform-origin: unset !important;
}

.reservation-module .modal .modal-content .modal-body .form-date .changer-semaine{
    display: flex;
    align-items: center;
    grid-gap: 15px;
    color: #7bc8c8;
    font-weight: 700;
    font-size: 15px;
    justify-content: center;
    position: relative;
}

.reservation-module .modal .modal-content .modal-body .form-date .changer-semaine span{
    text-align: center;
}

.reservation-module .modal .modal-content .modal-body .form-date .changer-semaine i{
    cursor: pointer;
    position: absolute;
}

.reservation-module .modal .modal-content .modal-body .form-date .changer-semaine .prev{
    display: none;
    left: -25px;
}

.reservation-module .modal .modal-content .modal-body .form-date .changer-semaine .next{
    right: -25px;
}

.reservation-module .loader{
    padding: 1rem 0;
}

.reservation-module .loader .loading{
    position: absolute;
    left: 50%;
    width: 50px;
    height: 50px;
    transform: translate(-50%, 0);
    display: none;
}

.shop_table td.product-name dl.variation.shortcode table,
.shop_table td.product-name dl.variation.shortcode table td{
    border: unset;
}

.shop_table td.product-name dl.variation.shortcode table td{
    padding: 8px 0 !important;
}

/* ADMIN PAGE ---------------------------------------------------------------------- */

.admin-reservations-page{
    padding: 1rem;
}

.admin-reservations-page .filtres{
    display: flex;
    grid-gap: 1rem;
    justify-content: end;
    width: 100%;
}

.admin-reservations-page .table-results{
    display: flex;
    border: 2px solid #7bc8c8;
    background: #fff;
    overflow: scroll;
    max-width: 1200px;
    border-radius: 20px;
    margin: 0 auto;
    margin-top: 2rem;
    box-shadow: 10px 10px 5px 0px rgb(0 0 0 / 15%);
    -webkit-box-shadow: 10px 10px 5px 0px rgb(0 0 0 / 15%);
    -moz-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.15);
}

.admin-reservations-page .table-results table:not(.sous-table){
    border-spacing: 0 3rem;
    width: 100%;
}

.admin-reservations-page .table-results table:not(.sous-table) tr.date-disabled{
    background: #f2f2f2;
    font-style: italic;
}

.admin-reservations-page .table-results table:not(.sous-table) tr.date-disabled td{
    padding: 10px 0;
}

.admin-reservations-page .table-results table td{
    text-align: center;
}

.admin-reservations-page .table-results table td.stock{
    font-weight: 700;
}

.admin-reservations-page .table-results table td a:focus{
    outline: none;
    box-shadow: unset;
}

.admin-reservations-page .table-results table td.options i{
    margin: 8px;
    font-size: 22px;
}

.admin-reservations-page .no-reservation{
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

.admin-reservations-page .table-results table td.delete-reservation a{
    color: red;
    text-decoration: none;
}
.admin-reservations-page .table-results table td.delete-reservation a:hover{
    opacity: 0.3;
}
.admin-reservations-page .table-results table td.titre-reservation{
    position: relative;
    cursor: pointer;
}

.admin-reservations-page .table-results table td.titre-reservation span{
    font-weight: 700;
}

.admin-reservations-page .table-results table td.titre-reservation .infobulle{
    display: none;
    border: 1px solid #000;
    padding: 1rem;
    position: absolute;
    background: #fff;
    border-radius: 10px;
    right: 30%;
    top: 0;
    z-index: 9;
    transform: translate(80%, -55%);
}

.admin-reservations-page .table-results table td.titre-reservation .infobulle p{
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 1rem;
}

.admin-reservations-page .table-results table tr.header-table th{
    font-size: 18px;
}

.admin-reservations-page .table-results table tbody tr:not(:last-child){
    position: relative;
}

.admin-reservations-page .table-results table.sous-table{
    width: 100%;
}

.admin-reservations-page .table-results table:not(.sous-table) > tbody > tr:not(:last-child)::after{
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    background: #7bc8c8;
    left: 0;
    bottom: -25px;
}

.admin-reservations-page .header-admin-reservation{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    grid-gap: 1rem;
}

.admin-reservations-page .header-admin-reservation .infos-places{
    display: flex;
    flex-direction: column;
}

.admin-reservations-page .table-results table.sous-table tr{
    display: flex;
    align-items: center;
    grid-gap: 1rem;
}

.admin-reservations-page .table-results table.sous-table tr td.left{
    text-align: initial;

}
.admin-reservations-page .table-results table.sous-table tr td a.edit{
    color: #7bc8c8;
    text-decoration: none;
}
.admin-reservations-page .table-results table.sous-table tr td a.edit:hover{
    opacity: 0.3;
}
.admin-reservations-page input[name="daterange"]{
    width: 175px;
}

.admin-reservations-page .table-results table tr.header-table th:last-child,
.admin-reservations-page .table-results table tr.header-table th:nth-last-child(1){
    max-width: 100px;
    display: flex;
    margin: 0 auto;
}

.shop_table.cart td.actions .button[name="apply_coupon"]{
    margin-bottom: 18px;
}

.shop_table.cart td.actions .button.empty-cart{
    display: flex;
    justify-content: center;
}



.admin-reservations-page i.icon_jour:before{

    content:'';
    display: inline-block;
    width: 15px;
    height: 15px;
}
.admin-reservations-page i.icon_jour.matin:before{
    background: green;
    width: 10px;
    height: 15px;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
    margin-right: 5px;
}
.admin-reservations-page i.icon_jour.apres-midi:before{
    background: blue;
    width: 10px;
    height: 15px;
    margin-left: 5px;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}
.admin-reservations-page i.icon_jour.full:before{
    background: red;
    border-radius: 15px;
}
.admin-reservations-page i span{
    display: none;
}

.admin-reservations-page i.icone:before{
    content:"";
    display: inline-block;
    width: 15px;
    height: 15px;
}

.admin-reservations-page i.icone.icone-dejeuner:before{
    content: url("../admin/assets/utensils-sharp-solid.svg");
}

.admin-reservations-page i.icone.icone-gouter:before{
    content: url("../admin/assets/apple-whole-solid.svg");

}


/* MEDIA QUERY ---------------------------------------------------------------------- */

@media screen and (min-width: 576px){
    .reservation-module .choisir-dates{
        display: flex;
        align-items: baseline;
        grid-gap: 8px;
        flex-direction: column;

    }

    .reservation-module .modal .modal-content .modal-body .form-date .jours{
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: center;
    }

    .shop_table td.product-name dl.variation.shortcode tbody{
        display: flex;
        flex-direction: column;
    }

    .reservation-module .valider-commande .btn{
        font-size: 20px;
    }

    .reservation-module .ajouter-enfant span,
    .reservation-module .ajouter-meme-enfant span,
    .reservation-module .ajouter-autre-enfant span{
        font-size: 16px;
    }
}

@media screen and (min-width: 768px){
    .reservation-module .reservation-form .infos-enfant{
        flex-direction: row;
    }

    .reservation-module .reservation-form .infos-enfant > div{
        width: calc(20% - 1rem);
    }

    .reservation-module .reservation-form .choisir-formule .formules,
    .reservation-module .reservation-form .choisir-options .options{
        flex-direction: row;
    }

    .reservation-module .modal .modal-content{
        width: 70%;
    }

    .reservation-module .modal .modal-content .modal-body .form-date .semaines .semaine .bloc-semaine{
        padding: 3rem 1rem;
    }

    .reservation-module .boutons{
        flex-direction: row;
    }

    .admin-reservations-page .table-results table:not(.sous-table){
        border-spacing: 0 3rem;
    }

    .admin-reservations-page .table-results{
        overflow: unset;
    }

    .admin-reservations-page .table-results table td.titre-reservation .infobulle{
        right: 50%;
        transform: translate(80%, -95%);
    }

    .admin-reservations-page .header-admin-reservation{
        justify-content: space-between;
    }
    .shop_table.cart td.actions .button.empty-cart{
        display: flex;
        width: fit-content;
    }

}

@media screen and (min-width: 992px){

    .reservation-module .modal .modal-content .modal-body .form-date .jours .divider{
        display: flex;
    }

    .reservation-module .modal .modal-content .modal-body .form-date .jours .explication{
        display: flex;
    }

    .reservation-module .modal .modal-content .modal-body .form-date .jours .journee > div .creneau{
        display: none;
    }
}

@media screen and (min-width: 1200px){

}
