.reservation-form{display:grid;grid-gap:10px}.reservation-form .form-group label{display:block}.reservation-form .form-group.radio-label{display:inline-block}.reservation-form .form-input,.reservation-form .form-select,.reservation-form .form-textarea{width:100%;padding:8px;margin-top:5px}.reservation-form .form-button{background:#5cb85c;color:#fff;border:none;padding:10px 20px;cursor:pointer}.reservation-form .form-button:hover{background:#449d44}.reservation-form .form-fieldset{border:none}.reservation-form .form-fieldset .fieldset-legend{font-size:1.2em}.reservation-form .radio-input{margin-right:5px}#product-link{text-decoration:underline}.form-group{margin-bottom:20px}.form-group .form-label{display:block;margin-bottom:5px}.form-group .form-input{width:100%;padding:10px;background-color:#fff;border:1px solid #ccc;color:#333;border-radius:4px}.form-group .form-input:focus{outline:none;border-color:#b3b3b3;box-shadow:0 0 8px rgba(204,204,204,.5)}.file-label{display:inline-block;padding:10px 20px;background-color:#f4f4f4;color:#333;border:1px solid #ccc;cursor:pointer}.file-label:hover{background-color:#e9e9e9}.file-input{display:none}.file-input:active+.file-label,.file-input:focus+.file-label{background-color:#e7e7e7}.calendar{border:1px solid #ccc;padding:10px;width:80%;margin:20px auto}.calendar .nav-button{border:none;background:none;cursor:pointer;font-size:20px}.calendar .calendar-month{text-align:center;font-size:18px;margin:10px 0}.calendar .calendar-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:5px}.calendar .day{padding:10px;border:1px solid #eee;cursor:pointer}.calendar .day:hover{background-color:#f0f0f0}.time-selector{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:1px solid #ccc;background-color:#fff;padding:20px;box-shadow:0 0 15px rgba(0,0,0,.2);width:300px;z-index:10}.time-selector h3{margin-top:0}.fc-event-time{display:none}.fc-event-main{display:none}.fc-daygrid-event{background-color:rgba(0,0,255,.1);border:none}.fc-day.notAvailable{background-color:#f0f0f0;cursor:not-allowed}table:not(.has-background) tbody tr td{background:#fff !important}.fc-daygrid-event{background:none}#time-slot-popup{position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);background:#fff;padding:20px;border:1px solid #ccc;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:1000}#time-slot-popup ul{list-style-type:none;padding:0}#time-slot-popup li{margin-bottom:10px}#time-slot-popup button{margin-top:10px}