.simple-calendar{margin-left:0;width:100%;-webkit-animation:fadeIn 1s;animation:fadeIn 1s}.simple-calendar .calendar-heading{display:flex;flex-direction:column;align-items:center;justify-content:center}.simple-calendar .calendar-heading nav{margin:0px 0;display:flex;justify-content:center;align-items:center;gap:50px;font-size:16px}.simple-calendar .calendar-heading nav a{padding:20px}.simple-calendar .calendar-heading nav .calendar-title{font-weight:400;font-size:14px;line-height:100%}.simple-calendar thead{display:none}.simple-calendar table{display:table;border-spacing:0;border-collapse:collapse;width:100%}.simple-calendar tr{display:flex;gap:20px;justify-content:space-between;margin-bottom:15px}.simple-calendar .date-column{width:20px;height:35px;text-align:center;border-right:1px solid #DDDDDD}.simple-calendar .date-column.past-date .date-number{color:#DDDDDD}.simple-calendar .date-column.future-date.sat .date-number{color:#0452CE}.simple-calendar .date-column.future-date.sun .date-number{color:#C13636}.simple-calendar .date-column:last-child{border-right:none}.simple-calendar .date-column .date-header .date-day{font-family:"Hiragino Sans", sans-serif;font-weight:400;font-size:12px;line-height:1em;color:#747474;text-align:center}.simple-calendar .date-column .date-header .date-day.sun{color:#C13636}.simple-calendar .date-column .date-header .date-day.sat{color:#0452CE}.simple-calendar .date-column .booking-slot{display:flex;align-items:center;flex-direction:column;gap:5px;padding:5px 0}.simple-calendar .date-column .booking-slot .date-number{font-family:"Hiragino Sans", sans-serif;font-weight:400;font-size:14px;line-height:1em;text-align:center}.simple-calendar .date-column .booking-slot .slot-available{cursor:pointer;text-align:center;width:16px;height:16px}.simple-calendar .date-column .booking-slot .slot-unavailable{text-align:center;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.simple-calendar .date-column .booking-slot .slot-type{color:#BBBBBB;font-size:10px;font-weight:bold;cursor:pointer;text-align:center}.simple-calendar .booking-legend{display:flex;gap:20px;margin-top:15px;justify-content:flex-start}.simple-calendar .booking-legend .legend-item{display:flex;align-items:center;gap:5px;font-family:"Hiragino Sans", sans-serif;font-weight:400;font-size:10px;line-height:1em;color:#B7B7B7}.simple-calendar .booking-legend .available-circle{display:inline-block;width:10px;height:10px;border:1px solid #C13636;border-radius:50%;position:relative}.simple-calendar .booking-legend .available-circle:after{content:'';position:absolute;top:2px;left:2px;width:4px;height:4px;background:transparent;border:1px solid #C13636;border-radius:50%}.simple-calendar .booking-legend .unavailable-mark{display:inline-block;width:10px;height:1px;background-color:#DDDDDD}.simple-calendar .booking-legend .tel-mark{color:#BBBBBB}.booking-panel{width:315px;margin:0 auto;background:#ffffff;border-radius:10px;box-shadow:0px 0px 4px 0px rgba(0,0,0,0.15);overflow:hidden}.booking-panel-header{padding:20px;text-align:center;font-family:"Hiragino Sans", sans-serif;font-weight:600;font-size:16px;line-height:1em;letter-spacing:0.04em;color:#333333}.booking-panel-body{padding:20px}.booking-panel .booking-form-group{margin-bottom:15px;display:flex;align-items:center;justify-content:space-around}.booking-panel .booking-form-group.date{flex-direction:column;align-items:center}.booking-panel .booking-form-group label{display:block;font-family:"Hiragino Sans", sans-serif;font-weight:600;font-size:14px;line-height:1em;letter-spacing:0.02em;color:#333333;width:67px}.booking-panel .select-date-wrapper{display:flex;align-items:center;justify-content:space-around}.booking-panel .select-wrapper{position:relative}.booking-panel .select-wrapper::after{content:'';position:absolute;top:50%;right:15px;transform:translateY(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #333;pointer-events:none}.booking-panel .booking-select{width:208px;padding:10px 15px;font-family:"Hiragino Sans", sans-serif;font-weight:400;font-size:14px;line-height:1em;letter-spacing:0.02em;color:#333333;border:1px solid #DDDDDD;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:white;cursor:pointer;box-sizing:border-box}.booking-panel .booking-select:focus{outline:none;border-color:#333333}.booking-panel .booking-date-select{width:208px;padding:10px 15px;font-family:"Hiragino Sans", sans-serif;font-weight:400;font-size:14px;line-height:1em;letter-spacing:0.02em;color:#333333;border:1px solid #DDDDDD;border-radius:3px;cursor:pointer;position:relative;z-index:1;box-sizing:border-box;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>');background-repeat:no-repeat;background-position:right 15px center;background-size:16px}.booking-panel .booking-date-select:focus{outline:none;border-color:#333333}.booking-panel .radio-wrapper .booking-radio{display:none}.booking-panel .radio-wrapper .booking-radio:checked+.radio-label .radio-circle{border-color:#333333}.booking-panel .radio-wrapper .booking-radio:checked+.radio-label .radio-circle:after{transform:scale(1)}.booking-panel .radio-wrapper .radio-label{display:flex;align-items:center;cursor:pointer;font-family:"Hiragino Sans", sans-serif;font-weight:400;font-size:14px;line-height:1em;letter-spacing:0.02em;color:#333333}.booking-panel .radio-wrapper .radio-label .radio-circle{width:18px;height:18px;border:1px solid #DDDDDD;border-radius:50%;margin-right:8px;position:relative}.booking-panel .radio-wrapper .radio-label .radio-circle:after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0);width:10px;height:10px;border-radius:50%;background:#333333;transition:transform 0.2s}.booking-panel .booking-status-legend{display:flex;flex-direction:column;gap:10px;margin:15px 0}.booking-panel .booking-status-legend .status-item{display:flex;align-items:center;gap:8px;font-family:"Hiragino Sans", sans-serif;font-weight:400;font-size:14px;line-height:1em;color:#333333}.booking-panel .booking-status-legend .status-circle{width:16px;height:16px;position:relative}.booking-panel .booking-status-legend .status-circle.available:before,.booking-panel .booking-status-legend .status-circle.available:after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;border:1.5px solid #C13636}.booking-panel .booking-status-legend .status-circle.unavailable:before{content:'';position:absolute;width:16px;height:1.5px;background:#DDDDDD;top:50%;transform:translateY(-50%)}.booking-panel .booking-status-legend .status-text{color:#333333}.booking-panel .booking-submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:17px 20px;background:#333333;color:#FFFFFF;border:none;border-radius:100px;font-family:"Hiragino Sans", sans-serif;font-weight:600;font-size:16px;line-height:1em;letter-spacing:0.05em;text-align:center;cursor:pointer;transition:background 0.3s;box-shadow:0px 0px 4px 0px rgba(0,0,0,0.2)}.booking-panel .booking-change-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:17px 20px;background:#DDDDDD;color:#FFFFFF;border:none;border-radius:100px;font-family:"Hiragino Sans", sans-serif;font-weight:600;font-size:16px;line-height:1em;letter-spacing:0.05em;text-align:center;cursor:pointer;transition:background 0.3s}.office-calendar-container-body-ajax{position:relative;left:0;width:100%;z-index:1000;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);transition:max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.3s ease,visibility 0.3s ease,padding 0.3s ease,margin 0.3s ease;-webkit-transition:max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.3s ease,visibility 0.3s ease,padding 0.3s ease,margin 0.3s ease;padding:0;margin-top:0;pointer-events:none}.office-calendar-container-body-ajax.calendar-container-open{max-height:500px;opacity:1;visibility:visible;pointer-events:auto;-webkit-animation:fadeIn 0.4s;animation:fadeIn 0.4s}.office-calendar-container-body-ajax.calendar-container-closed{max-height:0;opacity:0;visibility:hidden;pointer-events:none;padding:0;margin-top:0}.office-calendar-container-body-ajax .simple-calendar{margin-left:0;background:white;width:100%}.office-calendar-container-body-ajax .simple-calendar tr{gap:20px}.select-date-wrapper{position:relative}.step-form-modal-calendar{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.95);width:100%;max-width:315px;background:white;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:1000;opacity:0;visibility:hidden;transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.3s ease,visibility 0.3s ease;padding:16px;pointer-events:none}.step-form-modal-calendar.step-form-modal-calendar-open{transform:translate(-50%, -50%) scale(1);opacity:1;visibility:visible;pointer-events:auto;-webkit-animation:fadeIn 0.4s;animation:fadeIn 0.4s}.step-form-modal-calendar.step-form-modal-calendar-closed{transform:translate(-50%, -50%) scale(0.95);opacity:0;visibility:hidden;pointer-events:none}.step-form-modal-calendar-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:999;opacity:0;visibility:hidden;transition:opacity 0.3s ease, visibility 0.3s ease;pointer-events:none}.step-form-modal-calendar-wrapper.calendar-container-open{opacity:1;visibility:visible;pointer-events:auto;display:flex;justify-content:center;align-items:center;-webkit-animation:fadeIn 0.4s;animation:fadeIn 0.4s}.step-form-modal-calendar-wrapper.calendar-container-closed{opacity:0;visibility:hidden;pointer-events:none}@-webkit-keyframes fadeIn{from{opacity:0.2}to{opacity:1}}@keyframes fadeIn{from{opacity:0.2}to{opacity:1}}@media (max-width: 768px){.bookings-new-class .booking-form-group.date label{width:80px !important}}
