.booking-page{background:var(--deep-navy);min-height:100vh;color:var(--net-white)}.booking-header{border-bottom:1px solid #ffffff0d;padding:1.5rem 2rem}.booking-logo{display:inline-block}.booking-main{max-width:1000px;margin:0 auto;padding:2rem}.booking-container{background:linear-gradient(135deg,#ffffff08 0%,#ffffff03 100%);border:1px solid #ffffff14;border-radius:24px;padding:2.5rem}.booking-title{text-align:center;margin-bottom:2rem}.booking-title h1{color:var(--pickle-green);margin-bottom:.5rem;font-family:Bebas Neue,sans-serif;font-size:3rem}.booking-title p{color:#f5f5f799;font-size:1.1rem}.booking-progress{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:3rem;display:flex}.progress-step{opacity:.4;align-items:center;gap:.5rem;transition:opacity .3s;display:flex}.progress-step.active,.progress-step.completed{opacity:1}.step-number{background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:600;transition:all .3s;display:flex}.progress-step.active .step-number{background:var(--pickle-green);color:var(--deep-navy)}.progress-step.completed .step-number{color:var(--pickle-green);background:#cdff0033}.step-label{font-size:.85rem;display:none}.progress-line{background:#ffffff1a;width:40px;height:2px}@media (min-width:640px){.step-label{display:block}.progress-line{width:60px}}.step-content{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.step-header svg{color:var(--pickle-green)}.step-header h2{margin:0;font-family:Bebas Neue,sans-serif;font-size:1.75rem}.back-btn{color:#f5f5f799;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 0;font-size:.9rem;transition:color .2s;display:inline-flex}.back-btn:hover{color:var(--net-white)}.date-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;display:grid}.date-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;transition:all .2s;display:flex}.date-card:hover{border-color:var(--pickle-green);background:#cdff001a;transform:translateY(-2px)}.date-card.weekend{background:#ffbf000d;border-color:#ffbf0033}.date-card.weekend:hover{background:#ffbf001a;border-color:#ffbf00}.date-day{color:var(--net-white);font-family:Bebas Neue,sans-serif;font-size:2rem;line-height:1}.date-label{color:#f5f5f799;font-size:.75rem}.date-badge{color:#1a1a2e;background:#ffbf00;border-radius:20px;margin-top:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:600}.step-hint{color:#f5f5f780;margin-top:-.5rem;margin-bottom:1rem;font-size:.9rem}.weekend-notice{color:#ffbf00;background:#ffbf001a;border:1px solid #ffbf004d;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.time-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.time-card{cursor:pointer;background:#ffffff0d;border:2px solid #ffffff1f;border-radius:12px;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;transition:all .2s;display:flex;position:relative}.time-card:hover{border-color:var(--pickle-green);background:#cdff001a;transform:translateY(-2px)}.time-card.peak{border-color:#ffbf0040}.time-card.peak:hover{background:#ffbf001a;border-color:#ffbf00}.time-card.selected{border-color:var(--pickle-green);background:#cdff0026;box-shadow:0 0 0 2px #cdff0033}.time-card.selected.peak{background:#ffbf0026;border-color:#ffbf00;box-shadow:0 0 0 2px #ffbf0033}.time-check{background:var(--pickle-green);width:20px;height:20px;color:var(--deep-navy);opacity:0;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:6px;right:8px;transform:scale(.5)}.time-card.selected .time-check{opacity:1;transform:scale(1)}.time-card.selected.peak .time-check{background:#ffbf00}.time-label{color:var(--net-white);font-family:Bebas Neue,sans-serif;font-size:1.5rem;line-height:1}.time-type{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:.15rem .5rem;font-size:.7rem}.time-type.off-peak{color:var(--pickle-green);background:#cdff0033}.time-type.peak{color:#ffbf00;background:#ffbf0040}.time-type.booked{color:#fff6;background:#ffffff1a}.time-card.unavailable{opacity:.4;cursor:not-allowed;background:#ffffff05;border-color:#ffffff0d}.time-card.unavailable:hover{background:#ffffff05;border-color:#ffffff0d;transform:none}.time-card.unavailable .time-label{color:#fff6}.time-card.unavailable .time-price{color:#ffffff4d}.availability-indicator{white-space:nowrap;border-radius:10px;margin-top:.25rem;padding:.2rem .5rem;font-size:.65rem;font-weight:600}.availability-indicator.last{color:#ff6b4a;background:#ff6b4a33;animation:1.5s ease-in-out infinite pulse}.availability-indicator.limited{color:#ffbf00;background:#ffbf0026}.availability-indicator.available{display:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.loading-state{color:#f5f5f799;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;display:flex}.loading-state .spinner{width:32px;height:32px}.no-courts-message{text-align:center;color:#f5f5f799;padding:3rem 1rem}.no-courts-message p{margin-bottom:1.5rem;font-size:1.1rem}.no-courts-message .back-btn{margin:0 auto}.time-price{color:#f5f5f7b3;margin-top:.25rem;font-size:.85rem}.time-selection-footer{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem;display:flex}.selection-summary{flex-direction:column;gap:.25rem;display:flex}.selection-count{color:#f5f5f799;font-size:.85rem}.selection-total{color:var(--pickle-green);font-family:Bebas Neue,sans-serif;font-size:1.75rem}.continue-btn{background:var(--pickle-green);color:var(--deep-navy);cursor:pointer;border:none;border-radius:50px;padding:.9rem 2rem;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;transition:all .3s}.continue-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #cdff004d}.court-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.court-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;padding:2rem;transition:all .3s;display:flex}.court-card:hover{border-color:var(--pickle-green);background:#cdff000d;transform:translateY(-4px);box-shadow:0 10px 40px #0003}.court-visual{width:100px;height:120px}.court-visual svg{width:100%;height:100%}.court-name{font-family:Bebas Neue,sans-serif;font-size:1.5rem}.details-step{max-width:100%}.details-layout{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.details-layout{grid-template-columns:1fr 320px}}.details-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{font-size:.9rem;font-weight:500}.required{color:#ff6b6b}.input-wrapper{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:.75rem;padding:0 1rem;transition:all .2s;display:flex}.input-wrapper:focus-within{border-color:var(--pickle-green);background:#cdff0008}.input-wrapper svg{color:#f5f5f766;flex-shrink:0}.input-wrapper input{color:var(--net-white);background:0 0;border:none;outline:none;flex:1;padding:.9rem 0;font-family:DM Sans,sans-serif;font-size:1rem}.input-wrapper input::placeholder{color:#f5f5f74d}.form-group textarea{color:var(--net-white);resize:vertical;background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;outline:none;min-height:80px;padding:.9rem 1rem;font-family:DM Sans,sans-serif;font-size:1rem;transition:all .2s}.form-group textarea:focus{border-color:var(--pickle-green);background:#cdff0008}.form-group textarea::placeholder{color:#f5f5f74d}.terms-agreement{background:#ffffff05;border:1px solid #ffffff1a;border-radius:12px;margin:1.5rem 0;padding:1rem}.terms-checkbox{cursor:pointer;align-items:flex-start;gap:.75rem;line-height:1.5;display:flex}.terms-checkbox input[type=checkbox]{opacity:0;cursor:pointer;position:absolute}.checkbox-custom{background:0 0;border:2px solid #ffffff4d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;transition:all .2s;display:flex}.checkbox-custom:after{content:"✓";color:var(--deep-navy);opacity:0;font-size:14px;font-weight:700;transition:all .2s;transform:scale(0)}.terms-checkbox input:checked+.checkbox-custom{background:var(--pickle-green);border-color:var(--pickle-green)}.terms-checkbox input:checked+.checkbox-custom:after{opacity:1;transform:scale(1)}.terms-checkbox:hover .checkbox-custom{border-color:var(--pickle-green)}.terms-text{color:#fffc;font-size:.95rem}.terms-link{color:var(--pickle-green);font-weight:600;text-decoration:underline}.terms-link:hover{color:#fff}.submit-btn{background:var(--pickle-green);color:var(--deep-navy);cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:1rem 2rem;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;transition:all .3s;display:flex}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #cdff004d}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.booking-summary{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;height:fit-content;padding:1.5rem;position:sticky;top:2rem}.booking-summary h3{color:var(--pickle-green);border-bottom:1px solid #ffffff1a;margin-bottom:1rem;padding-bottom:.75rem;font-family:Bebas Neue,sans-serif;font-size:1.25rem}.summary-items{flex-direction:column;gap:1rem;display:flex}.summary-item{gap:.75rem;display:flex}.summary-item svg{color:var(--pickle-green);flex-shrink:0;margin-top:2px}.summary-item>div{flex-direction:column;gap:.15rem;display:flex}.summary-label{color:#f5f5f780;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.summary-value{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.type-badge{text-transform:uppercase;border-radius:20px;padding:.15rem .5rem;font-size:.65rem}.type-badge.off-peak{color:var(--pickle-green);background:#cdff0033}.type-badge.peak{color:#ffbf00;background:#ffbf0040}.summary-slots{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.summary-slot{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.summary-total{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;font-weight:600;display:flex}.total-price{color:var(--pickle-green);font-family:Bebas Neue,sans-serif;font-size:2rem}.result-content{text-align:center;padding:3rem 1rem;animation:.5s fadeIn}.result-icon{background:#cdff001a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;display:flex}.result-icon svg{color:var(--pickle-green)}.result-icon.error{background:#ff6b4a1a}.result-icon.error span{color:var(--warm-coral);font-size:3rem;font-weight:700}.result-content h2{margin-bottom:.75rem;font-family:Bebas Neue,sans-serif;font-size:2.5rem}.result-content.success h2{color:var(--pickle-green)}.result-content.error h2{color:var(--warm-coral)}.result-content p{color:#f5f5f799;max-width:400px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.1rem}.btn-primary{background:var(--pickle-green);color:var(--deep-navy);cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:.5rem;padding:1rem 2rem;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #cdff004d}.session-pack-section{border-bottom:1px solid #ffffff14;margin-bottom:1.5rem;padding-bottom:1.5rem}.pack-toggle{cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .2s;display:flex}.pack-toggle:hover{background:#ffffff0d;border-color:#ffffff26}.pack-toggle input[type=checkbox]{display:none}.toggle-slider{background:#ffffff26;border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:all .3s;position:relative}.toggle-slider:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;top:2px;left:2px}.pack-toggle input[type=checkbox]:checked+.toggle-slider{background:var(--pickle-green)}.pack-toggle input[type=checkbox]:checked+.toggle-slider:after{transform:translate(20px)}.toggle-label{color:#f5f5f7cc;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.toggle-label svg{opacity:.6}.pack-toggle input[type=checkbox]:checked~.toggle-label{color:var(--pickle-green)}.pack-toggle input[type=checkbox]:checked~.toggle-label svg{opacity:1}.pack-code-section{margin-top:1rem;animation:.3s fadeIn}.pack-inputs{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}@media (min-width:480px){.pack-inputs{grid-template-columns:1fr 1.5fr auto;gap:.5rem;display:grid}}.pack-code-input{display:flex}.pack-code-input input{width:100%;color:var(--net-white);letter-spacing:.05em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;outline:none;flex:1;padding:.75rem 1rem;font-family:Bebas Neue,monospace;font-size:1rem}.pack-code-input.email input{letter-spacing:0;text-transform:none;font-family:DM Sans,sans-serif}.pack-code-input input:focus{border-color:var(--pickle-green);background:#cdff0008}.pack-code-input input::placeholder{letter-spacing:0;text-transform:none;color:#f5f5f74d;font-family:DM Sans,sans-serif;font-size:.85rem}.verify-btn{background:var(--pickle-green);color:var(--deep-navy);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;min-width:50px;padding:0 1rem;font-size:1.25rem;font-weight:700;transition:all .2s;display:flex}.verify-btn:hover:not(:disabled){transform:translate(2px)}.verify-btn:disabled{opacity:.5;cursor:not-allowed}.verify-btn .spinner{width:18px;height:18px}.pack-status{border-radius:10px;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.9rem}.pack-status.error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;align-items:center;gap:.5rem;display:flex}.pack-status.success{background:#cdff0014;border:1px solid #cdff004d}.pack-verified{color:var(--pickle-green);align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:500;display:flex}.pack-info-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;display:grid}.pack-info-item{text-align:center;background:#0003;border-radius:8px;padding:.5rem}.pack-info-item .info-value{color:var(--net-white);font-family:Bebas Neue,sans-serif;font-size:1.5rem;display:block}.pack-info-item .info-label{color:#f5f5f780;font-size:.75rem;display:block}.pack-reminder{color:#f5f5f799;text-align:center;font-size:.85rem}.pack-reminder strong{color:var(--pickle-green)}.buy-pack-link{color:#f5f5f780;text-align:center;margin-top:.75rem;font-size:.85rem}.buy-pack-link a{color:var(--pickle-green);text-decoration:none}.buy-pack-link a:hover{text-decoration:underline}.total-price.from-pack{color:var(--pickle-green);font-size:1rem}@media (max-width:640px){.booking-main{padding:1rem}.booking-container{border-radius:16px;padding:1.5rem}.booking-title h1{font-size:2.5rem}.date-grid{grid-template-columns:repeat(3,1fr)}.time-grid{grid-template-columns:repeat(2,1fr)}.court-grid{grid-template-columns:1fr}.booking-summary{position:static}.time-selection-footer{text-align:center;flex-direction:column}.selection-summary{align-items:center}.continue-btn{width:100%}}.user-benefits-section{background:#cdff0008;border:1px solid #cdff0026;border-radius:16px;margin-bottom:1.5rem;padding:1.25rem}.credit-banner{background:#6366f11a;border:1px solid #6366f133;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.credit-banner.applied{background:#6366f133;border-color:#6366f166}.credit-icon{font-size:1.2rem}.apply-credit-btn{color:#fff;cursor:pointer;background:#818cf8;border:none;border-radius:6px;margin-left:auto;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s}.apply-credit-btn:hover{background:#6366f1}.loyalty-banner{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2433;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.loyalty-icon{font-size:1.2rem}.user-packs-section h4{color:#fffc;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.user-packs-list{flex-wrap:wrap;gap:.75rem;display:flex}.user-pack-card{cursor:pointer;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .2s;display:flex;position:relative}.user-pack-card:hover:not(:disabled){background:#ffffff14;border-color:#cdff004d}.user-pack-card.selected{background:#cdff001a;border-color:#cdff00}.user-pack-card:disabled{opacity:.5;cursor:not-allowed}.pack-sessions-badge{color:#000;background:linear-gradient(135deg,#cdff00,#a3cc00);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;font-weight:700;display:flex}.pack-card-details{flex-direction:column;gap:.15rem;display:flex}.pack-code-label{color:#fff;font-size:.85rem;font-weight:600}.pack-expiry{color:#ffffff80;font-size:.75rem}.pack-selected-check{color:#000;background:#cdff00;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.selected-pack-reminder{color:#ffffffb3;background:#cdff000d;border-radius:8px;margin-top:.75rem;padding:.6rem .8rem;font-size:.85rem}.selected-pack-reminder strong{color:#cdff00}.sign-in-prompt{text-align:center;color:#ffffffb3;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.sign-in-prompt a{color:#cdff00;font-weight:600;text-decoration:none}.sign-in-prompt a:hover{text-decoration:underline}@media (max-width:600px){.user-packs-list{flex-direction:column}.user-pack-card{width:100%}.credit-banner,.loyalty-banner{flex-wrap:wrap}.apply-credit-btn{width:100%;margin-top:.5rem;margin-left:0}}.total-with-credit{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.total-with-credit .original-price{color:#ffffff80;font-size:.9rem;text-decoration:line-through}.total-with-credit .credit-applied{color:#818cf8;font-size:.85rem}.total-with-credit .total-price.final{color:#cdff00;font-size:1.5rem;font-weight:700}
