.calendar-page,.calendly-page{background:var(--bg-color);min-height:100vh;color:var(--text-color);padding-bottom:4rem}.calendar-title,.calendly-title{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3rem;font-weight:700}.calendar-subtitle,.calendly-subtitle{color:var(--text-color);opacity:.7;margin-bottom:0;font-size:1.2rem}[data-theme=dark] .calendar-subtitle,[data-theme=dark] .calendly-subtitle{color:#ffffffb3}.calendly-embed-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:20px;padding:2rem}[data-theme=dark] .calendly-embed-container{background:#ffffff08;border:1px solid #ffffff0d}.calendly-inline-widget{border-radius:16px;overflow:hidden}.contact-options{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:20px;padding:2.5rem 2rem}.contact-options h4{color:var(--text-color);margin-bottom:1.5rem;font-size:1.3rem;font-weight:600}[data-theme=dark] .contact-options{background:#ffffff08;border:1px solid #ffffff0d}[data-theme=dark] .contact-options h4{color:#fff}.contact-links{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.contact-link{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-color);border-radius:50px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.contact-link:hover{color:var(--text-color);background:#667eea33;border-color:#667eea66;transform:translateY(-2px)}[data-theme=dark] .contact-link{color:#ffffffd9;background:#ffffff0d;border:1px solid #ffffff1a}[data-theme=dark] .contact-link:hover{color:#fff}.contact-link i{color:#667eea;font-size:1.2rem}.booking-progress{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border-radius:16px;justify-content:center;align-items:center;gap:1rem;padding:2rem 0;display:flex}.progress-step{opacity:.4;flex-direction:column;align-items:center;gap:.5rem;transition:all .3s;display:flex}.progress-step.active{opacity:1}.progress-step.completed .progress-circle{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#667eea}.progress-circle{background:#ffffff0d;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:1.1rem;font-weight:600;transition:all .3s;display:flex}.progress-step.active .progress-circle{border-color:#667eea;box-shadow:0 0 20px #667eea66}.progress-step span{font-size:.9rem;font-weight:500}.progress-line{background:#ffffff1a;width:60px;height:2px}.calendar-section,.booking-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff0d;border-radius:20px;padding:2rem}.section-title{color:#fff;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.calendar-wrap{margin-bottom:1.5rem}.react-calendar{color:#fff;background:#0000004d;border:1px solid #ffffff1a;border-radius:16px;width:100%;padding:1.5rem;font-family:inherit}.react-calendar__navigation{gap:.5rem;margin-bottom:1.5rem;display:flex}.react-calendar__navigation button{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;min-width:44px;padding:.75rem;font-size:1rem;font-weight:600;transition:all .2s}.react-calendar__navigation button:enabled:hover{background:#ffffff1a}.react-calendar__navigation button:disabled{opacity:.3}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;color:#ffffff80;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.react-calendar__month-view__weekdays__weekday{padding:.75rem 0}.react-calendar__month-view__weekdays__weekday abbr{text-decoration:none}.react-calendar__tile{color:#fff;background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;margin:2px;padding:1rem;font-size:1rem;font-weight:500;transition:all .2s;position:relative}.react-calendar__tile:enabled:hover{background:#667eea33;border-color:#667eea66;transform:translateY(-2px)}.react-calendar__tile:enabled:focus{background:#667eea4d}.react-calendar__tile--active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#667eea;box-shadow:0 4px 15px #667eea66}.react-calendar__tile--now{background:#ffd7001a;border-color:#ffd7004d}.react-calendar__tile--now:enabled:hover{background:#ffd70033}.date-available abbr{color:#66ea8ce6}.date-partially-booked abbr{color:#ffc107e6}.date-partially-booked:after{content:"•";color:#ffc107e6;font-size:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.date-fully-booked abbr{color:#ff4d4d99;text-decoration:line-through}.date-fully-booked{opacity:.5;cursor:not-allowed!important}.date-disabled{opacity:.3}.calendar-legend{background:#0003;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:2rem;padding:1rem;display:flex}.legend-item{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.legend-dot{border-radius:50%;width:12px;height:12px}.legend-dot.available{background:#66ea8ce6}.legend-dot.partial{background:#ffc107e6}.legend-dot.full{background:#ff4d4d99}.booking-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:16px;margin-bottom:1.5rem;padding:2rem;animation:.3s slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.date-display{background:#667eea1a;border-left:4px solid #667eea;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:1.1rem;font-weight:500;display:flex}.date-display i{color:#667eea}.time-slots{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;display:grid}.time-slot{color:#fff;cursor:pointer;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-weight:500;transition:all .2s;display:flex}.time-slot:hover{background:#667eea33;border-color:#667eea66;transform:translateY(-2px)}.time-slot.selected{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#667eea;box-shadow:0 4px 15px #667eea66}.time-slot i{font-size:.9rem}.no-availability{text-align:center;color:#fff9;padding:3rem 2rem}.no-availability i{color:#ff4d4d99;margin-bottom:1rem;font-size:3rem}.no-availability p{margin-bottom:1.5rem;font-size:1.1rem}.services-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.service-card{cursor:pointer;background:#ffffff08;border:2px solid #ffffff1a;border-radius:16px;padding:1.5rem;transition:all .3s;position:relative;overflow:hidden}.service-card:before{content:"";opacity:0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.service-card:hover{background:#ffffff0d;border-color:#667eea4d;transform:translateY(-4px);box-shadow:0 8px 25px #0000004d}.service-card:hover:before{opacity:1}.service-card.selected{background:#667eea1a;border-color:#667eea;box-shadow:0 8px 25px #667eea4d}.service-card.selected:before{opacity:1}.service-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.service-header h4{color:#fff;margin:0;font-size:1.2rem;font-weight:600}.service-price{color:#667eea;font-size:1.3rem;font-weight:700}.service-duration{color:#fff9;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.service-description{color:#ffffffb3;margin:0;font-size:.95rem;line-height:1.5}.service-checkmark{color:#66ea8c;font-size:1.5rem;animation:.3s checkIn;position:absolute;top:1rem;right:1rem}@keyframes checkIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.booking-summary{background:#667eea14;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem;padding:1.5rem;display:grid}.summary-item{align-items:center;gap:.75rem;font-weight:500;display:flex}.summary-item i{color:#667eea;width:20px;font-size:1.1rem}.booking-form{margin-top:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#ffffffe6;margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group textarea{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;width:100%;padding:.875rem 1rem;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus{background:#ffffff14;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff6}.form-group textarea{resize:vertical;min-height:100px}.form-actions{gap:1rem;margin-top:2rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 4px 15px #667eea66}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#fff;background:#ffffff0d;border:1px solid #fff3}.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.success-message{text-align:center;color:#66ea8c;padding:3rem 2rem}.success-message i{margin-bottom:1rem;font-size:4rem;animation:.5s checkIn}.success-message h4{color:#fff;margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.success-message p{color:#ffffffb3;font-size:1.1rem}.info-section{text-align:center;background:#ffffff05;border-radius:20px;padding:3rem 2rem}.info-section h3{color:#fff;margin-bottom:2.5rem;font-size:2rem;font-weight:700}.info-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;height:100%;padding:2rem 1.5rem;transition:all .3s}.info-card:hover{background:#ffffff0d;transform:translateY(-5px);box-shadow:0 8px 25px #0000004d}.info-card i{color:#667eea;margin-bottom:1rem;font-size:3rem}.info-card h4{color:#fff;margin-bottom:.75rem;font-size:1.3rem;font-weight:600}.info-card p{color:#ffffffb3;margin:0;font-size:1rem;line-height:1.6}.date-selected-info{background:#667eea1a;border-left:4px solid #667eea;border-radius:8px;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem;font-size:1rem;display:flex}.date-selected-info i{color:#667eea;font-size:1.2rem}.book-now-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.book-now-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.service-card .book-now-btn{opacity:0;max-height:0;margin-top:0;padding:0;transition:all .3s;overflow:hidden}.service-card:hover .book-now-btn{opacity:1;max-height:50px;margin-top:1rem;padding:.875rem 1.5rem}@media (max-width:991px){.calendar-title{font-size:2.5rem}.booking-progress{gap:.5rem}.progress-circle{width:40px;height:40px;font-size:1rem}.progress-line{width:40px}.progress-step span{font-size:.8rem}.services-grid{grid-template-columns:1fr}.booking-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:575px){.calendar-page{padding-left:15px;padding-right:15px}.calendar-title{font-size:2rem}.calendar-section,.booking-section,.booking-card{padding:1.5rem}.progress-step span{display:none}.progress-line{width:30px}.time-slots{grid-template-columns:repeat(2,1fr)}.booking-summary{grid-template-columns:1fr}.form-actions{flex-direction:column}.calendar-legend{gap:1rem}.info-section{padding:2rem 1rem}}[data-theme=light] .calendar-subtitle,[data-theme=light] .calendly-subtitle{color:#1d1912b3}[data-theme=light] .calendly-embed-container,[data-theme=light] .contact-options,[data-theme=light] .booking-progress,[data-theme=light] .calendar-section,[data-theme=light] .booking-section{background:#1d191208;border-color:#1d191214}[data-theme=light] .contact-options h4,[data-theme=light] .section-title,[data-theme=light] .service-header h4,[data-theme=light] .success-message h4,[data-theme=light] .info-card h4{color:#1d1912}[data-theme=light] .contact-link{color:#1d1912d9;background:#1d19120d;border-color:#1d191226}[data-theme=light] .contact-link:hover{color:#1d1912;background:#667eea1a;border-color:#667eea66}[data-theme=light] .react-calendar{color:#1d1912;background:#1d191208;border-color:#1d191226}[data-theme=light] .react-calendar__navigation button{color:#1d1912;background:#1d19120d;border-color:#1d191226}[data-theme=light] .react-calendar__navigation button:enabled:hover{background:#1d19121a}[data-theme=light] .react-calendar__month-view__weekdays{color:#1d191299}[data-theme=light] .react-calendar__tile{color:#1d1912;background:#1d191208;border-color:#1d19121a}[data-theme=light] .react-calendar__tile:enabled:hover{background:#667eea26;border-color:#667eea4d}[data-theme=light] .booking-card,[data-theme=light] .service-card,[data-theme=light] .info-card{background:#1d191205;border-color:#1d191214}[data-theme=light] .service-card:hover,[data-theme=light] .info-card:hover{background:#1d19120d;border-color:#667eea33;box-shadow:0 8px 25px #00000014}[data-theme=light] .time-slot{color:#1d1912;background:#1d19120d;border-color:#1d191226}[data-theme=light] .time-slot:hover{background:#667eea26;border-color:#667eea4d}[data-theme=light] .service-duration,[data-theme=light] .service-description,[data-theme=light] .no-availability,[data-theme=light] .info-card p{color:#1d1912b3}[data-theme=light] .form-group input,[data-theme=light] .form-group textarea{color:#1d1912;background:#1d191208;border-color:#1d191226}[data-theme=light] .form-group input:focus,[data-theme=light] .form-group textarea:focus{background:#1d19120d;border-color:#667eea}[data-theme=light] .form-group input::placeholder,[data-theme=light] .form-group textarea::placeholder{color:#1d191266}[data-theme=light] .btn-secondary{color:#1d1912;background:#1d19120d;border-color:#1d191233}[data-theme=light] .btn-secondary:hover:not(:disabled){background:#1d19121a;border-color:#1d19124d}[data-theme=light] .calendar-legend{background:#1d19120d}
