.booking-container,.success-container{--border-light:#e2e8f0;--text-muted:#718096;--text-dark:#2d3748;--success-green:#48bb78;--error-red:#f56565;--teal:#38b2ac}.booking-container{max-width:800px;margin:40px auto;padding:20px}.booking-hero{text-align:center;margin-bottom:40px}.booking-hero h1{font-size:2.5em;color:var(--primary-dark);margin-bottom:10px}.progress-steps{display:flex;justify-content:space-between;margin-bottom:40px;position:relative}.progress-steps::before{content:'';position:absolute;top:20px;left:0;right:0;height:2px;background:var(--border-light);z-index:-1}.step{display:flex;flex-direction:column;align-items:center;flex:1}.step-number{width:40px;height:40px;border-radius:50%;background:var(--border-light);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:bold;margin-bottom:8px;transition:background 0.3s,color 0.3s}.step.active .step-number{background:var(--primary-dark);color:white}.step.completed .step-number{background:var(--success-green);color:white}.step-label{font-size:0.85em;color:var(--text-muted);text-align:center}.step.active .step-label{color:var(--primary-dark);font-weight:600}.booking-step{background:var(--white-95);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);padding:40px;border-radius:16px;box-shadow:0 8px 32px var(--black-10),inset 0 1px 0 var(--white-45);display:none;animation:fadeIn 0.3s ease-out}.booking-step.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-description{color:var(--text-muted);margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-dark)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid var(--border-light);border-radius:8px;font-size:16px;transition:border-color 0.2s;background:white}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-dark)}.form-group small{display:block;margin-top:5px;color:var(--text-muted);font-size:0.9em}.bike-selection-item{background:linear-gradient(135deg,var(--white-95),rgba(248,250,252,0.9));border:2px solid var(--border-light);border-radius:12px;padding:20px;margin-bottom:15px;position:relative;transition:border-color 0.2s,box-shadow 0.2s}.bike-selection-item:hover{border-color:var(--primary-light);box-shadow:0 4px 12px var(--black-08)}.bike-selection-item.selected{border-color:var(--primary-dark)}.remove-bike-btn{position:absolute;top:10px;right:10px;background:var(--error-red);color:white;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:18px;transition:transform 0.2s}.remove-bike-btn:hover{transform:scale(1.1)}.bike-select option:disabled{color:#999;background-color:#f0f0f0;font-style:italic}.calendar-container{background:var(--white-95);border-radius:12px;padding:20px;box-shadow:0 4px 16px var(--black-10);margin-bottom:30px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--border-light)}.calendar-header h3{margin:0;font-size:1.5em;color:var(--primary-dark)}.calendar-nav-btn{background:transparent;color:var(--primary-dark);border:2px solid var(--primary-light);border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer;transition:background 0.2s,transform 0.2s}.calendar-nav-btn:hover{background:var(--primary-light);transform:scale(1.1)}.calendar-nav-btn:disabled{border-color:#cbd5e0;color:#a0aec0;cursor:not-allowed;transform:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-day-header{text-align:center;font-weight:bold;padding:10px;color:var(--primary-dark);font-size:14px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-light);border-radius:8px;cursor:pointer;transition:background 0.2s,border-color 0.2s,transform 0.2s;font-weight:500;position:relative;background:white}.calendar-day:hover:not(.disabled):not(.other-month){background:#ebf8ff;border-color:var(--primary-dark);transform:scale(1.05)}.calendar-day.other-month{color:#cbd5e0;cursor:default}.calendar-day.disabled{color:#cbd5e0;text-decoration:line-through;cursor:not-allowed;background:#f7fafc}.calendar-day.today{background:var(--primary-light-25);border-color:var(--primary-light);font-weight:bold}.calendar-day.selected-start{background:var(--success-green);color:white;border-color:var(--success-green);font-weight:bold}.calendar-day.selected-end{background:var(--primary-dark);color:white;border-color:var(--primary-dark);font-weight:bold}.calendar-day.in-range{background:rgba(190,227,248,0.6);border-color:#90cdf4}.calendar-day.selected-start::after,.calendar-day.selected-end::after{position:absolute;top:2px;right:2px;font-size:10px}.calendar-day.selected-start::after{content:'📍'}.calendar-day.selected-end::after{content:'🏁'}.calendar-day.selected-start.selected-end{background:linear-gradient(135deg,var(--success-green) 50%,var(--primary-dark) 50%);border-color:var(--primary-dark)}.calendar-day.selected-start.selected-end::after{content:'1️⃣'}.selected-dates-display{background:var(--primary-light-15);border-radius:8px;padding:15px;margin-top:20px;display:flex;justify-content:space-between;align-items:center}.selected-dates-display p{margin:5px 0;font-size:16px}.btn-clear-dates{background:var(--error-red);color:white;border:none;padding:8px 16px;border-radius:50px;cursor:pointer;font-size:14px;font-weight:500;transition:transform 0.2s,opacity 0.2s}.btn-clear-dates:hover{transform:scale(1.05);opacity:0.9}.calendar-legend{display:flex;gap:20px;justify-content:center;margin-bottom:15px;font-size:12px}.calendar-legend-item{display:flex;align-items:center;gap:5px}.calendar-legend-box{width:20px;height:20px;border-radius:4px;border:2px solid}.price-summary{background:linear-gradient(135deg,var(--primary-light-15),var(--primary-light-10));border-left:4px solid var(--primary-dark);padding:20px;border-radius:8px;margin:20px 0}.total-price{font-size:1.5em;color:var(--primary-dark);margin-top:15px}.verification-section{background:linear-gradient(135deg,rgba(247,250,252,0.95),rgba(237,242,247,0.95));padding:30px;border-radius:12px;text-align:center}#verification-code{text-align:center;font-size:24px;letter-spacing:10px;font-family:'Courier New',monospace;max-width:300px;margin:0 auto}.booking-summary{background:linear-gradient(135deg,rgba(247,250,252,0.95),rgba(237,242,247,0.95));border-radius:12px;padding:30px;margin-bottom:30px}.summary-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}.summary-section:last-of-type{border-bottom:none}.summary-section h4{color:var(--text-dark);margin-bottom:10px}.summary-total{background:linear-gradient(135deg,var(--primary-dark),var(--primary-dark-80));color:white;padding:20px;border-radius:12px;text-align:center;margin-top:20px;box-shadow:0 4px 12px var(--primary-dark-20)}.summary-total h3{margin:0;font-size:2em}.form-navigation{display:flex;justify-content:space-between;margin-top:30px;gap:15px}.booking-status{padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid}.booking-status.success{background:rgba(198,246,213,0.9);color:#22543d;border-color:var(--success-green)}.booking-status.error{background:rgba(254,215,215,0.9);color:#742a2a;border-color:var(--error-red)}.booking-status.info{background:rgba(190,227,248,0.9);color:var(--primary-dark);border-color:var(--primary-dark)}.terms-section{margin:20px 0}.small-text{font-size:0.9em;color:#cbd5e0}.success-container{max-width:700px;margin:60px auto;padding:40px 20px;text-align:center}.success-icon{margin-bottom:30px}.checkmark-circle{width:100px;height:100px;margin:0 auto;border-radius:50%;background:var(--success-green);position:relative;animation:scaleIn 0.5s ease-out;box-shadow:0 4px 16px rgba(72,187,120,0.3)}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.checkmark{width:30px;height:70px;border:solid white;border-width:0 8px 8px 0;transform:rotate(45deg);position:absolute;top:10px;left:35px;animation:checkmarkDraw 0.3s ease-out 0.3s forwards;opacity:0}@keyframes checkmarkDraw{to{opacity:1}}.success-container h1{color:var(--primary-dark);margin-bottom:20px}.success-message{background:linear-gradient(135deg,var(--white-95),rgba(247,250,252,0.95));border-radius:16px;padding:40px;text-align:left;box-shadow:0 8px 32px var(--black-10)}.lead{font-size:1.2em;color:var(--text-dark);text-align:center;margin-bottom:30px}.reservation-number{background:linear-gradient(135deg,var(--primary-dark),var(--primary-dark-80));color:white;padding:30px;border-radius:12px;margin:30px 0;text-align:center;box-shadow:0 8px 24px var(--primary-dark-20)}.reservation-number h2{font-size:2.5em;letter-spacing:2px;margin:15px 0;font-family:'Courier New',monospace}.reservation-number .small-text{color:rgba(255,255,255,0.8)}.next-steps{margin:40px 0}.next-steps h3{color:var(--primary-dark);margin-bottom:25px;text-align:center}.step-item{display:flex;gap:20px;margin-bottom:30px;align-items:flex-start}.step-item .step-number{flex-shrink:0;background:var(--primary-dark);color:white;font-size:1.2em}.step-content{flex:1}.step-content h4{color:var(--text-dark);margin:0 0 10px 0}.step-content p{color:#4a5568;margin:5px 0}.step-content ul{margin:10px 0;padding-left:20px}.step-content ul li{margin:5px 0;color:#4a5568}.contact-info{background:linear-gradient(135deg,rgba(230,255,250,0.9),rgba(178,245,234,0.9));border-left:4px solid var(--teal);padding:25px;border-radius:8px;margin:30px 0;text-align:center}.contact-info h3{color:#234e52;margin-bottom:15px}.contact-info p{color:var(--text-dark);margin:10px 0}.contact-info a{color:var(--teal);text-decoration:none;font-weight:600}.contact-info a:hover{text-decoration:underline}.action-buttons{display:flex;gap:15px;justify-content:center;margin-top:40px;flex-wrap:wrap}.terms-modal{position:fixed;inset:0;background:var(--overlay-dark);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px}.terms-modal-content{background:var(--overlay-gradient);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-radius:16px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px var(--black-20),inset 0 1px 0 var(--white-15);border:1px solid var(--primary-dark-20);animation:modalSlideIn 0.3s ease-out}.terms-modal-header{padding:1.5rem;border-bottom:1px solid var(--primary-dark-15);background:linear-gradient(135deg,var(--primary-light-25),var(--primary-light-10));border-radius:16px 16px 0 0}.terms-modal-header h2{margin:0;color:var(--primary-dark);font-size:1.5rem;font-weight:600}.terms-modal-header p{margin:0.5rem 0 0;color:var(--text-secondary);font-size:0.9rem}.terms-modal-body{flex:1;overflow-y:auto;padding:1.5rem;line-height:1.7}.terms-section-content{margin-bottom:1.5rem;padding:1.25rem;background:var(--white-85);border-radius:var(--border-radius);border-left:4px solid var(--primary-light);box-shadow:0 2px 8px var(--black-04)}.terms-section-content h3{color:var(--primary-dark);margin:0 0 0.75rem;font-size:1.1rem;font-weight:600}.terms-section-content p{margin:0.5rem 0;color:var(--text-primary)}.terms-section-content ul{margin:0.75rem 0;padding-left:1.5rem}.terms-section-content li{margin:0.5rem 0;color:var(--text-secondary)}.warning-text{background:rgba(237,137,54,0.1);padding:1rem;border-radius:var(--border-radius);border-left:4px solid #ed8936;font-weight:500;margin:0.75rem 0 !important}.terms-modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--primary-dark-15);background:var(--white-95);border-radius:0 0 16px 16px}.terms-scroll-indicator{text-align:center;color:#ed8936;font-weight:600;margin-bottom:1rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes shake{0%,100%{transform:translateX(0)}25%,75%{transform:translateX(-4px)}50%{transform:translateX(4px)}}@media(max-width:768px){.booking-container{padding:15px;max-width:100%}.booking-hero{padding:30px 15px}.booking-hero h1{font-size:2em}.booking-step{padding:25px}.progress-steps{flex-wrap:wrap}.step-label{font-size:0.75em}.calendar-header h3{font-size:1.2em}.calendar-nav-btn{width:35px;height:35px;font-size:18px}.calendar-day-header{font-size:12px;padding:5px}.calendar-day{font-size:14px}.selected-dates-display{flex-direction:column;align-items:stretch;gap:10px}.selected-dates-display p{font-size:14px}.success-container{margin:30px auto;padding:20px 15px}.success-container h1{font-size:1.8em;word-break:break-word}.success-message{padding:25px}.reservation-number{padding:20px 15px;margin:20px 0}.reservation-number h2{font-size:1.8em;word-break:break-all}.next-steps{padding:0}.step-item{flex-direction:column;align-items:center;text-align:center;padding:15px;margin:15px 0}.action-buttons{flex-direction:column;gap:10px}.action-buttons .glass-button{width:100%}.form-navigation{flex-wrap:wrap}.terms-modal{padding:0.75rem}.terms-modal-content{max-height:95vh;border-radius:12px}.terms-modal-header{padding:1.25rem;border-radius:12px 12px 0 0}.terms-modal-header h2{font-size:1.3rem}.terms-modal-body{padding:1rem}.terms-section-content{padding:1rem;margin-bottom:1rem}.terms-modal-footer{padding:1rem;border-radius:0 0 12px 12px}}@media(max-width:420px){.booking-hero h1{font-size:1.75em}.booking-step{padding:20px 15px}.calendar-container{padding:15px 10px}.progress-steps{gap:5px}.step-label{display:none}.step-number{width:35px;height:35px;font-size:1em}.success-container{margin:20px auto;padding:15px 10px}.success-container h1{font-size:1.5em}.success-message{padding:20px 15px;border-radius:12px}.checkmark-circle{width:80px;height:80px}.reservation-number h2{font-size:1.5em}.step-item{padding:12px}.contact-info{font-size:0.95em}.terms-modal{padding:0.5rem}.terms-modal-header h2{font-size:1.2rem}.terms-section-content h3{font-size:1rem}}