.pg-booking{--primary-color:#2a2a2a;--accent-color:#8cc63f;--secondary-color:#5a5a5a;--bg-color:#f8f9fa;--text-color:#fff;--light-gray:#f8fafc;--border-color:#e5e7eb}.pg-booking,.pg-booking *{box-sizing:border-box;margin:0;padding:0}.pg-booking{background-color:var(--bg-color);color:var(--text-color);line-height:1.6;font-family:var(--font-inter), sans-serif;overflow-x:hidden}.pg-booking .hero{background:linear-gradient(135deg, var(--light-gray) 0%, #fff 100%);align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.pg-booking .hero-container{background:var(--primary-color);border:2px solid var(--border-color);border-radius:20px;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1300px;margin:0 auto;padding:2rem;display:grid;box-shadow:0 20px 40px #00000014}.pg-booking .hero-content{max-width:100%}.pg-booking .hero-badge{background:var(--accent-color);color:#fff;border-radius:50px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.pg-booking .company-name{font-family:var(--font-poppins), sans-serif;color:var(--text-color);margin-bottom:1.5rem;font-size:3.5rem;font-weight:700;line-height:1.2}.pg-booking .company-description{color:var(--text-color);margin-bottom:2rem;font-size:1.2rem;line-height:1.7}.pg-booking .cta-buttons{gap:1rem;margin-bottom:2rem;display:flex}.pg-booking .btn-primary{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:1rem 2rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.pg-booking .btn-primary:hover{background:#7ab832;transform:translateY(-1px);box-shadow:0 8px 20px #8cc63f4d}.pg-booking .btn-secondary{color:var(--text-color);border:2px solid var(--border-color);background:0 0;border-radius:12px;padding:1rem 2rem;font-weight:600;text-decoration:none;transition:all .3s}.pg-booking .btn-secondary:hover{border-color:var(--accent-color);color:var(--accent-color)}.pg-booking .hero-image{position:relative}.pg-booking .hero-image img{object-fit:cover;border-radius:20px;width:100%;height:500px;box-shadow:0 25px 50px #00000026}.pg-booking .stats{background:var(--primary-color);color:#fff;padding:4rem 0}.pg-booking .stats-container{text-align:center;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;max-width:1200px;margin:0 auto;padding:0 2rem;display:grid}.pg-booking .stat-item h3{color:var(--accent-color);margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.pg-booking .stat-item p{color:#fffc;font-weight:500}.pg-booking .services-section{background:var(--light-gray);padding:6rem 0}.pg-booking .services-container{max-width:1200px;margin:0 auto;padding:0 2rem}.pg-booking .section-header{text-align:center;margin-bottom:4rem}.pg-booking .section-title{font-family:var(--font-poppins), sans-serif;color:var(--primary-color);margin-bottom:1rem;font-size:2.5rem;font-weight:700}.pg-booking .section-subtitle{color:var(--secondary-color);max-width:600px;margin:0 auto;font-size:1.2rem}.pg-booking .services{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.pg-booking .service-card{border:1px solid var(--border-color);background:#fff;border-radius:16px;padding:2.5rem;transition:all .3s;position:relative;overflow:hidden}.pg-booking .service-card:before{content:"";background:var(--accent-color);width:100%;height:4px;position:absolute;top:0;left:0}.pg-booking .service-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a}.pg-booking .service-icon{background:var(--accent-color);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1.5rem;font-size:1.5rem;display:flex}.pg-booking .service-card h3{font-family:var(--font-poppins), sans-serif;color:var(--primary-color);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.pg-booking .service-card p{color:var(--secondary-color);line-height:1.7}.pg-booking .contact-section{background:#fff;padding:6rem 0}.pg-booking .contact-container{text-align:center;max-width:800px;margin:0 auto;padding:0 2rem}.pg-booking .contact-form{gap:1.5rem;margin-top:3rem;display:grid}.pg-booking .form-group{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.pg-booking .form-input{border:2px solid var(--border-color);width:100%;font-size:1rem;font-family:var(--font-inter), sans-serif;background:#fff;border-radius:12px;padding:1rem 1.5rem;transition:all .3s}.pg-booking .form-input:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #8cc63f1a}.pg-booking .form-textarea{resize:vertical;grid-column:1/-1;min-height:120px}.pg-booking .notification{background:var(--primary-color);color:#fff;border-left:4px solid var(--accent-color);z-index:1100;opacity:0;border-radius:10px;align-items:center;gap:.5rem;max-width:250px;padding:.75rem 1rem;font-size:.85rem;font-weight:500;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:100px;right:20px;transform:translate(350px);box-shadow:0 8px 25px #00000026}.pg-booking .notification.show{opacity:1;transform:translate(0)}.pg-booking .notification i{color:var(--accent-color);font-size:1rem}@media (max-width:768px){.pg-booking .hero{min-height:100vh;padding-top:120px;padding-bottom:2rem}.pg-booking .hero-container{text-align:center;grid-template-columns:1fr;gap:3rem;margin:0 1rem;padding:2rem 1.5rem}.pg-booking .company-name{font-size:2.5rem}.pg-booking .cta-buttons{flex-direction:column;align-items:center;gap:1rem}.pg-booking .hero-image img{height:300px}.pg-booking .stats-container{grid-template-columns:repeat(2,1fr);gap:2rem}.pg-booking .form-group{grid-template-columns:1fr}.pg-booking .section-title{font-size:2rem}}@media (max-width:480px){.pg-booking .hero{padding-top:140px}.pg-booking .hero-container{margin:0 .5rem;padding:1.5rem 1rem}.pg-booking .company-name{font-size:2rem}.pg-booking .stats-container,.pg-booking .services{grid-template-columns:1fr}}.pg-booking .booking-hero{background:linear-gradient(135deg, var(--primary-color) 0%, #404040 100%);align-items:center;min-height:100vh;padding:48px 0 60px;display:flex}.pg-booking .booking-container{max-width:800px;margin:0 auto;padding:0 2rem}.pg-booking .booking-header{text-align:center;margin-bottom:3rem}.pg-booking .booking-header h1{color:var(--text-color);margin-bottom:1rem;font-size:2.5rem;font-weight:700}.pg-booking .booking-header p{color:#e0e0e0;max-width:600px;margin:0 auto;font-size:1.1rem}.pg-booking .booking-form-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;padding:2rem}.pg-booking .booking-form{width:100%}.pg-booking .booking-step{display:none}.pg-booking .booking-step.active{display:block}.pg-booking .booking-step h3{color:var(--text-color);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.5rem;font-weight:600;display:flex}.pg-booking .booking-step h3 i{color:var(--accent-color)}.pg-booking .service-options{gap:1rem;margin-bottom:2rem;display:grid}.pg-booking .service-option{position:relative}.pg-booking .service-option input[type=radio]{display:none}.pg-booking .service-option label{cursor:pointer;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;align-items:center;gap:1rem;padding:1.5rem;transition:all .3s;display:flex}.pg-booking .service-option label:hover{border-color:var(--accent-color);background:#ffffff1a}.pg-booking .service-option input[type=radio]:checked+label{border-color:var(--accent-color);background:#8cc63f1a;box-shadow:0 0 20px #8cc63f4d}.pg-booking .service-option i{color:var(--accent-color);text-align:center;width:40px;font-size:1.5rem}.pg-booking .service-info h4{color:var(--text-color);margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.pg-booking .service-info p{color:#e0e0e0;margin:0;font-size:.9rem}.pg-booking .date-selection{margin-bottom:2rem}.pg-booking .calendar-container{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem}.pg-booking .calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.pg-booking .calendar-header h4{color:var(--text-color);font-size:1.2rem;font-weight:600}.pg-booking .calendar-grid{box-sizing:border-box;width:100%;max-width:100%;position:relative;overflow:hidden}.pg-booking .calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.pg-booking .calendar-weekdays span{text-align:center;color:var(--accent-color);padding:.5rem;font-size:.9rem;font-weight:600}.pg-booking .calendar-days{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.pg-booking .calendar-legend{background:#ffffff08;border-radius:6px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;padding:.75rem;display:flex}.pg-booking .legend-item{color:var(--text-color);opacity:.8;align-items:center;gap:.4rem;font-size:.75rem;transition:opacity .2s;display:flex}.pg-booking .legend-item:hover{opacity:1}.pg-booking .legend-indicator{border:1px solid #fff3;border-radius:50%;flex-shrink:0;width:8px;height:8px}.pg-booking .legend-indicator.available{background:#28a74599}.pg-booking .legend-indicator.partially-booked{background:#ffc10799}.pg-booking .legend-indicator.fully-booked{background:#dc354599}.pg-booking .legend-indicator.blocked,.pg-booking .legend-indicator.weekend{background:#6c757d99}.pg-booking .legend-indicator.job-blocked{background:#dc354599}.pg-booking .calendar-day{aspect-ratio:1;box-sizing:border-box;cursor:pointer;max-width:100%;color:var(--text-color);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;font-weight:500;transition:all .3s;display:flex;overflow:hidden}.pg-booking .calendar-day:hover:not(.disabled){border-color:var(--accent-color);background:#8cc63f33}.pg-booking .calendar-day.selected{background:var(--accent-color);color:var(--primary-color);border-color:var(--accent-color)}.pg-booking .calendar-day.disabled{opacity:.3;cursor:not-allowed;background:#ffffff05}.pg-booking .calendar-day.other-month{opacity:.5}.pg-booking .calendar-day.booked:after,.pg-booking .calendar-day.blocked:after,.pg-booking .calendar-day.partially-booked:after,.pg-booking .calendar-day.available:after,.pg-booking .calendar-day.weekend:after{display:none}.pg-booking .calendar-day.booked{color:#ff6b6b;opacity:.8;background:#dc354533;position:relative}.pg-booking .calendar-day.blocked{color:#6c757d;opacity:.8;background:#6c757d33;position:relative}.pg-booking .calendar-day.partially-booked{background:#ffc10733;border-color:#ffc107;position:relative}.pg-booking .calendar-day.available{background:#28a74533;border-color:#28a745;position:relative}.pg-booking .calendar-day.fully-booked{color:#dc3545;background:#dc35454d;border-color:#dc3545;position:relative}.pg-booking .calendar-day.weekend{color:#6c757d;background:#6c757d4d;border-color:#6c757d;position:relative}.pg-booking .calendar-day .booking-info,.pg-booking .calendar-day .blocking-info,.pg-booking .calendar-day .availability-info{color:#fff;text-align:center;opacity:.9;border-radius:2px;padding:1px 3px;font-size:.5rem;line-height:1.1;transition:opacity .2s;position:absolute;bottom:1px;left:1px;right:1px}.pg-booking .calendar-day:hover .booking-info,.pg-booking .calendar-day:hover .blocking-info,.pg-booking .calendar-day:hover .availability-info{opacity:1}.pg-booking .calendar-day .booking-info{background:#000000b3}.pg-booking .calendar-day .booking-count{font-size:.6rem;font-weight:600;display:block}.pg-booking .calendar-day .booking-preview{opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:.4rem;overflow:hidden}.pg-booking .calendar-day .blocking-info{background:#000000b3}.pg-booking .calendar-day .blocking-icon{margin-bottom:0;font-size:.5rem;display:none}.pg-booking .calendar-day .blocking-text{white-space:nowrap;text-overflow:ellipsis;font-size:.4rem;font-weight:600;overflow:hidden}.pg-booking .calendar-day .availability-info{background:#000000b3}.pg-booking .calendar-day .availability-icon{margin-bottom:0;font-size:.5rem;display:none}.pg-booking .calendar-day .availability-text{white-space:nowrap;text-overflow:ellipsis;font-size:.4rem;font-weight:600;overflow:hidden}.pg-booking .calendar-day.booked .booking-info{background:#dc3545cc}.pg-booking .calendar-day.partially-booked .booking-info{color:#212529;background:#ffc107cc}.pg-booking .calendar-day.available .availability-info{background:#28a745cc}.pg-booking .calendar-day.blocked .blocking-info,.pg-booking .calendar-day.weekend .blocking-info{background:#6c757dcc}.pg-booking .calendar-day.job-blocked .blocking-info,.pg-booking .calendar-day.fully-booked .booking-info,.pg-booking .calendar-day.fully-booked .booking-info.fully-booked{background:#dc3545cc}.pg-booking .calendar-day.partially-booked .booking-info.partially-booked,.pg-booking .calendar-day.partially-booked .booking-info.has-bookings{background:#ffc107cc}.pg-booking .calendar-day .available-slots,.pg-booking .calendar-day .job-details{display:none}.pg-booking .time-selection{background:#8cc63f0d;border:1px solid #8cc63f33;border-radius:12px;margin-top:2rem;margin-bottom:2rem;padding:1.5rem}.pg-booking .selected-date{background:#8cc63f1a;border:1px solid #8cc63f4d;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.pg-booking .selected-date i{color:var(--accent-color)}.pg-booking .selected-date span{color:var(--text-color);font-weight:600}.pg-booking .time-slots{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;display:grid}.pg-booking .time-slot{text-align:center;cursor:pointer;color:var(--text-color);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:8px;padding:1rem;font-weight:500;transition:all .3s}.pg-booking .time-slot:hover:not(.disabled){border-color:var(--accent-color);background:#8cc63f1a}.pg-booking .time-slot.selected{background:var(--accent-color);color:var(--primary-color);border-color:var(--accent-color)}.pg-booking .time-slot.disabled{opacity:.3;cursor:not-allowed;background:#ff00001a;border-color:#f44}.pg-booking .time-slot.disabled.job-blocked{opacity:1;color:#dc3545;background:#dc354526;border-color:#dc3545}.pg-booking .time-slot{text-align:center;cursor:pointer;color:var(--text-color);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:8px;padding:1.5rem;font-size:1.1rem;font-weight:500;transition:all .3s}.pg-booking .contact-fields{gap:1.5rem;margin-bottom:2rem;display:grid}.pg-booking .form-group{flex-direction:column;display:flex}.pg-booking .form-group label{color:var(--text-color);margin-bottom:.5rem;font-weight:600}.pg-booking .required-hint{color:#a0a0a0;font-size:12px;font-style:italic;font-weight:400}.pg-booking .form-group input,.pg-booking .form-group textarea{color:var(--text-color);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:8px;padding:1rem;font-size:1rem;transition:all .3s}.pg-booking .form-group input:focus,.pg-booking .form-group textarea:focus{border-color:var(--accent-color);background:#ffffff1a;outline:none}.pg-booking .form-group input::placeholder,.pg-booking .form-group textarea::placeholder{color:#a0a0a0}.pg-booking .step-buttons{justify-content:space-between;gap:1rem;display:flex}.pg-booking .step-buttons .btn-primary,.pg-booking .step-buttons .btn-secondary{min-width:120px}.pg-booking .modal{z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000c;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.pg-booking .modal.show{justify-content:center;align-items:center;display:flex}.pg-booking .modal-content{background:var(--primary-color);border:1px solid #fff3;border-radius:20px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.pg-booking .modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.pg-booking .modal-header h3{color:var(--text-color);font-size:1.3rem;font-weight:600}.pg-booking .modal-close{color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.5rem;font-size:1.5rem;transition:all .3s}.pg-booking .modal-close:hover{background:#ffffff1a}.pg-booking .modal-body{padding:1.5rem}.pg-booking .loading-spinner{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:3000;width:100%;height:100%;color:var(--text-color);background:#000c;flex-direction:column;justify-content:center;align-items:center;display:none;position:fixed;top:0;left:0}.pg-booking .loading-spinner.show{display:flex}.pg-booking .spinner{border:4px solid #ffffff4d;border-top:4px solid var(--accent-color);border-radius:50%;width:50px;height:50px;margin-bottom:1rem;animation:1s linear infinite spin}.pg-booking .loading-spinner p{font-size:1.1rem;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pg-booking .image-upload-container{margin-top:.5rem}.pg-booking .image-upload-input{display:none}.pg-booking .image-upload-area{text-align:center;cursor:pointer;background:#ffffff0d;border:2px dashed #ffffff4d;border-radius:12px;padding:2rem;transition:all .3s;display:block}.pg-booking .image-upload-area:hover{border-color:var(--accent-color);background:#ffffff1a}.pg-booking .image-upload-area i{color:var(--accent-color);margin-bottom:1rem;font-size:2rem;display:block}.pg-booking .image-upload-area p{color:var(--text-color);margin-bottom:.5rem;font-weight:500}.pg-booking .upload-hint{color:#ffffffb3;font-size:.85rem}.pg-booking .image-preview-container{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem;display:grid}.pg-booking .image-preview-item{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;position:relative;overflow:hidden}.pg-booking .image-preview-item img{object-fit:cover;width:100%;height:120px;display:block}.pg-booking .image-preview-item .remove-image{color:#fff;cursor:pointer;background:#dc3545e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;transition:all .2s;display:flex;position:absolute;top:.25rem;right:.25rem}.pg-booking .image-preview-item .remove-image:hover{background:#dc3545;transform:scale(1.1)}.pg-booking .image-preview-item .file-name{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#000000b3;padding:.25rem .5rem;font-size:.7rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.pg-booking .image-upload-area.dragover{border-color:var(--accent-color);background:#8cc63f1a;transform:scale(1.02)}@media (max-width:768px){.pg-booking .image-preview-container{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.pg-booking .image-preview-item img{height:100px}.pg-booking .image-upload-area{padding:1.5rem}.pg-booking .image-upload-area i{font-size:1.5rem}}@media (max-width:480px){.pg-booking .image-preview-container{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.pg-booking .image-preview-item img{height:80px}.pg-booking .image-upload-area{padding:1rem}.pg-booking .image-upload-area p{font-size:.9rem}.pg-booking .upload-hint{font-size:.8rem}}@media (max-width:768px){.pg-booking .calendar-container *{box-sizing:border-box!important}.pg-booking .calendar-container{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:.75rem!important;position:relative!important;overflow:hidden!important}.pg-booking .date-selection,.pg-booking .booking-form-container{box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.pg-booking .booking-hero{padding:28px 0 40px}.pg-booking .booking-container{max-width:100%;padding:0 1rem}.pg-booking .booking-header h1{font-size:2rem}.pg-booking .booking-form-container{padding:1.5rem}.pg-booking .service-option label{text-align:center;flex-direction:column;gap:.5rem;padding:1rem}.pg-booking .service-info h4{font-size:1rem}.pg-booking .calendar-container{box-sizing:border-box!important;will-change:transform!important;flex-shrink:1!important;flex-basis:100%!important;width:100%!important;min-width:0!important;max-width:100vw!important;margin:0!important;padding:.75rem!important;position:relative!important;overflow:hidden!important;transform:translateZ(0)!important}.pg-booking .calendar-header{text-align:center!important;box-sizing:border-box!important;flex-direction:column!important;gap:1rem!important;width:100%!important;margin-bottom:1rem!important}.pg-booking .calendar-header h4{order:1!important;margin:0!important;font-size:1.3rem!important}.pg-booking .calendar-grid{box-sizing:border-box!important;flex-shrink:1!important;width:100%!important;min-width:0!important;max-width:100%!important;display:block!important;position:relative!important;overflow:hidden!important}.pg-booking .calendar-weekdays{box-sizing:border-box!important;grid-template-columns:repeat(7,1fr)!important;gap:.25rem!important;width:100%!important;min-width:0!important;max-width:100%!important;margin-bottom:.5rem!important;display:grid!important;overflow:hidden!important}.pg-booking .calendar-weekdays span{text-align:center!important;color:var(--accent-color)!important;box-sizing:border-box!important;text-overflow:ellipsis!important;white-space:nowrap!important;flex:1!important;justify-content:center!important;align-items:center!important;min-width:0!important;min-height:24px!important;padding:.3rem 0!important;font-size:.7rem!important;font-weight:600!important;display:flex!important;overflow:hidden!important}.pg-booking .calendar-days{box-sizing:border-box!important;grid-template-columns:repeat(7,1fr)!important;gap:.25rem!important;width:100%!important;min-width:0!important;max-width:100%!important;display:grid!important;overflow:hidden!important}.pg-booking .calendar-day{aspect-ratio:1!important;cursor:pointer!important;min-height:40px!important;color:var(--text-color)!important;box-sizing:border-box!important;background:#ffffff0d!important;border:1px solid #ffffff1a!important;border-radius:3px!important;flex:1!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:40px!important;max-width:100%!important;min-height:40px!important;padding:1px!important;font-size:.8rem!important;font-weight:500!important;transition:all .2s!important;display:flex!important;position:relative!important;overflow:hidden!important}.pg-booking .calendar-legend{box-sizing:border-box!important;background:#ffffff08!important;border-radius:8px!important;flex-wrap:wrap!important;justify-content:center!important;gap:.75rem!important;width:100%!important;margin-top:1rem!important;padding:.75rem!important;overflow:hidden!important}.pg-booking .calendar-weekdays span:last-child,.pg-booking .calendar-days .calendar-day:nth-child(7n){text-overflow:clip!important;white-space:normal!important;flex:1!important;min-width:0!important;max-width:100%!important;overflow:visible!important}.pg-booking .calendar-container,.pg-booking .calendar-grid,.pg-booking .calendar-weekdays,.pg-booking .calendar-days{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important}.pg-booking .calendar-container{width:100%!important;min-width:0!important;max-width:calc(100vw - 2rem)!important;position:relative!important;overflow:hidden!important}.pg-booking .calendar-grid{width:100%!important;min-width:0!important;max-width:calc(100vw - 3rem)!important;display:block!important;overflow:hidden!important}.pg-booking .calendar-weekdays,.pg-booking .calendar-days{grid-template-columns:repeat(7,1fr)!important;gap:.25rem!important;width:100%!important;min-width:0!important;max-width:calc(100vw - 3rem)!important;display:grid!important;overflow:hidden!important}.pg-booking .calendar-day{box-sizing:border-box!important;flex:1!important;width:100%!important;min-width:0!important;max-width:100%!important;position:relative!important;overflow:hidden!important}.pg-booking .legend-item{text-overflow:ellipsis!important;white-space:nowrap!important;align-items:center!important;gap:.3rem!important;max-width:100%!important;min-height:24px!important;font-size:.7rem!important;display:flex!important;overflow:hidden!important}.pg-booking .legend-indicator{flex-shrink:0!important;width:8px!important;min-width:8px!important;height:8px!important;min-height:8px!important}.pg-booking .time-selection{margin-top:1.5rem!important;margin-bottom:1.5rem!important;padding:1rem!important}.pg-booking .selected-date{text-align:center!important;flex-direction:column!important;gap:.5rem!important;margin-bottom:1rem!important;padding:.75rem!important}.pg-booking .time-slots{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;gap:.75rem!important}.pg-booking .time-slot{min-width:44px!important;min-height:44px!important;padding:1rem!important;font-size:.9rem!important}.pg-booking .step-buttons{flex-direction:column!important;gap:1rem!important}.pg-booking .step-buttons .btn-primary,.pg-booking .step-buttons .btn-secondary{width:100%!important;min-height:48px!important;font-size:1rem!important}.pg-booking .modal-content{width:95%!important;margin:1rem!important}}@media (max-width:480px){.pg-booking .booking-header h1{font-size:1.75rem}.pg-booking .booking-header p{font-size:1rem}.pg-booking .booking-step h3{font-size:1.25rem}.pg-booking .calendar-container{padding:.75rem}.pg-booking .calendar-header h4{font-size:1.2rem}.pg-booking .calendar-weekdays span{min-height:28px;padding:.4rem 0;font-size:.7rem}.pg-booking .calendar-day{border-radius:4px;min-height:44px;font-size:.85rem}.pg-booking .calendar-weekdays,.pg-booking .calendar-days{gap:1px}.pg-booking .time-slots{grid-template-columns:repeat(2,1fr);gap:.5rem}.pg-booking .time-slot{min-height:48px;padding:.75rem;font-size:.85rem}.pg-booking .calendar-legend{gap:.5rem;padding:.5rem}.pg-booking .legend-item{min-height:20px;font-size:.65rem}.pg-booking .legend-indicator{width:6px;min-width:6px;height:6px;min-height:6px}.pg-booking .address-suggestions{max-height:150px}.pg-booking .address-suggestion-item{padding:10px 12px;font-size:13px}.pg-booking .required-hint{font-size:11px}}@media (max-width:360px){.pg-booking .booking-header h1{font-size:1.3rem}.pg-booking .step{min-width:60px;padding:5px 8px;font-size:.7rem}.pg-booking .booking-step h3{font-size:1.1rem}.pg-booking .form-group input,.pg-booking .form-group textarea,.pg-booking .form-group select{padding:6px;font-size:.85rem}.pg-booking .image-preview{width:60px;height:60px}.pg-booking .calendar-container{padding:.5rem}.pg-booking .calendar-header h4{font-size:1.1rem}.pg-booking .calendar-weekdays span{min-height:24px;padding:.3rem 0;font-size:.65rem}.pg-booking .calendar-day{border-radius:3px;min-height:40px;font-size:.8rem}.pg-booking .calendar-weekdays,.pg-booking .calendar-days{gap:1px}.pg-booking .calendar-legend{gap:.4rem;padding:.4rem}.pg-booking .legend-item{min-height:18px;font-size:.6rem}.pg-booking .legend-indicator{width:5px;min-width:5px;height:5px;min-height:5px}.pg-booking .time-slots{grid-template-columns:1fr;gap:.4rem}.pg-booking .time-slot{min-height:44px;padding:.6rem;font-size:.8rem}}.pg-booking .address-suggestions{z-index:1000;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px;max-height:200px;margin-top:-1px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.pg-booking .address-suggestion-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #f0f0f0;padding:12px 16px;font-size:14px;line-height:1.4;transition:all .2s}.pg-booking .address-suggestion-item:hover,.pg-booking .address-suggestion-item.active{background-color:#f8f9fa;border-left:3px solid #8cc63f;padding-left:13px}.pg-booking .address-suggestion-item:last-child{border-bottom:none;border-radius:0 0 7px 7px}.pg-booking .address-suggestion-item .main-text{color:#333;margin-bottom:2px;font-weight:500}.pg-booking .address-suggestion-item .secondary-text{color:#666;font-size:12px}.pg-booking .address-suggestions{-webkit-user-select:none;user-select:none}.pg-booking .form-group input[type=tel]{letter-spacing:.5px;font-family:Courier New,monospace}.pg-booking .form-group input[name=address]{padding-right:48px;transition:all .2s ease-in-out;position:relative}.pg-booking .form-group input[name=address]:focus{border-color:var(--accent-color);background:#ffffff1a;outline:none;box-shadow:0 0 0 3px #8cc63f1a}.pg-booking .form-group input[name=address]:focus+.address-loading-spinner+.address-suggestions{border-color:#8cc63f}.pg-booking .form-group{position:relative}.pg-booking .form-group input[name=address].loading+.address-loading-spinner{display:block}.pg-booking .address-loading-spinner{pointer-events:none;z-index:10;border:2px solid #8cc63f26;border-top-color:#8cc63f;border-radius:50%;width:18px;height:18px;transition:all .2s ease-in-out;animation:.8s ease-in-out infinite spin;display:none;position:absolute;top:50%;right:16px;transform:translateY(-50%);box-shadow:0 2px 8px #8cc63f33}.pg-booking .address-loading-spinner:before{content:"";border:1px solid #8cc63f1a;border-radius:50%;animation:2s ease-in-out infinite pulse;position:absolute;inset:-2px}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.pg-booking .address-loading{color:#666;font-size:14px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.pg-booking .existing-bookings-info{color:#fff;z-index:10;background:#0009;border-radius:0 0 4px 4px;max-height:40px;padding:2px 4px;font-size:8px;transition:all .3s;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.pg-booking .existing-bookings-info:hover{background:#000c;max-height:80px}.pg-booking .existing-bookings-title{color:#8cc63f;text-transform:uppercase;letter-spacing:.3px;margin-bottom:1px;font-size:7px;font-weight:600}.pg-booking .existing-bookings-details{color:#e0e0e0;word-wrap:break-word;font-size:7px;line-height:1.1}@media (max-width:768px){.pg-booking .existing-bookings-info{max-height:30px!important;padding:1px 2px!important;font-size:6px!important}.pg-booking .existing-bookings-info:hover{max-height:60px!important}.pg-booking .existing-bookings-title{margin-bottom:.5px!important;font-size:5px!important}.pg-booking .existing-bookings-details{font-size:5px!important;line-height:1!important}}@media (max-width:480px){.pg-booking .existing-bookings-info{max-height:25px!important;padding:1px!important;font-size:5px!important}.pg-booking .existing-bookings-info:hover{max-height:50px!important}.pg-booking .existing-bookings-title,.pg-booking .existing-bookings-details{font-size:4px!important}}@media (max-width:360px){.pg-booking .existing-bookings-info{max-height:20px!important;font-size:4px!important}.pg-booking .existing-bookings-info:hover{max-height:40px!important}.pg-booking .existing-bookings-title,.pg-booking .existing-bookings-details{font-size:3px!important}}.pg-booking .calendar-day.job-blocked{position:relative;color:#fff!important;background:linear-gradient(135deg,#dc3545 0%,#c82333 100%)!important}.pg-booking .calendar-day.job-blocked .blocking-info{text-align:center;border:1px solid #fff;border-radius:3px;padding:2px 4px;background:#dc3545e6!important}.pg-booking .calendar-day.job-blocked .blocking-icon{margin-bottom:2px;font-size:12px;display:none}.pg-booking .calendar-day.job-blocked .blocking-text{text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:600}.pg-booking .calendar-day.job-blocked .job-details{opacity:.9;word-wrap:break-word;max-width:100%;font-size:9px;line-height:1.2}.pg-booking .calendar-day.job-blocked:hover{z-index:5;transform:scale(1.02);box-shadow:0 4px 12px #dc354566}.pg-booking .legend-indicator.job-blocked{background:linear-gradient(135deg,#dc3545 0%,#c82333 100%);border:2px solid #fff;box-shadow:0 2px 4px #dc35454d}@media (max-width:768px){.pg-booking .calendar-container{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:10px 0!important;padding:15px!important;overflow:hidden!important}.pg-booking .calendar-header{text-align:center!important;flex-direction:column!important;gap:15px!important;margin-bottom:15px!important}.pg-booking .calendar-header h4{order:1!important;margin:0!important;font-size:1.5rem!important}.pg-booking .btn{min-width:44px!important;min-height:44px!important;padding:10px 20px!important;font-size:1rem!important}.pg-booking .calendar-grid{box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.pg-booking .calendar-weekdays{grid-template-columns:repeat(7,1fr)!important;gap:3px!important;width:100%!important;margin-bottom:8px!important;display:grid!important}.pg-booking .calendar-weekdays span{text-align:center!important;color:var(--accent-color)!important;white-space:nowrap!important;justify-content:center!important;align-items:center!important;min-height:28px!important;padding:6px 0!important;font-size:.75rem!important;font-weight:600!important;display:flex!important;overflow:hidden!important}.pg-booking .calendar-days{grid-template-columns:repeat(7,1fr)!important;gap:3px!important;width:100%!important;display:grid!important}.pg-booking .calendar-day{aspect-ratio:1!important;box-sizing:border-box!important;white-space:nowrap!important;text-overflow:ellipsis!important;word-break:keep-all!important;border-radius:6px!important;min-height:55px!important;font-size:.85rem!important;position:relative!important;overflow:hidden!important}.pg-booking .calendar-day .booking-info,.pg-booking .calendar-day .blocking-info,.pg-booking .calendar-day .availability-info{opacity:.9!important;text-overflow:ellipsis!important;white-space:nowrap!important;box-sizing:border-box!important;border-radius:0 0 6px 6px!important;max-width:100%!important;padding:2px 3px!important;font-size:.4rem!important;line-height:1!important;bottom:0!important;left:0!important;right:0!important;overflow:hidden!important}.pg-booking .calendar-day .booking-count{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:.5rem!important;display:block!important;overflow:hidden!important}.pg-booking .calendar-day .booking-preview,.pg-booking .calendar-day .blocking-text,.pg-booking .calendar-day .availability-text{white-space:nowrap!important;text-overflow:ellipsis!important;max-width:100%!important;font-size:.35rem!important;overflow:hidden!important}.pg-booking .calendar-legend{grid-gap:.5rem!important;background:#ffffff08!important;border-radius:8px!important;flex-wrap:wrap!important;grid-template-columns:repeat(3,1fr)!important;justify-content:center!important;gap:.5rem!important;margin-top:1rem!important;padding:.75rem!important;display:grid!important}.pg-booking .legend-item{text-align:center!important;white-space:nowrap!important;text-overflow:ellipsis!important;justify-content:center!important;align-items:center!important;gap:.25rem!important;min-height:20px!important;font-size:.65rem!important;display:flex!important;overflow:hidden!important}.pg-booking .legend-indicator{flex-shrink:0!important;width:6px!important;min-width:6px!important;height:6px!important;min-height:6px!important}.pg-booking .time-selection{margin-top:1.5rem!important;margin-bottom:1.5rem!important;padding:1rem!important}.pg-booking .selected-date{text-align:center!important;flex-direction:column!important;gap:.5rem!important;margin-bottom:1rem!important;padding:.75rem!important}.pg-booking .time-slots{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:.75rem!important}.pg-booking .time-slot{min-width:44px!important;min-height:44px!important;padding:.75rem!important;font-size:.9rem!important}.pg-booking .calendar-day{cursor:pointer!important;-webkit-tap-highlight-color:#8cc63f4d!important;touch-action:manipulation!important}.pg-booking .calendar-day:hover:not(.disabled){transform:none!important}.pg-booking .calendar-day:active:not(.disabled){background:#8cc63f4d!important;transform:scale(.95)!important}.pg-booking .time-slot{cursor:pointer!important;-webkit-tap-highlight-color:#8cc63f4d!important;touch-action:manipulation!important}.pg-booking .time-slot:hover:not(.disabled){transform:none!important}.pg-booking .time-slot:active:not(.disabled){background:#8cc63f33!important;transform:scale(.95)!important}.pg-booking .btn{cursor:pointer!important;-webkit-tap-highlight-color:#8cc63f4d!important;touch-action:manipulation!important}.pg-booking .btn:active{transform:scale(.95)!important}}@media (max-width:480px){.pg-booking .calendar-container{max-width:calc(100vw - 1rem)!important;margin:0!important;padding:10px!important}.pg-booking .calendar-header h4{font-size:1.3rem!important}.pg-booking .calendar-weekdays,.pg-booking .calendar-days{gap:2px!important;max-width:calc(100vw - 2rem)!important}.pg-booking .calendar-day{flex:1!important;min-width:0!important;max-width:100%!important;min-height:48px!important;font-size:.8rem!important}.pg-booking .calendar-day .booking-info,.pg-booking .calendar-day .blocking-info,.pg-booking .calendar-day .availability-info{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;padding:1px 2px!important;font-size:.35rem!important;overflow:hidden!important}.pg-booking .calendar-day .booking-count{font-size:.45rem!important}.pg-booking .calendar-day .booking-preview,.pg-booking .calendar-day .blocking-text,.pg-booking .calendar-day .availability-text{font-size:.3rem!important}.pg-booking .calendar-legend{grid-gap:.4rem!important;grid-template-columns:repeat(2,1fr)!important;gap:.4rem!important;max-width:calc(100vw - 2rem)!important;padding:.5rem!important;overflow:hidden!important}.pg-booking .legend-item{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;min-height:18px!important;font-size:.6rem!important;overflow:hidden!important}.pg-booking .legend-indicator{flex-shrink:0!important;width:5px!important;min-width:5px!important;height:5px!important;min-height:5px!important}.pg-booking .time-slots{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))!important;gap:.5rem!important}.pg-booking .time-slot{min-height:44px!important;padding:.6rem!important;font-size:.8rem!important}}@media (max-width:360px){.pg-booking .calendar-day{flex:1!important;min-width:0!important;max-width:100%!important;min-height:42px!important;font-size:.75rem!important}.pg-booking .calendar-day .booking-info,.pg-booking .calendar-day .blocking-info,.pg-booking .calendar-day .availability-info{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;padding:1px!important;font-size:.3rem!important;overflow:hidden!important}.pg-booking .calendar-day .booking-count{font-size:.4rem!important}.pg-booking .calendar-day .booking-preview,.pg-booking .calendar-day .blocking-text,.pg-booking .calendar-day .availability-text{font-size:.25rem!important}.pg-booking .calendar-legend{grid-gap:.3rem!important;grid-template-columns:repeat(2,1fr)!important;gap:.3rem!important;max-width:calc(100vw - 1.5rem)!important;padding:.4rem!important;overflow:hidden!important}.pg-booking .legend-item{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;min-height:16px!important;font-size:.55rem!important;overflow:hidden!important}.pg-booking .legend-indicator{flex-shrink:0!important;width:4px!important;min-width:4px!important;height:4px!important;min-height:4px!important}.pg-booking .time-slots{grid-template-columns:1fr!important;gap:.4rem!important}.pg-booking .time-slot{min-height:40px!important;padding:.5rem!important;font-size:.75rem!important}}@media (max-width:320px){.pg-booking .calendar-container{max-width:calc(100vw - .8rem)!important;margin:0!important;padding:.4rem!important}.pg-booking .calendar-header h4{font-size:1rem!important}.pg-booking .calendar-weekdays span{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;min-height:20px!important;padding:.25rem 0!important;font-size:.6rem!important;overflow:hidden!important}.pg-booking .calendar-day{border-radius:2px!important;flex:1!important;min-width:0!important;max-width:100%!important;min-height:36px!important;font-size:.7rem!important}.pg-booking .calendar-weekdays,.pg-booking .calendar-days{gap:1px!important;max-width:calc(100vw - 1.5rem)!important;overflow:hidden!important}.pg-booking .calendar-legend{grid-gap:.25rem!important;grid-template-columns:repeat(2,1fr)!important;gap:.25rem!important;max-width:calc(100vw - 1.5rem)!important;padding:.3rem!important;overflow:hidden!important}.pg-booking .legend-item{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;min-height:14px!important;font-size:.5rem!important;overflow:hidden!important}.pg-booking .legend-indicator{flex-shrink:0!important;width:3px!important;min-width:3px!important;height:3px!important;min-height:3px!important}.pg-booking .time-slots{grid-template-columns:1fr!important;gap:.3rem!important}.pg-booking .time-slot{min-height:36px!important;padding:.4rem!important;font-size:.7rem!important}.pg-booking .booking-form-container{padding:1rem!important}.pg-booking .booking-header h1{font-size:1.2rem!important}.pg-booking .booking-header p{font-size:.9rem!important}}@media (max-width:768px) and (orientation:landscape){.pg-booking .calendar-container{padding:10px!important}.pg-booking .calendar-header{flex-direction:row!important;gap:20px!important}.pg-booking .calendar-day{min-height:55px!important}.pg-booking .time-slots{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}}@media (min-width:769px) and (max-width:1024px){.pg-booking .calendar-container{padding:18px!important}.pg-booking .calendar-day{min-height:70px!important}.pg-booking .calendar-day .booking-info,.pg-booking .calendar-day .blocking-info,.pg-booking .calendar-day .availability-info{padding:1px 2px!important;font-size:.45rem!important}.pg-booking .calendar-day .booking-count{font-size:.55rem!important}.pg-booking .calendar-day .booking-preview,.pg-booking .calendar-day .blocking-text,.pg-booking .calendar-day .availability-text{font-size:.4rem!important}.pg-booking .calendar-legend{gap:1.25rem!important;padding:.6rem!important}.pg-booking .legend-item{font-size:.8rem!important}.pg-booking .legend-indicator{width:7px!important;height:7px!important}}@media (max-width:768px){.pg-booking .calendar-day{cursor:pointer;-webkit-tap-highlight-color:#8cc63f4d;touch-action:manipulation}.pg-booking .calendar-day:hover:not(.disabled){transform:none}.pg-booking .calendar-day:active:not(.disabled){background:#8cc63f4d;transform:scale(.95)}.pg-booking .time-slot{cursor:pointer;-webkit-tap-highlight-color:#8cc63f4d;touch-action:manipulation}.pg-booking .time-slot:hover:not(.disabled){transform:none}.pg-booking .time-slot:active:not(.disabled){background:#8cc63f33;transform:scale(.95)}.pg-booking .btn{cursor:pointer;-webkit-tap-highlight-color:#8cc63f4d;touch-action:manipulation;min-width:44px;min-height:44px}.pg-booking .btn:active{transform:scale(.95)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.pg-booking .calendar-day .booking-info,.pg-booking .calendar-day .blocking-info,.pg-booking .calendar-day .availability-info,.pg-booking .legend-indicator{border:.5px solid #fff3}}@media (max-width:768px){.pg-booking .calendar-day:focus,.pg-booking .time-slot:focus{outline:2px solid var(--accent-color);outline-offset:1px}.pg-booking .btn:focus{outline:2px solid var(--accent-color);outline-offset:2px}}.pg-booking .calendar-day{min-height:80px;position:relative}.pg-booking .calendar-day.booked .existing-bookings-info,.pg-booking .calendar-day.partially-booked .existing-bookings-info{background:#dc3545b3}.pg-booking .calendar-day.available .existing-bookings-info{background:#28a745b3}.pg-booking .calendar-day.blocked .existing-bookings-info,.pg-booking .calendar-day.weekend .existing-bookings-info{background:#6c757db3}.pg-booking .calendar-day.job-blocked .existing-bookings-info{background:#dc3545b3}@media (max-width:768px){.pg-booking .booking-container{margin:10px;padding:15px}.pg-booking .booking-header{text-align:center;margin-bottom:20px}.pg-booking .booking-header h1{margin-bottom:10px;font-size:1.8rem}.pg-booking .booking-header p{font-size:1rem;line-height:1.4}.pg-booking .booking-steps{margin-bottom:20px}.pg-booking .step-indicator{gap:8px;margin-bottom:20px}.pg-booking .step{min-width:80px;padding:8px 12px;font-size:.8rem}.pg-booking .step.active{padding:10px 14px}.pg-booking .booking-step{padding:20px 15px}.pg-booking .booking-step h3{text-align:center;margin-bottom:15px;font-size:1.3rem}.pg-booking .form-group{margin-bottom:15px}.pg-booking .form-group label{margin-bottom:6px;font-size:.9rem;display:block}.pg-booking .form-group input,.pg-booking .form-group textarea,.pg-booking .form-group select{border-radius:6px;padding:10px;font-size:1rem}.pg-booking .step-buttons{flex-direction:column;gap:10px;margin-top:20px}.pg-booking .btn-primary,.pg-booking .btn-secondary{width:100%;min-height:48px;padding:12px;font-size:1rem}.pg-booking .image-upload-container{margin-top:10px}.pg-booking .image-upload-area{text-align:center;padding:20px 15px}.pg-booking .image-upload-area i{margin-bottom:10px;font-size:2rem}.pg-booking .image-upload-area p{margin-bottom:8px;font-size:.9rem}.pg-booking .upload-hint{font-size:.8rem}.pg-booking .image-preview-container{gap:8px;margin-top:15px}.pg-booking .image-preview{width:80px;height:80px}.pg-booking .image-preview .remove-image{width:20px;height:20px;font-size:12px;top:2px;right:2px}}@media (max-width:480px){.pg-booking .booking-container{margin:5px;padding:10px}.pg-booking .booking-header h1{font-size:1.5rem}.pg-booking .booking-header p{font-size:.9rem}.pg-booking .step{min-width:70px;padding:6px 10px;font-size:.75rem}.pg-booking .step.active{padding:8px 12px}.pg-booking .booking-step{padding:15px 10px}.pg-booking .booking-step h3{font-size:1.2rem}.pg-booking .form-group input,.pg-booking .form-group textarea,.pg-booking .form-group select{padding:8px;font-size:.9rem}.pg-booking .btn-primary,.pg-booking .btn-secondary{min-height:44px;padding:10px;font-size:.9rem}.pg-booking .image-preview{width:70px;height:70px}}@media (max-width:360px){.pg-booking .booking-header h1{font-size:1.3rem}.pg-booking .step{min-width:60px;padding:5px 8px;font-size:.7rem}.pg-booking .booking-step h3{font-size:1.1rem}.pg-booking .form-group input,.pg-booking .form-group textarea,.pg-booking .form-group select{padding:6px;font-size:.85rem}.pg-booking .image-preview{width:60px;height:60px}.pg-booking .calendar-container{padding:.5rem}.pg-booking .calendar-header h4{font-size:1.1rem}.pg-booking .calendar-weekdays span{min-height:24px;padding:.3rem 0;font-size:.65rem}.pg-booking .calendar-day{border-radius:3px;min-height:40px;font-size:.8rem}.pg-booking .calendar-weekdays,.pg-booking .calendar-days{gap:1px}.pg-booking .calendar-legend{gap:.4rem;padding:.4rem}.pg-booking .legend-item{min-height:18px;font-size:.6rem}.pg-booking .legend-indicator{width:5px;min-width:5px;height:5px;min-height:5px}.pg-booking .time-slots{grid-template-columns:1fr;gap:.4rem}.pg-booking .time-slot{min-height:44px;padding:.6rem;font-size:.8rem}}@media (max-width:768px) and (orientation:landscape){.pg-booking .booking-container{padding:20px}.pg-booking .step-buttons{flex-direction:row;gap:15px}.pg-booking .btn-primary,.pg-booking .btn-secondary{flex:1;width:auto}}@media (min-width:769px) and (max-width:1024px){.pg-booking .booking-container{margin:20px;padding:25px}.pg-booking .booking-header h1{font-size:2rem}.pg-booking .step{padding:10px 15px;font-size:.85rem}.pg-booking .form-group input,.pg-booking .form-group textarea,.pg-booking .form-group select{padding:12px;font-size:1rem}}@media (max-width:768px){.pg-booking .form-group input:focus,.pg-booking .form-group textarea:focus,.pg-booking .form-group select:focus{outline:2px solid var(--accent-color);outline-offset:2px}.pg-booking .image-upload-area:active{background:#8cc63f1a;transform:scale(.98)}.pg-booking .image-preview .remove-image:active{transform:scale(.9)}.pg-booking .address-suggestions{border-radius:0 0 6px 6px;max-height:200px;top:100%;left:0;right:0;box-shadow:0 4px 12px #0000004d}.pg-booking .address-suggestion{border-bottom:1px solid #ffffff1a;padding:10px 12px;font-size:.9rem}.pg-booking .address-suggestion:last-child{border-bottom:none}.pg-booking .address-suggestion:hover,.pg-booking .address-suggestion.selected{background:#8cc63f33}.pg-booking .address-loading-spinner{top:50%;right:10px;transform:translateY(-50%)}.pg-booking .required-hint{margin-top:4px;font-size:.75rem;display:block}.pg-booking .service-options{grid-template-columns:1fr;gap:10px;margin-bottom:15px}.pg-booking .service-option{border-radius:8px;padding:15px}.pg-booking .service-option.selected{transform:scale(1.02)}.pg-booking .service-option .service-icon{margin-bottom:8px;font-size:1.5rem}.pg-booking .service-option .service-name{margin-bottom:5px;font-size:1rem}.pg-booking .service-option .service-description{font-size:.85rem;line-height:1.3}.pg-booking .date-selection{margin-bottom:20px}.pg-booking .date-selection h3{text-align:center;margin-bottom:15px;font-size:1.2rem}.pg-booking .date-selection p{text-align:center;margin-bottom:15px;font-size:.9rem}}@media (max-width:480px){.pg-booking .address-suggestions{max-height:180px}.pg-booking .address-suggestion{padding:8px 10px;font-size:.85rem}.pg-booking .service-option{padding:12px}.pg-booking .service-option .service-icon{margin-bottom:6px;font-size:1.3rem}.pg-booking .service-option .service-name{font-size:.9rem}.pg-booking .service-option .service-description{font-size:.8rem}.pg-booking .date-selection h3{font-size:1.1rem}.pg-booking .date-selection p{font-size:.85rem}}@media (max-width:360px){.pg-booking .address-suggestions{max-height:160px}.pg-booking .address-suggestion{padding:6px 8px;font-size:.8rem}.pg-booking .service-option{padding:10px}.pg-booking .service-option .service-icon{margin-bottom:5px;font-size:1.2rem}.pg-booking .service-option .service-name{font-size:.85rem}.pg-booking .service-option .service-description{font-size:.75rem}.pg-booking .date-selection h3{font-size:1rem}.pg-booking .date-selection p{font-size:.8rem}}@media (max-width:768px) and (orientation:landscape){.pg-booking .address-suggestions{max-height:150px}.pg-booking .service-options{grid-template-columns:repeat(2,1fr);gap:15px}.pg-booking .service-option{padding:12px}}@media (min-width:769px) and (max-width:1024px){.pg-booking .address-suggestions{max-height:250px}.pg-booking .address-suggestion{padding:12px 15px;font-size:.95rem}.pg-booking .service-options{grid-template-columns:repeat(2,1fr);gap:20px}.pg-booking .service-option{padding:20px}.pg-booking .service-option .service-icon{font-size:1.8rem}.pg-booking .service-option .service-name{font-size:1.1rem}.pg-booking .service-option .service-description{font-size:.9rem}}@media (max-width:768px){.pg-booking .address-suggestion:active{background:#8cc63f4d;transform:scale(.98)}.pg-booking .service-option:active{background:#8cc63f26;transform:scale(.98)}.pg-booking .form-group input:active,.pg-booking .form-group textarea:active,.pg-booking .form-group select:active{background:#ffffff14}.pg-booking .calendar-days{grid-template-columns:repeat(7,1fr)!important;gap:4px!important;width:100%!important;display:grid!important}.pg-booking .calendar-container{box-sizing:border-box!important;width:100%!important;max-width:100%!important}.pg-booking .calendar-header{box-sizing:border-box!important;width:100%!important}.pg-booking .calendar-legend{box-sizing:border-box!important;justify-content:center!important;width:100%!important}.pg-booking .legend-item{justify-content:center!important;min-width:80px!important}}@media (max-width:480px){.pg-booking .calendar-days,.pg-booking .calendar-weekdays{gap:3px!important}.pg-booking .calendar-weekdays span{padding:6px 0!important;font-size:.75rem!important}.pg-booking .calendar-legend{flex-direction:column!important;gap:.5rem!important}.pg-booking .legend-item{justify-content:center!important;min-width:auto!important}}@media (max-width:360px){.pg-booking .calendar-days,.pg-booking .calendar-weekdays{gap:2px!important}.pg-booking .calendar-weekdays span{padding:4px 0!important;font-size:.7rem!important}.pg-booking .calendar-container{padding:8px!important}.pg-booking .calendar-header h2{font-size:1.2rem!important}}@media (max-width:768px) and (orientation:landscape){.pg-booking .calendar-container{padding:12px!important}.pg-booking .calendar-header{flex-direction:row!important;align-items:center!important;gap:20px!important}.pg-booking .calendar-header h2{text-align:left!important;flex:1!important;margin:0!important}.pg-booking .calendar-days{gap:6px!important}.pg-booking .calendar-day{min-height:55px!important}.pg-booking .calendar-legend{flex-flow:wrap!important;justify-content:center!important;gap:1rem!important}}@media (max-width:768px){.pg-booking .calendar-day,.pg-booking .time-slot,.pg-booking .btn{-webkit-user-select:none!important;user-select:none!important;min-width:44px!important;min-height:44px!important}.pg-booking .calendar-day:active,.pg-booking .time-slot:active,.pg-booking .btn:active{transition:transform .1s!important;transform:scale(.95)!important}.pg-booking .calendar-day.booked{color:#ff6b6b;background:#dc354540;border-color:#dc3545}.pg-booking .calendar-day.blocked{color:#6c757d;background:#6c757d40;border-color:#6c757d}.pg-booking .calendar-day.partially-booked{background:#ffc10740;border-color:#ffc107}.pg-booking .calendar-day.available{background:#28a74540;border-color:#28a745}.pg-booking .calendar-day.fully-booked{color:#dc3545;background:#dc354559;border-color:#dc3545}.pg-booking .calendar-day.weekend{color:#6c757d;background:#6c757d59;border-color:#6c757d}.pg-booking .calendar-day.job-blocked{color:#fff;background:linear-gradient(135deg,#dc3545 0%,#c82333 100%);border-color:#dc3545}.pg-booking .calendar-day .booking-info,.pg-booking .calendar-day .blocking-info,.pg-booking .calendar-day .availability-info{color:#fff;text-align:center;opacity:.95;text-transform:uppercase;letter-spacing:.3px;border-radius:0 0 6px 6px;padding:3px 4px;font-size:.5rem;font-weight:600;line-height:1.1;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.pg-booking .calendar-day:hover .booking-info,.pg-booking .calendar-day:hover .blocking-info,.pg-booking .calendar-day:hover .availability-info{opacity:1}.pg-booking .calendar-day.booked .booking-info{background:#dc3545e6}.pg-booking .calendar-day.partially-booked .booking-info{color:#212529;background:#ffc107e6}.pg-booking .calendar-day.available .availability-info{background:#28a745e6}.pg-booking .calendar-day.blocked .blocking-info,.pg-booking .calendar-day.weekend .blocking-info{background:#6c757de6}.pg-booking .calendar-day.job-blocked .blocking-info{background:#dc3545e6;border:1px solid #ffffff4d}.pg-booking .calendar-day:active:not(.disabled){transition:transform .1s;transform:scale(.95)}.pg-booking .calendar-day.selected{background:var(--accent-color);color:var(--primary-color);border-color:var(--accent-color);box-shadow:0 0 0 2px #8cc63f4d}.pg-booking .calendar-day.today{border:2px solid var(--accent-color);background:#8cc63f1a}.pg-booking .time-selection{background:#8cc63f14;border:1px solid #8cc63f40;border-radius:12px;margin:1.5rem 0}.pg-booking .selected-date{background:#8cc63f26;border:1px solid #8cc63f59;border-radius:8px;margin-bottom:1rem}.pg-booking .time-slots{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.pg-booking .time-slot{cursor:pointer;min-width:48px;min-height:48px;color:var(--text-color);text-align:center;background:#ffffff14;border:2px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;padding:1rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.pg-booking .time-slot:hover:not(.disabled){border-color:var(--accent-color);background:#8cc63f26;transform:translateY(-1px)}.pg-booking .time-slot:active:not(.disabled){background:#8cc63f33;transform:scale(.95)}.pg-booking .time-slot.selected{background:var(--accent-color);color:var(--primary-color);border-color:var(--accent-color);box-shadow:0 4px 12px #8cc63f4d}.pg-booking .time-slot.disabled{color:#ff6b6b;opacity:.6;cursor:not-allowed;background:#ff00001a;border-color:#f44}.pg-booking .time-slot.disabled.job-blocked{color:#dc3545;opacity:.8;background:#dc354526;border-color:#dc3545}.pg-booking .form-group{margin-bottom:1.5rem}.pg-booking .form-group label{color:var(--text-color);margin-bottom:.5rem;font-size:.95rem;font-weight:600}.pg-booking .form-group input,.pg-booking .form-group textarea,.pg-booking .form-group select{color:var(--text-color);background:#ffffff0d;border:1px solid #fff3;border-radius:8px;min-height:48px;padding:.75rem;font-size:1rem;transition:all .2s}.pg-booking .form-group input:focus,.pg-booking .form-group textarea:focus,.pg-booking .form-group select:focus{border-color:var(--accent-color);background:#ffffff14;outline:none;box-shadow:0 0 0 2px #8cc63f33}.pg-booking .btn-primary,.pg-booking .btn-secondary{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.pg-booking .btn-primary{background:var(--accent-color);color:var(--primary-color)}.pg-booking .btn-primary:hover{background:#9bc84a;transform:translateY(-1px);box-shadow:0 4px 12px #8cc63f4d}.pg-booking .btn-primary:active{transform:scale(.98)}.pg-booking .btn-secondary{color:var(--text-color);background:#ffffff1a;border:1px solid #fff3}.pg-booking .btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d}.pg-booking .btn-secondary:active{transform:scale(.98)}}@media (max-width:320px){.pg-booking .calendar-container{padding:.4rem}.pg-booking .calendar-header h4{font-size:1rem}.pg-booking .calendar-weekdays span{min-height:20px;padding:.25rem 0;font-size:.6rem}.pg-booking .calendar-day{border-radius:2px;min-height:36px;font-size:.75rem}.pg-booking .calendar-weekdays,.pg-booking .calendar-days{gap:1px}.pg-booking .calendar-legend{gap:.3rem;padding:.3rem}.pg-booking .legend-item{min-height:16px;font-size:.55rem}.pg-booking .legend-indicator{width:4px;min-width:4px;height:4px;min-height:4px}.pg-booking .time-slots{grid-template-columns:1fr;gap:.3rem}.pg-booking .time-slot{min-height:40px;padding:.5rem;font-size:.75rem}.pg-booking .booking-form-container{padding:1rem}.pg-booking .booking-header h1{font-size:1.2rem}.pg-booking .booking-header p{font-size:.9rem}}@media (max-width:768px) and (orientation:landscape){.pg-booking .calendar-container{width:100%!important;max-width:100%!important;margin:.5rem 0!important;padding:.75rem!important;overflow:hidden!important}.pg-booking .calendar-header{flex-direction:row!important;align-items:center!important;gap:1rem!important;margin-bottom:.75rem!important}.pg-booking .calendar-header h4{text-align:center!important;flex:1!important;margin:0!important;font-size:1.2rem!important}.pg-booking .calendar-days{gap:3px!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.pg-booking .calendar-day{aspect-ratio:1!important;box-sizing:border-box!important;min-height:48px!important;font-size:.85rem!important;overflow:hidden!important}.pg-booking .calendar-legend{grid-template-columns:unset!important;grid-gap:unset!important;flex-flow:wrap!important;justify-content:center!important;gap:.75rem!important;margin-top:.75rem!important;padding:.5rem!important;display:flex!important}.pg-booking .legend-item{flex:none!important;min-height:20px!important;font-size:.65rem!important}.pg-booking .legend-indicator{width:6px!important;min-width:6px!important;height:6px!important;min-height:6px!important}.pg-booking .time-selection{margin:1rem 0!important;padding:.75rem!important}.pg-booking .time-slots{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:.5rem!important}.pg-booking .time-slot{min-height:44px!important;padding:.75rem!important;font-size:.85rem!important}.pg-booking .form-group{margin-bottom:1rem!important}.pg-booking .form-group input,.pg-booking .form-group textarea,.pg-booking .form-group select{min-height:44px!important;padding:.6rem!important}.pg-booking .btn-primary,.pg-booking .btn-secondary{min-height:44px!important;padding:.75rem 1.25rem!important;font-size:.9rem!important}}@media (max-width:768px){.pg-booking .booking-container,.pg-booking .calendar-container,.pg-booking .calendar-grid,.pg-booking .calendar-weekdays,.pg-booking .calendar-days{box-sizing:border-box!important;max-width:100%!important;overflow-x:hidden!important}.pg-booking .calendar-days,.pg-booking .calendar-weekdays{grid-template-columns:repeat(7,1fr)!important;gap:3px!important;width:100%!important;display:grid!important}.pg-booking .calendar-day{white-space:nowrap!important;text-overflow:ellipsis!important;word-break:keep-all!important;box-sizing:border-box!important;position:relative!important;overflow:hidden!important}.pg-booking .form-group input,.pg-booking .form-group textarea,.pg-booking .form-group select{font-size:16px!important}.pg-booking .calendar-legend{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important}.pg-booking .booking-container,.pg-booking .booking-form-container,.pg-booking .date-selection,.pg-booking .calendar-container,.pg-booking .calendar-grid,.pg-booking .calendar-weekdays,.pg-booking .calendar-days{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important}.pg-booking .calendar-grid{width:100%!important;max-width:100%!important;display:block!important;position:relative!important;overflow:hidden!important}.pg-booking .calendar-weekdays,.pg-booking .calendar-days{box-sizing:border-box!important;grid-template-columns:repeat(7,1fr)!important;gap:.25rem!important;width:100%!important;max-width:100%!important;display:grid!important;overflow:hidden!important}.pg-booking .calendar-day{box-sizing:border-box!important;flex:1!important;width:100%!important;min-width:0!important;max-width:100%!important;position:relative!important;overflow:hidden!important}.pg-booking .calendar-day,.pg-booking .calendar-weekdays span{white-space:nowrap!important;text-overflow:ellipsis!important;word-break:keep-all!important;overflow:hidden!important}.pg-booking .calendar-day .booking-info,.pg-booking .calendar-day .blocking-info,.pg-booking .calendar-day .availability-info{text-overflow:ellipsis!important;white-space:nowrap!important;box-sizing:border-box!important;max-width:100%!important;position:absolute!important;bottom:0!important;left:0!important;right:0!important;overflow:hidden!important}.pg-booking .booking-form-container{-webkit-overflow-scrolling:touch!important;overflow:hidden auto!important}.pg-booking .calendar-legend{box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.pg-booking .legend-item{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important}}.pg-booking .modal-content{max-width:560px}.pg-booking .modal-header,.pg-booking .modal-body{padding:1.1rem 1.25rem}.pg-booking .modal-body{padding-top:.25rem}.pg-booking .modal-header{border-bottom:0}.pg-booking .bk-done{text-align:center}.pg-booking .bk-done>i{color:var(--accent-color);font-size:2.5rem}.pg-booking .bk-done h3{color:var(--text-color);margin-top:.5rem;font-size:1.4rem;font-weight:600}.pg-booking .bk-done>p{color:#ffffffb8;margin:.3rem 0 1.1rem;font-size:.92rem;line-height:1.45}.pg-booking .bk-done .bk-details{text-align:left}.pg-booking .bk-done-actions{gap:.6rem;margin-top:1rem;display:flex}.pg-booking .bk-done-actions>*{flex:1;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1rem;text-decoration:none;display:inline-flex}.pg-booking .bk-details{background:#ffffff14;border:1px solid #ffffff1a;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.pg-booking .bk-details>div{background:var(--primary-color);min-width:0;padding:.7rem .9rem}.pg-booking .bk-details>.is-wide{grid-column:1/-1}.pg-booking .bk-details dt{color:#ffffff8c;font-size:.75rem}.pg-booking .bk-details dd{color:var(--text-color);overflow-wrap:anywhere;margin:.15rem 0 0;font-weight:600}.pg-booking .modal-footer{gap:.6rem;padding:0 1.25rem 1.25rem;display:flex}.pg-booking .modal-footer>*{text-align:center;flex:1;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1rem;text-decoration:none;display:inline-flex}@media (max-width:480px){.pg-booking .booking-form-container{padding:1rem .75rem!important}.pg-booking .booking-step{padding:.5rem 0}.pg-booking .modal-content{width:calc(100% - 24px)!important;margin:0!important}.pg-booking .bk-details{grid-template-columns:minmax(0,1fr)}.pg-booking .bk-details>div{justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem .8rem;display:flex}.pg-booking .bk-details dt{flex-shrink:0}.pg-booking .bk-details dd{text-align:right;margin:0;font-size:.92rem}}@media (max-width:340px){.pg-booking .modal-footer{flex-direction:column}}@media (max-width:480px){.pg-booking .bk-done-actions{flex-direction:column}}
:is(.pg-booking,.pg-schedule) .bk-cal{--bk-cell:#3b3b3b;--bk-text:#f4f4f2;--bk-muted:#f4f4f26b;--bk-faint:#f4f4f238;--bk-green:#8cc63f;--bk-yellow:#f2c14e;--bk-red:#e3735e;--bk-on-green:#1d2a0c;color:var(--bk-text);background:#303030;border:1px solid #ffffff12;border-radius:18px;padding:1.25rem}:is(.pg-booking,.pg-schedule) .bk-cal-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}:is(.pg-booking,.pg-schedule) .bk-cal-head h4{font-family:var(--font-poppins), sans-serif;letter-spacing:-.01em;font-size:1.15rem;font-weight:600}:is(.pg-booking,.pg-schedule) .bk-nav{width:44px;height:44px;color:var(--bk-text);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;transition:background .15s,border-color .15s}:is(.pg-booking,.pg-schedule) .bk-nav:hover:not(:disabled){border-color:var(--bk-green);background:#8cc63f1f}:is(.pg-booking,.pg-schedule) .bk-nav:disabled{opacity:.25;cursor:default}:is(.pg-booking,.pg-schedule) .bk-week,:is(.pg-booking,.pg-schedule) .bk-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}:is(.pg-booking,.pg-schedule) .bk-week{text-align:center;color:var(--bk-muted);margin-bottom:6px;font-size:.8rem;font-weight:500}:is(.pg-booking,.pg-schedule) .bk-day{aspect-ratio:1;background:var(--bk-cell);min-width:0;min-height:44px;color:var(--bk-text);font:600 1rem/1 var(--font-inter), sans-serif;cursor:pointer;border:1.5px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;transition:transform .12s,background .15s,border-color .15s;display:flex}:is(.pg-booking,.pg-schedule) .bk-day:hover:not(:disabled){transform:translateY(-1px)}:is(.pg-booking,.pg-schedule) .bk-day:focus-visible,:is(.pg-booking,.pg-schedule) .bk-nav:focus-visible,:is(.pg-booking,.pg-schedule) .bk-slot:focus-visible{outline:2px solid var(--bk-green);outline-offset:2px}:is(.pg-booking,.pg-schedule) .bk-day.is-open{border-color:#8cc63f80}:is(.pg-booking,.pg-schedule) .bk-day.is-partial{background:#f2c14e21;border-color:#f2c14ebf}:is(.pg-booking,.pg-schedule) .bk-day.is-full{color:var(--bk-muted);cursor:default;background:#e3735e1a;border-color:#e3735e59}:is(.pg-booking,.pg-schedule) .bk-day.is-closed{color:var(--bk-faint);cursor:default;background:0 0;font-weight:500}:is(.pg-booking,.pg-schedule) .bk-day.is-outside{opacity:.45}:is(.pg-booking,.pg-schedule) .bk-day.is-today .bk-num{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}:is(.pg-booking,.pg-schedule) .bk-day.is-selected{background:var(--bk-green);border-color:var(--bk-green);color:var(--bk-on-green);transform:none}:is(.pg-booking,.pg-schedule) .bk-dots{gap:4px;display:inline-flex}:is(.pg-booking,.pg-schedule) .bk-dots i{background:#ffffff29;border-radius:50%;width:6px;height:6px}:is(.pg-booking,.pg-schedule) .is-open .bk-dots i.on{background:var(--bk-green)}:is(.pg-booking,.pg-schedule) .is-partial .bk-dots i.on{background:var(--bk-yellow)}:is(.pg-booking,.pg-schedule) .bk-day.is-selected .bk-dots i{background:#1d2a0c40}:is(.pg-booking,.pg-schedule) .bk-day.is-selected .bk-dots i.on{background:var(--bk-on-green)}:is(.pg-booking,.pg-schedule) .bk-legend{color:var(--bk-text);border-top:1px solid #ffffff12;flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem;margin-top:1.25rem;padding-top:1rem;font-size:.875rem;list-style:none;display:flex}:is(.pg-booking,.pg-schedule) .bk-legend li{align-items:center;gap:.5rem;display:inline-flex}:is(.pg-booking,.pg-schedule) .bk-legend .bk-dots{background:var(--bk-cell);border:1.5px solid #0000;border-radius:8px;padding:6px 7px}:is(.pg-booking,.pg-schedule) .bk-legend .is-open .bk-dots{border-color:#8cc63f80}:is(.pg-booking,.pg-schedule) .bk-legend .is-partial .bk-dots{background:#f2c14e21;border-color:#f2c14ebf}:is(.pg-booking,.pg-schedule) .bk-legend .is-full .bk-dots{background:#e3735e1a;border-color:#e3735e59}:is(.pg-booking,.pg-schedule) .bk-dash{background:var(--bk-faint);border-radius:2px;width:26px;height:2px;margin:0 2px;display:inline-block}:is(.pg-booking,.pg-schedule) .bk-hint{text-align:center;color:var(--bk-muted);margin-top:.75rem;font-size:.8rem}:is(.pg-booking,.pg-schedule) .bk-times{background:#303030;border:1px solid #8cc63f59;border-radius:18px;margin-top:1.25rem;padding:1.25rem;scroll-margin-top:100px}:is(.pg-booking,.pg-schedule) .bk-times h4{font-family:var(--font-poppins), sans-serif;color:#f4f4f2;font-size:1.1rem;font-weight:600}:is(.pg-booking,.pg-schedule) .bk-times p{color:#f4f4f299;margin:.25rem 0 1rem;font-size:.9rem}:is(.pg-booking,.pg-schedule) .bk-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}:is(.pg-booking,.pg-schedule) .bk-slot{color:#f4f4f2;cursor:pointer;min-height:64px;font-family:var(--font-inter), sans-serif;background:#3b3b3b;border:1.5px solid #8cc63f80;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;transition:background .15s,border-color .15s;display:flex}:is(.pg-booking,.pg-schedule) .bk-slot strong{font-size:1.05rem;font-weight:600}:is(.pg-booking,.pg-schedule) .bk-slot span{color:#f4f4f299;font-size:.78rem}:is(.pg-booking,.pg-schedule) .bk-slot:hover:not(:disabled){background:#8cc63f24}:is(.pg-booking,.pg-schedule) .bk-slot.is-selected{color:#1d2a0c;background:#8cc63f;border-color:#8cc63f}:is(.pg-booking,.pg-schedule) .bk-slot.is-selected span{color:#1d2a0c}:is(.pg-booking,.pg-schedule) .bk-slot:disabled{color:#f4f4f24d;cursor:default;background:0 0;border-color:#0000}:is(.pg-booking,.pg-schedule) .bk-slot:disabled strong{text-decoration:line-through}@media (max-width:480px){:is(.pg-booking,.pg-schedule) .bk-cal{background:0 0;border:0;padding:0}:is(.pg-booking,.pg-schedule) .bk-cal-head h4{font-size:1.1rem}:is(.pg-booking,.pg-schedule) .bk-nav{width:48px;height:48px;font-size:1.05rem}:is(.pg-booking,.pg-schedule) .bk-week,:is(.pg-booking,.pg-schedule) .bk-grid{gap:4px}:is(.pg-booking,.pg-schedule) .bk-day{border-radius:10px;gap:5px;min-height:0;font-size:1rem}:is(.pg-booking,.pg-schedule) .bk-dots{gap:3px}:is(.pg-booking,.pg-schedule) .bk-dots i{width:5px;height:5px}:is(.pg-booking,.pg-schedule) .bk-legend{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:start;gap:.5rem .75rem;margin-top:1rem;padding-top:.85rem;font-size:.82rem;display:grid}:is(.pg-booking,.pg-schedule) .bk-times{padding:1rem .85rem}:is(.pg-booking,.pg-schedule) .bk-slots{gap:.5rem}:is(.pg-booking,.pg-schedule) .bk-slot{min-height:60px}:is(.pg-booking,.pg-schedule) .bk-slot strong{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){:is(.pg-booking,.pg-schedule) .bk-day,:is(.pg-booking,.pg-schedule) .bk-nav,:is(.pg-booking,.pg-schedule) .bk-slot{transition:none}}@media (min-width:640px){:is(.pg-booking,.pg-schedule) .bk-day{aspect-ratio:auto;height:68px}}:is(.pg-booking,.pg-schedule) .bk-times{margin-bottom:1.5rem}
