#top .reservation-form { }
#top .reservation-form .titre { font-size: 36px; font-weight: bold; margin:0 0 24px; padding: 0 16px;}
#top .reservation-form .text-center { text-align: center; }
#top .reservation-form .d-flex { display:flex; }
#top .reservation-form .flex-wrap { flex-wrap: wrap; }
#top .reservation-form .ms-2 { margin-left:8px;  }
#top .reservation-form .align-items-center { align-items: center; }
#top .reservation-form .align-items-top { align-items: flex-start; }
#top .reservation-form .justify-content-start { justify-content: start; }
#top .reservation-form .justify-content-center { justify-content: center; }
#top .reservation-form .col-6 { flex: 0 0 50%; padding: 0 16px; }
#top .reservation-form .col-12 { flex: 0 0 100%; padding: 0 16px; }
#top .reservation-form .px-0 { padding-left:0; padding-right:0; }
#top .reservation-form #reservation-dates input { display:none; }
#top .reservation-form #reservation-times input { display:none; }

#top .reservation-form #reservation-dates, #top .reservation-form #reservation-times { padding-top:16px;}

#top .reservation-form .jour input:checked + span { background:#3F4B61; color:#fff; }
#top .reservation-form .jour span { cursor:pointer; font-size:18px; font-weight:normal; display: inline-block; padding: 10px 18px; line-height: 20px; border:1px solid #f3f2f1; border-radius: 4px; margin:0 5px 5px 0; }
#top .reservation-form .jour span:hover { box-shadow: 0 2px 8px hsla(0,0%,85%,.5); }

#top .reservation-form .liste_jour { width:100%; display: none; list-style: none; margin:0; padding:0;}
#top .reservation-form .liste_jour.active {display:flex;}
#top .reservation-form .liste_jour li input:checked + span { background:#3F4B61; color:#fff; }
#top .reservation-form .liste_jour li span { cursor:pointer; font-size:18px; font-weight:normal; display: inline-block; width:150px; text-align: center; padding: 10px 18px; line-height: 20px; border:1px solid #f3f2f1; border-radius: 4px; margin:0 5px 5px 0; }
#top .reservation-form .el_hover:hover span { box-shadow: 0 2px 8px hsla(0,0%,85%,.5); }


#top .reservation-form .btn-contact { display: inline-block;font-weight: bold; cursor:pointer; transition: background 0.35s ease-in-out;text-transform: uppercase; background: #d3c6a0;font-size: 18px; color: #2e3540; padding: 8px 18px; margin-top: 24px; border:0;}
#top .reservation-form .btn-contact:hover { background:#fff; }


.message_confirmation { text-align: center; padding:15px 30px; font-weight: 700; font-size: 24px; background-color:#d3c6a0; color:#000; }
.message_confirmation_demande { text-align: center; padding:15px 30px; font-weight: 700; font-size: 24px; background-color:#d3c6a0; color:#000; }
.btn_refuse { display:inline-block; padding: 5px 18px; font-size: 16px; background:#999; font-style: italic; color:#fff!important; border:0; margin:20px 5px; cursor:pointer;}
.btn_valide { display:inline-block;  padding: 5px 18px; font-size: 16px; background: #c84614; font-weight: bold; color:#fff; border:0; margin:20px 5px; cursor:pointer;}

#top .reservation-form .loadertime {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #333;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 1s linear infinite;
    margin: 10px auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}