/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: May 07 2025 | 02:00:23 */
section{opacity:1;position:relative;transition:opacity 0.3s ease}.hidden{opacity:0;pointer-events:none;position:absolute}#rsc-booking-form{display:block;padding:0}#rsc-booking-form button[type="submit"]{display:block;width:100%;padding:15px;font-size:16px;font-weight:600;color:#fff;background:#6a5c9e;border:none;border-radius:8px;cursor:pointer;transition:background-color 0.3s ease,transform 0.2s ease}#rsc-booking-form button[type="submit"]:hover{background:#5a4c8e}.calendar-wrapper{padding:60px 20px;background:linear-gradient(145deg,#f9f9fc,#eaeaf5);color:#4a4a6a}.calendar-title{text-align:center;font-size:32px;font-weight:600;margin-bottom:40px;color:#6a5c9e}.calendar-header{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:20px}.calendar-month{font-size:22px;font-weight:500;color:#4a4a6a}.calendar-nav{background:#d9d7f1;border:none;color:#4a4a6a;padding:10px 16px;font-size:20px;border-radius:8px;transition:all 0.2s ease}.calendar-nav:hover:enabled{background:#c7c4e8;cursor:pointer}.calendar-nav:disabled{opacity:.6;cursor:not-allowed}.calendar-days{text-transform:uppercase;font-size:12px;color:#8a87b3;margin-bottom:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-date{background:#eaeaf5;color:#4a4a6a;padding:18px 0;text-align:center;border-radius:10px;transition:0.2s;font-size:14px;font-weight:500}.calendar-date.available:hover{background:#d9d7f1;cursor:pointer}.calendar-date.today{border:2px solid #6a5c9e;background:#d9d7f1;color:#6a5c9e}.calendar-date.past{background:#f3f3f9;color:#a8a8c1;pointer-events:none;cursor:not-allowed}.calendar-date.empty{background:transparent}.daily-view{padding:100px 0;background:linear-gradient(145deg,#f9f9fc,#eaeaf5);color:#4a4a6a}.daily-title{font-size:24px;margin-bottom:30px;text-align:center;color:#6a5c9e}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-bottom:30px}.time-slot{background:#eaeaf5;padding:15px;border-radius:10px;text-align:center;transition:0.2s;color:#4a4a6a;font-size:14px;font-weight:500}.available-slot:hover{background:#d9d7f1;color:#4a4a6a;cursor:pointer}.back-button-wrap{margin-top:40px;text-align:center}.booked-slot{background:#f3f3f9;color:#a8a8c1;cursor:not-allowed;pointer-events:none;border-radius:10px;text-align:center;font-size:14px;font-weight:500;padding:15px}.weekly-view{padding:100px 0;background:linear-gradient(145deg,#f9f9fc,#eaeaf5);color:#4a4a6a}.weekly-header{margin-bottom:20px;justify-content:center;gap:20px}#current-week-label{font-size:20px;font-weight:600;color:#6a5c9e}.week-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;border-top:1px solid #d9d7f1;border-left:1px solid #d9d7f1}.week-grid .cell{border-right:1px solid #d9d7f1;border-bottom:1px solid #d9d7f1;padding:8px;font-size:12px;text-align:center;background:#eaeaf5;color:#4a4a6a}.week-grid .cell.time{background:#f3f3f9;color:#8a8a8a}.week-grid .cell.booked{background:#f3f3f9;color:#a8a8c1}.week-grid .cell.available:hover{background:#d9d7f1;cursor:pointer}.week-grid .day-header{background:#d9d7f1;font-weight:600;color:#4a4a6a}.calendar-view-toggle{margin:10px 0 20px}.calendar-view-toggle .calendar-nav{background:#d9d7f1;color:#4a4a6a;padding:8px 16px;font-size:14px;border-radius:6px;transition:0.2s}.calendar-view-toggle .calendar-nav:hover{background:#c7c4e8}.calendar-view-toggle .calendar-nav.active-view{background:#6a5c9e;color:#fff;font-weight:600}.cell.past,.time-slot.past{background:#f3f3f9;color:#a8a8c1;cursor:not-allowed;pointer-events:none}@media (max-width:820px){.calendar-wrapper{padding:40px 15px}.calendar-title{font-size:24px}.calendar-header{flex-direction:column;gap:10px}.calendar-nav{padding:8px 12px;font-size:16px}.calendar-grid{gap:6px}.calendar-date{padding:12px 0;font-size:12px}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.time-slot{padding:10px;font-size:12px}.weekly-view{padding:60px 15px}.week-grid .cell{padding:6px;font-size:10px}.week-grid .cell.time{font-size:10px}.calendar-view-toggle .calendar-nav{padding:6px 10px;font-size:12px}}@media (max-width:480px){.calendar-wrapper{padding:30px 10px}.calendar-title{font-size:20px}.calendar-header{flex-direction:column;gap:8px}.calendar-nav{padding:6px 10px;font-size:14px}.calendar-grid{gap:4px}.calendar-date{padding:8px 0;font-size:10px}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.time-slot{padding:8px;font-size:10px}.weekly-view{padding:40px 10px}.week-grid .cell{padding:4px;font-size:8px}.week-grid .cell.time{font-size:8px}.calendar-view-toggle .calendar-nav{padding:4px 8px;font-size:10px}}#booking-form{padding:40px 20px;background:#fff;color:#4a4a6a;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.1);max-width:800px;margin:20px auto}#booking-form h2{font-size:28px;font-weight:600;color:#6a5c9e;text-align:center;margin-bottom:20px}#booking-form .form-group{margin-bottom:20px}#booking-form label{display:block;font-size:14px;font-weight:500;color:#4a4a6a;margin-bottom:8px}#booking-form select,#booking-form input{width:100%;padding:12px 15px;font-size:14px;color:#4a4a6a;background:#f9f9fc;border:1px solid #d9d7f1;border-radius:8px;margin-bottom:10px;transition:border-color 0.3s ease,box-shadow 0.3s ease}#booking-form select:focus,#booking-form input:focus{border-color:#6a5c9e;box-shadow:0 0 5px rgba(106,92,158,.5);outline:none}#booking-form select option{color:#4a4a6a}#booking-form input::placeholder{color:#a8a8c1}#booking-form p{font-size:12px;color:#8a8a8a;margin-bottom:10px}#booking-form hr{border:0;border-top:1px solid #d9d7f1;margin:20px 0}.time-slot.selected,.cell.selected{outline:2px solid #6a5c9e;outline-offset:-2px;background:#d9d7f1!important;color:#4a4a6a}#booking-form button{display:block;width:100%;padding:12px 15px;font-size:16px;font-weight:600;color:#fff;background:#6a5c9e;outline:2px solid #6a5c9e;outline-offset:-2px;border-radius:8px;cursor:pointer;transition:background-color 0.3s ease,transform 0.2s ease,color 0.3s ease}#booking-form button:hover{background-color:#fff!important;color:#6a5c9e;outline:2px solid #6a5c9e;outline-offset:-2px}#selected-time-bubble{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;background-color:#eef2ff;border:1px solid #c3c8e5;border-radius:9999px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;color:#333;margin-top:1rem}#selected-time-count{font-weight:600;margin-right:.5rem}.selected-times{display:flex;flex-wrap:wrap;gap:.5rem}.selected-time-item{background-color:#fff;padding:.25rem .5rem;border-radius:.375rem;border:1px solid #dcdfe6;white-space:nowrap}.clear-times{margin-left:auto;background:none;border:none;font-size:1.2rem;line-height:1;cursor:pointer;color:#666;padding:0 .25rem;transition:color 0.2s}.clear-times:hover{color:#000}.booking-submit-wrapper{margin-top:1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.btn.submit-booking{padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color 0.2s,opacity 0.2s;background-color:#2563EB;color:#fff}.btn.submit-booking:disabled{background-color:#93C5FD;opacity:.7;cursor:not-allowed}.session-req.alert{text-align:center;font-size:.9rem;color:#475569;background-color:#F1F5F9;border:1px solid #CBD5E1;border-radius:.375rem;padding:.5rem;line-height:1.4;width:100%}.session-req{font-size:.9rem;color:#555}.booked-slot{background:#f3f3f9;color:#a8a8c1;cursor:not-allowed;pointer-events:none}#selected-time-bubble:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(106,92,158,.15)}#selected-time-bubble.hidden{display:none}#selected-time-display{margin-bottom:20px}#selected-time-placeholder{color:#8a8a8a}#booking-form button#clear-selected-time{width:unset;background:none;border:none;outline:none;font-weight:700;color:#6a5c9e;cursor:pointer;font-size:18px;line-height:1;padding:0;transition:color 0.2s ease}#clear-selected-time:hover{color:#4a3c8a}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:820px){#booking-form{padding:30px 15px}#booking-form h2{font-size:24px}#booking-form label{font-size:13px}#booking-form select,#booking-form input{padding:10px 12px;font-size:13px}#booking-form button{padding:10px 12px;font-size:14px}}@media (max-width:480px){#booking-form{padding:20px 10px}#booking-form h2{font-size:20px}#booking-form label{font-size:12px}#booking-form select,#booking-form input{padding:8px 10px;font-size:12px}#booking-form button{padding:8px 10px;font-size:12px}}