:root{--primary:#5a1c51;--primary-light:#fcf8fb;--primary-dark:#471540;--text-main:#2d3436;--text-muted:#636e72;--border-color:#dfe6e9;--bg-light:#f9f9f9;--white:#ffffff;--success:#00b894;--error:#d63031;--shadow:0 4px 12px rgba(0, 0, 0, 0.08);--shadow-hover:0 8px 24px rgba(90, 28, 81, 0.15);--radius:10px}#turtle-booking-wrapper{margin:0 auto;color:var(--text-main);background:var(--white);padding:0;border-radius:var(--radius);box-shadow:none}.booking-title{text-align:center;font-size:24px;font-weight:800;margin-bottom:30px;color:var(--primary);text-transform:uppercase;letter-spacing:.5px}#step-navigation-container{margin-bottom:30px}#booking-timer-container{margin-bottom:20px;animation:fadeIn 0.3s ease}.timer-box{display:flex;align-items:center;justify-content:center;gap:12px;background-color:#fff3f3;border:2px solid #fcc;padding:10px 15px;border-radius:var(--radius);color:#d63031;font-weight:700}.timer-text{font-size:12px}.timer-icon{font-size:18px}#booking-timer{font-size:18px;background:#fff;padding:2px 8px;border-radius:4px;border:1px solid #fcc;min-width:60px;text-align:center}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}#step-labels{display:flex;justify-content:space-between;margin-bottom:12px}@media (max-width:768px){#step-labels{display:none}#step-progress-bar{gap:4px}}.step-label{font-size:13px;font-weight:700;color:var(--text-muted);flex:1;text-align:left;transition:color 0.3s ease}.step-label.active{color:var(--primary)}#step-progress-bar{display:flex;gap:8px}.progress-segment{height:8px;background-color:var(--border-color);flex:1;border-radius:20px;transition:background-color 0.4s ease}.progress-segment.active{background-color:var(--primary)}.booking-step{display:none;opacity:0;transition:opacity 0.4s ease}.booking-step.active{display:block;opacity:1}.step-header{margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.step-instruction{font-size:16px;font-weight:700;margin:0;color:var(--text-main)}#booking-step-1 .step-content{display:flex;gap:30px}#calendar-container{flex:1.2}#time-slots-container{flex:1}.fc{border:1px solid var(--border-color);border-radius:var(--radius);padding:10px}.fc .fc-day-today{background-color:var(--white)!important}.fc .fc-toolbar-title{font-size:14px;font-weight:700;color:var(--primary)}.fc .fc-button-primary{background-color:var(--white);border-color:var(--border-color);color:var(--primary);padding:4px 8px;font-size:18px}.fc .fc-button-primary .fc-icon{color:var(--primary);font-weight:700}.fc .fc-button-primary:hover{background-color:var(--primary-light)}.fc-daygrid-day{cursor:pointer;transition:background 0.2s}.fc-daygrid-day:hover{background-color:var(--primary-light)!important}.fc-daygrid-day.selected-date{background-color:var(--primary)!important}.fc-daygrid-day.selected-date .fc-daygrid-day-number{color:var(--white)}#time-slots{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.time-slot{padding:8px;border:2px solid var(--border-color);border-radius:var(--radius);text-align:center;font-weight:600;font-size:13px;cursor:pointer;transition:all 0.2s ease}.time-slot:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}.time-slot.selected{background-color:var(--primary);color:var(--white);border-color:var(--primary)}.time-slot.disabled{background-color:#f5f5f5;border-color:#eee;color:#ccc;cursor:not-allowed;opacity:.6}.time-slot.status-full,.time-slot.status-inactive{background-color:#ffeaea;border-color:#fcc;color:#d63031}.time-slot.status-locked{background-color:#fff4e6;border-color:#ffe0b3;color:#e67e22}.time-slot.disabled:hover{border-color:#eee;color:#ccc;background-color:#f5f5f5}.turtle-sidebar-greeting{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.time-group-header{margin:20px 0 10px;font-size:14px;color:var(--primary);font-weight:700}.court-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:20px}.court-card{background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all 0.3s ease}.court-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--primary)}.court-card.selected{border-color:var(--primary);background-color:var(--primary-light)}.court-card.inactive{background-color:#f5f5f5;border-color:#eee;cursor:not-allowed;opacity:.7;filter:grayscale(.8)}.court-card.inactive:hover{transform:none;box-shadow:none;border-color:#eee}.court-card.inactive .select-indicator{color:var(--error)}.court-card-info{padding:12px;display:flex;justify-content:space-between;align-items:center}.court-card-info h5{margin:0;font-size:14px;font-weight:700}.court-price-label{font-size:13px;font-weight:700;color:var(--primary);background:var(--primary-light);padding:2px 6px;border-radius:4px}.select-indicator{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.court-card.selected .select-indicator{color:var(--primary)}#booking-summary-container{background-color:var(--bg-light);border-radius:var(--radius);padding:15px;font-family:'Firago',sans-serif}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--border-color)}.item-info{display:flex;flex-direction:column}.item-court{font-weight:700;font-size:14px}.item-time{font-size:12px;color:var(--text-muted)}.item-price{font-weight:700;font-size:14px;color:var(--primary)}.summary-total-wrapper{margin-top:15px;display:flex;justify-content:space-between;align-items:center;padding:10px;background:var(--white);border-radius:var(--radius);font-weight:800;font-size:18px}#summary-total-val.credit-applied{color:var(--success)}#credit-payment-section{margin-top:20px;padding:15px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius)}.guest-login-notice{margin-top:20px;padding:12px 15px;background-color:#f0f7ff;border:1px solid #cce5ff;border-radius:var(--radius);display:flex;align-items:center;gap:10px;font-size:14px;color:#004085}.guest-login-notice p{margin:0}.guest-login-notice a{color:var(--primary);font-weight:700;text-decoration:underline}.guest-login-notice a:hover{color:var(--primary-dark)}.credit-balance-info{display:flex;align-items:center;gap:10px;margin-bottom:10px}.custom-checkbox-container{display:block;position:relative;padding-left:35px;cursor:pointer;font-weight:600;font-size:14px;user-select:none}.custom-checkbox-container input{position:absolute;opacity:0;cursor:pointer}.checkmark{position:absolute;top:0;left:0;height:20px;width:20px;background-color:#eee;border-radius:6px}.custom-checkbox-container:hover input~.checkmark{background-color:#ccc}.custom-checkbox-container input:checked~.checkmark{background-color:var(--primary)}.checkmark:after{content:"";position:absolute;display:none}.custom-checkbox-container input:checked~.checkmark:after{display:block}.custom-checkbox-container .checkmark:after{left:7px;top:3px;width:4px;height:9px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}.modern-form .form-row{display:flex;gap:15px}.modern-form .form-group{flex:1;margin-bottom:15px}.modern-form label{display:block;font-weight:700;margin-bottom:6px;font-size:13px}.modern-form input,.modern-form textarea{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius);font-size:14px;transition:all 0.3s}.modern-form input:focus,.modern-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.terms-group{margin-top:20px}.terms-group a{color:var(--primary);text-decoration:underline;font-weight:700}.terms-group a:hover{color:var(--primary-dark)}.spinner{width:30px;height:30px;border:3px solid var(--primary-light);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:15px auto}.spinner-small{width:20px;height:20px;border:2px solid #eee;border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#booking-loader{text-align:center;padding:30px}.step-actions{display:flex;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}.step-actions button{padding:10px 30px;border:none;border-radius:var(--radius);font-weight:700;cursor:pointer;transition:all 0.3s;font-size:15px}.next-step,.primary-btn{background-color:var(--primary);color:var(--white)}.next-step:hover,.primary-btn:hover{background-color:var(--primary-dark)}.next-step:disabled{background-color:var(--border-color);color:var(--text-muted);cursor:not-allowed}.prev-step{background-color:var(--bg-light);color:var(--text-main);margin-right:auto}.prev-step:hover{background-color:var(--border-color)}.section-header-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header-toggle .section-title{margin-bottom:0}.toggle-btn{background:var(--bg-light);border:1px solid var(--border-color);border-radius:8px;padding:8px 16px;font-size:13px;font-weight:700;color:var(--text-main);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all 0.2s ease}.toggle-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.toggle-btn .arrow{transition:transform 0.3s ease}.toggle-btn.active .arrow{transform:rotate(180deg)}.collapsible-content{overflow:hidden;transition:max-height 0.4s ease-out,opacity 0.3s ease}#my-bookings{max-width:900px;margin:0 auto;padding:20px 0}.my-bookings-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.my-bookings-header h2{margin:0 0 10px 0;font-size:28px;font-weight:800}.user-credits-display{font-size:15px;color:var(--text-muted)}.user-credits-display span{color:var(--primary);font-weight:700}.create-booking-btn{text-decoration:none;padding:12px 25px!important}.bookings-section{margin-bottom:50px}.section-title{font-size:18px;font-weight:700;margin-bottom:20px;color:var(--text-main);display:flex;align-items:center;gap:10px}.section-title::after{content:"";flex:1;height:1px;background:var(--border-color)}.bookings-list{display:flex;flex-direction:column;gap:12px}.booking-row{background:var(--white);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;transition:all 0.2s ease}.booking-row:hover{border-color:var(--primary);box-shadow:0 4px 12px rgb(0 0 0 / .05)}.booking-row.past{background:#fafafa;opacity:.8}.booking-info{display:flex;flex-direction:column;gap:5px}.booking-court{font-size:16px;font-weight:700;color:var(--text-main)}.booking-date-time{font-size:14px;color:var(--text-muted);display:flex;align-items:center;gap:15px}.booking-date-time .icon{opacity:.6}.booking-meta{display:flex;align-items:center;gap:20px}.booking-actions{display:flex;gap:10px}.cancel-booking-link{background:none;border:none;color:#e74c3c;font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.cancel-booking-link:hover{color:#c0392b}.no-bookings-msg{color:var(--text-muted);font-style:italic;padding:20px;background:#f9f9f9;border-radius:8px;text-align:center}.booking-status{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-confirmed{background-color:#e6fff0;color:#27ae60}.status-pending{background-color:#fff9e6;color:#f39c12}.status-cancelled{background-color:#ffe6e6;color:#e74c3c}.status-rescheduled{background-color:#e6f7ff;color:#3498db}@media (max-width:600px){.booking-row{flex-direction:column;align-items:flex-start;gap:15px}.booking-meta{width:100%;justify-content:space-between;padding-top:15px;border-top:1px solid #f0f0f0}.my-bookings-header{flex-direction:column;align-items:flex-start;gap:20px}}#booking-summary-container{background:#fdfdfd;border-radius:12px;padding:20px;box-shadow:0 4px 15px rgb(0 0 0 / .05)}.summary-total-wrapper{margin-top:20px;padding-top:20px;border-top:2px solid #eee;text-align:right;font-size:1.2rem;font-weight:700}.discount-row{font-size:.9rem;color:#e44d26;margin-bottom:5px;font-weight:400}.final-price{color:#5a1c51}#coupon-section{margin:20px 0;padding:15px;background:#f9f9f9;border-radius:8px;border:1px dashed #ccc}.coupon-input-wrapper{display:flex;gap:10px}@media (max-width:480px){.coupon-input-wrapper{flex-direction:column}.coupon-input-wrapper button{width:100%}}.coupon-input-wrapper input{flex:1;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.coupon-input-wrapper button{padding:10px 20px;background:#5a1c51;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background 0.3s}.coupon-input-wrapper button:hover{background:#3e1338}#coupon-message{margin-top:10px;font-size:13px}@media (max-width:768px){#booking-step-1 .step-content{flex-direction:column}.modern-form .form-row{flex-direction:column;gap:0}.step-label{font-size:10px}#turtle-booking-wrapper{padding:15px;margin:10px}}