:root{--color-primary:#7e6958;--color-secondary:#d5c5b5;--color-accent:#8c7b6d;--color-background:#faf7f4;--color-white:#ffffff;--color-text:#2c2c2c;--color-text-light:#6e6e6e;--color-border:#e8e1d9;--color-success:#91a789;--color-error:#c17f7f;--color-disabled:#e5e5e5;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.04);--shadow-md:0 2px 4px rgba(0, 0, 0, 0.06);--shadow-lg:0 4px 6px rgba(0, 0, 0, 0.08);--transition-fast:150ms ease;--transition-normal:250ms ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Quicksand",sans-serif;font-weight:400;line-height:1.5;color:var(--color-text);background-color:var(--color-background);min-height:100vh;min-height:-webkit-fill-available}html,body{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.booking-wrapper{min-height:100vh;padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + 80px);display:grid;place-items:center;position:relative}.booking-container{width:100%;max-width:1000px;background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;margin-bottom:env(safe-area-inset-bottom)}.booking-header{padding:var(--spacing-xl);background:var(--color-white);border-bottom:1px solid var(--color-border)}.booking-header h1{font-size:1.75rem;font-weight:600;color:var(--color-text);text-align:center}.booking-header h2{font-size:.7rem;font-weight:300;text-align:center;margin-bottom:var(--spacing-xl)}.progress-bar{display:flex;justify-content:space-between;align-items:flex-start;margin:2rem auto;max-width:800px;position:relative;padding:0 1rem}.progress-bar::before{content:'';position:absolute;top:15px;left:calc(10% + 15px);right:calc(10% + 15px);height:2px;background:var(--color-border);z-index:1}.progress-step{flex:1;text-align:center;position:relative;z-index:2}.progress-step::after{content:'';position:absolute;top:15px;left:50%;width:100%;height:2px;background:var(--color-border);z-index:1}.progress-step.active::after{background:var(--color-primary);z-index:2}.progress-step:last-child::after{display:none}.step-number{width:30px;height:30px;margin:0 auto;background:var(--color-white);border:2px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--color-text-light);position:relative;transition:all 0.3s ease;z-index:3}.progress-step.active .step-number{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.step-title{margin-top:.5rem;font-size:12px;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.progress-step.active .step-title{color:var(--color-primary)}.booking-content{padding:var(--spacing-xl);padding-bottom:calc(env(safe-area-inset-bottom) + 100px)}.booking-step{display:none}.booking-step.active{display:block;animation:fadeIn 300ms ease}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin:var(--spacing-lg) 0}.selection-card{padding:var(--spacing-md);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;transition:var(--transition-normal);box-shadow:var(--shadow-sm)}.selection-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.selection-card.selected{border-color:var(--color-primary);background:linear-gradient(to bottom right,var(--color-background),var(--color-white))}.card-image{width:80px;height:80px;margin:0 auto var(--spacing-md);border-radius:50%;overflow:hidden;background-color:var(--color-secondary);position:relative}.card-image img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.card-image:empty{background:var(--color-secondary)}.card-content{text-align:center}.card-content h3{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-xs)}.date-picker{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.date-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.nav-btn{background:none;border:none;padding:var(--spacing-sm);cursor:pointer;color:var(--color-text);transition:var(--transition-fast)}.nav-btn:hover{color:var(--color-primary)}.current-month{font-weight:500;font-size:1.125rem}.calendar-grid{display:grid;gap:var(--spacing-sm)}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.875rem;font-weight:500;color:var(--color-text-light)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs)}.calendar-day{aspect-ratio:1;display:grid;place-items:center;font-size:.875rem;border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-sm);text-align:center;padding:0;width:100%;height:100%}.calendar-day:not(.disabled):hover{background:var(--color-secondary);color:var(--color-white);box-shadow:var(--shadow-md)}.calendar-day.selected{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-md)}.calendar-day.disabled{color:var(--color-disabled);cursor:not-allowed;box-shadow:none}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.time-slots:has(.no-slots-message){display:block}.time-slot.selected{background-color:var(--color-primary)!important;color:var(--color-white)!important;border-color:var(--color-primary)!important}@media (hover:hover){.time-slot:not(.back-button):hover{background-color:var(--color-secondary);color:var(--color-white);transform:translateY(-2px)}}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-family:inherit;font-size:1rem;transition:var(--transition-fast);box-shadow:var(--shadow-sm)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-md)}.step-actions{position:fixed;left:0;right:0;bottom:0;background:var(--color-white);box-shadow:0 -2px 10px rgb(0 0 0 / .1);padding:var(--spacing-md) var(--spacing-xl);z-index:9999;display:flex;justify-content:space-between;gap:var(--spacing-sm);transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.step-actions:has(.btn-next:only-child){justify-content:flex-end}.btn{padding:var(--spacing-xl);border:none;border-radius:var(--border-radius-sm);font-family:inherit;font-size:.875rem;font-weight:500;letter-spacing:.5px;cursor:pointer;transition:var(--transition-normal);box-shadow:var(--shadow-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;min-width:120px;flex:auto}.btn-prev{background:var(--color-background);color:var(--color-text)}.btn-next,.btn-confirm{background:var(--color-primary);color:var(--color-white)}.btn-next:only-child{margin-right:auto}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.booking-summary{background:var(--color-background);border-radius:var(--border-radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.summary-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.summary-item:last-child{border-bottom:none}.summary-label{color:var(--color-text-light);font-weight:600}.toast{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);padding:var(--spacing-xl);background:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);font-size:1.25rem;font-weight:600;min-width:400px;z-index:1000;animation:slideIn 300ms ease}.toast.success{border-left:6px solid var(--color-success);background:var(--color-white);color:var(--color-text)}.toast.error{border-left:6px solid var(--color-error);background:var(--color-white);color:var(--color-text)}.step-content h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--color-text-light);font-weight:500}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes scaleIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.overlay-base{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .97);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-xl)}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .97);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-xl)}.loading-spinner{width:80px;height:80px;border-radius:50%;border:4px solid var(--color-background);border-top-color:var(--color-primary);animation:spin 1s linear infinite;margin-bottom:var(--spacing-lg)}.loading-content{text-align:center}.loading-content h2{font-size:1.5rem;color:var(--color-primary);margin-bottom:var(--spacing-md);font-weight:600}.loading-content p{font-size:1.1rem;color:var(--color-text-light)}.success-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .97);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100000;padding:var(--spacing-xl);animation:fadeIn 300ms ease}.success-icon{width:80px;height:80px;border-radius:50%;background:var(--color-success);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-lg);animation:scaleIn 500ms cubic-bezier(.175,.885,.32,1.275)}.success-icon::before{content:'✓';color:#fff;font-size:40px}.success-content{text-align:center}.success-content h2{font-size:1.5rem;color:var(--color-success);margin-bottom:var(--spacing-md);font-weight:600;animation:slideUp 500ms ease 200ms both}.success-content p{font-size:1.1rem;color:var(--color-text-light);animation:slideUp 500ms ease 400ms both}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes scaleIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:768px){.loading-spinner,.success-icon{width:60px;height:60px}.loading-content h2,.success-content h2{font-size:1.3rem}.loading-content p,.success-content p{font-size:1rem}.success-icon::before{font-size:30px}}@media (max-width:768px){.loading-spinner,.success-icon{width:60px;height:60px}.loading-content h2,.success-content h2{font-size:1.3rem}.loading-content p,.success-content p{font-size:1rem}.success-icon::before{font-size:30px}}@media (max-width:768px){.booking-wrapper{padding:var(--spacing-sm)}.booking-container{border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg)}.progress-bar{padding:0 var(--spacing-md)}.step-number{width:25px;height:25px;font-size:12px}.progress-bar::before,.progress-step::after{top:12.5px}.step-title{font-size:10px}.selection-grid{grid-template-columns:1fr}.booking-content{padding-bottom:calc(var(--spacing-xl) + 120px)}.selection-card{box-shadow:var(--shadow-sm)}.card-image{width:60px;height:60px}.date-picker{box-shadow:var(--shadow-sm);border-radius:var(--border-radius-sm)}.calendar-day{font-size:.8rem;box-shadow:var(--shadow-sm)}.time-slot{box-shadow:var(--shadow-sm);border-radius:var(--border-radius-sm)}.form-group input,.form-group textarea{box-shadow:var(--shadow-sm);border-radius:var(--border-radius-sm)}.step-content h2{font-size:1.25rem;margin-bottom:var(--spacing-md)}.btn{width:auto;min-width:120px;padding:var(--spacing-md) var(--spacing-lg);font-size:.9rem}.booking-summary{box-shadow:var(--shadow-sm);border-radius:var(--border-radius-sm);padding:var(--spacing-md)}.toast{top:var(--spacing-lg);right:var(--spacing-md);left:var(--spacing-md);min-width:unset;width:auto;text-align:center;font-size:1.1rem;padding:var(--spacing-lg)}.step-actions{padding:var(--spacing-md)}}@media (max-width:480px){.success-overlay h2{font-size:1.5rem}.success-overlay p{font-size:1rem}.success-overlay .success-icon{width:60px;height:60px}.success-overlay .success-icon::before{font-size:30px}.booking-wrapper{padding:var(--spacing-xs)}.booking-content{padding-bottom:calc(var(--spacing-xl) + 80px)}.booking-header{padding:var(--spacing-md)}.booking-header h1{font-size:1.5rem}.progress-bar{margin:var(--spacing-md) auto}.step-number{width:22px;height:22px;font-size:11px}.progress-bar::before,.progress-step::after{top:11px}.step-title{font-size:9px}.card-content h3{font-size:1rem}.time-slots{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.step-content h2{font-size:1.1rem;margin-bottom:var(--spacing-md)}.booking-content{padding-bottom:calc(var(--spacing-xl) + 60px);min-height:calc(100dvh - 160px)}.step-actions{padding:var(--spacing-sm) var(--spacing-md);padding-bottom:max(var(--spacing-sm), env(safe-area-inset-bottom))}.btn-prev,.btn-next,.btn-confirm{order:unset}.summary-item{flex-direction:column;gap:var(--spacing-xs)}.toast{font-size:1rem;padding:var(--spacing-sm) var(--spacing-md)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.calendar-day,.time-slot,.selection-card,.btn,.form-group input,.form-group textarea{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media print{.booking-wrapper{padding:0;min-height:auto}.booking-container{box-shadow:none;border:1px solid var(--color-border)}.btn{display:none}.selection-card:not(.selected),.time-slot:not(.selected),.calendar-day:not(.selected){display:none}}@media (min-width:1024px){.date-time-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:start}.date-picker{margin:0 auto}.time-section{padding-top:3.5rem}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:var(--spacing-sm);max-height:400px;overflow-y:auto;padding-right:var(--spacing-sm)}.time-slots::-webkit-scrollbar{width:8px}.time-slots::-webkit-scrollbar-track{background:var(--color-background);border-radius:var(--border-radius-sm)}.time-slots::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--border-radius-sm)}}@media (max-width:1023px){.date-time-container{display:block}.time-section{margin-top:var(--spacing-xl)}}.time-slot{opacity:0;transform:translateY(10px);transition:opacity 0.3s ease,transform 0.3s ease,background-color 0.3s ease}.time-slot.visible{opacity:1;transform:translateY(0)}.time-slot.instant{transition:none}@media (max-width:768px){.step-actions{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:9999!important;background:var(--color-white);padding:var(--spacing-md) var(--spacing-xl);padding-bottom:max(var(--spacing-md), env(safe-area-inset-bottom));transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.booking-content{padding-bottom:calc(var(--spacing-xl) + 80px)}}.no-slots-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);margin:var(--spacing-md) 0;animation:fadeIn 0.3s ease;text-align:center;min-height:200px;width:100%}.no-slots-message .no-slots-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--color-background);border-radius:50%;margin-bottom:var(--spacing-lg);color:var(--color-primary)}.no-slots-message .no-slots-icon svg{width:32px;height:32px}.no-slots-message h3{color:var(--color-text);font-size:1.25rem;margin-bottom:var(--spacing-sm);font-weight:600;font-family:"Quicksand",sans-serif;width:100%}.no-slots-message p{color:var(--color-text-light);font-size:1rem;line-height:1.5;width:100%;max-width:none;margin:0}@media (max-width:768px){.no-slots-message{min-height:180px;padding:var(--spacing-lg);margin:var(--spacing-sm) 0}.no-slots-message .no-slots-icon{width:56px;height:56px;margin-bottom:var(--spacing-md)}.no-slots-message .no-slots-icon svg{width:28px;height:28px}.no-slots-message h3{font-size:1.1rem;margin-bottom:var(--spacing-xs)}.no-slots-message p{font-size:.95rem}}@media (max-width:480px){.no-slots-message{min-height:160px;padding:var(--spacing-md)}.no-slots-message .no-slots-icon{width:48px;height:48px;margin-bottom:var(--spacing-md)}.no-slots-message .no-slots-icon svg{width:24px;height:24px}.no-slots-message h3{font-size:1rem}.no-slots-message p{font-size:.9rem}}.time-selection-header{grid-column:1 / -1;margin-bottom:var(--spacing-md);color:var(--color-text-light);font-weight:500;font-size:1.1rem;text-align:left}.time-slot{opacity:0;transform:translateY(10px);transition:all 0.3s ease;text-align:center}.time-slot.visible{opacity:1;transform:translateY(0)}.time-slot.back-button{grid-column:1 / -1;background-color:var(--color-background);color:var(--color-text);border:1px dashed var(--color-border);margin-bottom:var(--spacing-md);text-align:left;padding-left:var(--spacing-lg)}.time-slot.back-button:hover{background-color:var(--color-border);border-style:solid}.time-slot.phase-1,.time-slot.phase-2,.time-slot.phase-3{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:all 0.3s ease;background-color:var(--color-white)}.time-slot:hover:not(.back-button){background-color:var(--color-secondary);color:var(--color-white);transform:translateY(-2px)}.time-slot.selected{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}@media (max-width:768px){.time-selection-header{font-size:1rem}.time-slot{padding:var(--spacing-sm);font-size:.9rem}.time-slot.back-button{padding-left:var(--spacing-md)}}input,textarea,select{touch-action:manipulation;-webkit-text-size-adjust:100%}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .97);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-xl);animation:fadeIn 300ms ease}.loading-spinner{width:80px;height:80px;border-radius:50%;border:4px solid var(--color-background);border-top-color:var(--color-primary);animation:spin 1s linear infinite;margin-bottom:var(--spacing-lg)}.loading-content{text-align:center;animation:pulseText 2s ease-in-out infinite}.loading-content h2{font-size:1.5rem;color:var(--color-primary);margin-bottom:var(--spacing-md);font-weight:600}.loading-content p{font-size:1.1rem;color:var(--color-text-light)}.services-grid .selection-card{opacity:0;transform:translateY(20px);transition:opacity 0.3s ease-out,transform 0.3s ease-out,box-shadow 0.3s ease-out,border-color 0.3s ease-out}.no-services-message{width:100%;padding:var(--spacing-xl);text-align:center;background:var(--color-background);border-radius:var(--border-radius-md);border:1px dashed var(--color-border);color:var(--color-text-light);animation:fadeIn 0.3s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.service-price{font-weight:500}.service-duration{opacity:.6}:root{--color-autofill-bg:#faf7f4;--color-autofill-text:#2c2c2c;--color-autofill-border:#a39081}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-family:inherit;font-size:1rem;transition:var(--transition-fast);box-shadow:var(--shadow-sm);background-color:var(--color-white);color:var(--color-text)}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus,.form-group textarea:-webkit-autofill,.form-group textarea:-webkit-autofill:hover,.form-group textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 10px var(--color-autofill-bg) inset;box-shadow:0 0 0 1000px var(--color-autofill-bg) inset;transition:background-color 5000s ease-in-out 0s;border-color:var(--color-autofill-border)}.form-group input:autofill,.form-group textarea:autofill{background-color:var(--color-autofill-bg)!important;color:var(--color-text)!important;border-color:var(--color-autofill-border)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-md);background-color:var(--color-white)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light);opacity:.7}.form-group input:not(:placeholder-shown),.form-group textarea:not(:placeholder-shown){background-color:var(--color-white);border-color:var(--color-border)}.form-group input:-webkit-autofill:focus,.form-group textarea:-webkit-autofill:focus{border-color:var(--color-primary);-webkit-box-shadow:0 0 0 1000px var(--color-autofill-bg) inset,var(--shadow-md);box-shadow:0 0 0 1000px var(--color-autofill-bg) inset,var(--shadow-md)}@media (prefers-color-scheme:dark){:root{--color-primary:#c4b5a5;--color-secondary:#8b7355;--color-accent:#a69886;--color-background:#1a1614;--color-white:#242021;--color-text:#e5ddd5;--color-text-light:#b8afa7;--color-border:#3d3632;--color-success:#91a789;--color-error:#c17f7f;--color-disabled:#2d2825;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--shadow-md:0 2px 4px rgba(0, 0, 0, 0.4);--shadow-lg:0 4px 6px rgba(0, 0, 0, 0.5);--color-autofill-bg:#242021;--color-autofill-text:#e5ddd5;--color-autofill-border:#3d3632}body{background-color:var(--color-background);color:var(--color-text)}.booking-wrapper{background-color:var(--color-background)}.booking-container{background:var(--color-white);border:1px solid var(--color-border)}.booking-header{background:var(--color-white);border-bottom:1px solid var(--color-border)}.progress-bar::before{background:var(--color-border)}.step-number{background:var(--color-background);border-color:var(--color-border);color:var(--color-text-light)}.progress-step.active .step-number{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background)}.selection-card{background:var(--color-white);border:1px solid var(--color-border)}.selection-card:hover{border-color:var(--color-primary);background:linear-gradient(145deg,var(--color-white),var(--color-background))}.selection-card.selected{border-color:var(--color-primary);background:linear-gradient(145deg,var(--color-white),var(--color-background));box-shadow:0 0 0 1px var(--color-primary)}.date-picker{background:var(--color-white);border-color:var(--color-border)}.calendar-day{background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.calendar-day:not(.disabled):hover{background:var(--color-secondary);color:var(--color-text)}.calendar-day.selected{background:var(--color-primary);color:var(--color-background)}.calendar-day.disabled{color:#5f5956;background:var(--color-white)}.time-slot{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-text)}.time-slot:hover:not(.disabled):not(.back-button){background:var(--color-secondary);color:var(--color-text)}.time-slot.selected{background:var(--color-primary);color:var(--color-background)}.time-slot.back-button{background:var(--color-background);border:1px dashed var(--color-border)}.form-group input,.form-group textarea{background:var(--color-white);border-color:var(--color-border);color:var(--color-text)}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);background:var(--color-white)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light)}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-autofill-bg) inset;box-shadow:0 0 0 1000px var(--color-autofill-bg) inset;border-color:var(--color-autofill-border)}.btn-prev{background:var(--color-background);color:var(--color-text)}.time-slot{background:var(--color-background)!important}.btn-next,.btn-confirm{background:var(--color-primary);color:var(--color-background);opacity:.7}.step-actions{background:var(--color-white);border-top:1px solid var(--color-border)}.booking-summary{background:var(--color-background);border:1px solid var(--color-border)}.summary-item{border-color:var(--color-border)}.toast{background:var(--color-white);color:var(--color-text)}.toast.success{border-left-color:var(--color-success)}.toast.error{border-left-color:var(--color-error)}.loading-overlay,.success-overlay{background:rgb(26 22 20 / .97)}.loading-spinner{border-color:var(--color-border);border-top-color:var(--color-primary)}.success-icon{background:var(--color-success)}.no-slots-message,.no-services-message{background:var(--color-background);border:1px dashed var(--color-border)}.no-slots-message .no-slots-icon{background:var(--color-white);color:var(--color-primary)}.time-slots::-webkit-scrollbar-track{background:var(--color-background)}.time-slots::-webkit-scrollbar-thumb{background:var(--color-primary);border:2px solid var(--color-background)}.selection-card,.time-slot,.calendar-day,.btn,.form-group input,.form-group textarea{transition:all 0.3s ease}}.date-slider-container{width:100%;overflow:hidden;position:relative;background:var(--color-background)}.date-slider{display:flex;gap:.25rem;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:.5rem;scrollbar-width:none;-ms-overflow-style:none;margin:0 1.5rem}.date-slider::-webkit-scrollbar{display:none}.date-item{min-width:calc((100% - 1.5rem) / 9);flex:1 0 auto;padding:.5rem .25rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:all 0.3s ease;text-align:center;position:relative;overflow:hidden}.date-item .weekday{font-size:.7rem;color:var(--color-text-light);margin-bottom:2px;text-transform:uppercase;font-weight:500}.date-item .day{font-size:1.1rem;font-weight:600;margin-bottom:2px;line-height:1.1}.date-item .month{font-size:.7rem;color:var(--color-text-light);text-transform:uppercase}.date-item:hover:not(.disabled):not(.unavailable){transform:translateY(-2px);box-shadow:var(--shadow-md)}.date-item.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.date-item.selected .weekday,.date-item.selected .month{color:var(--color-white)}.date-item.disabled{opacity:.5;cursor:not-allowed;background:var(--color-disabled)}.date-item.unavailable{background:repeating-linear-gradient(45deg,var(--color-secondary),var(--color-secondary) 2px,var(--color-white) 2px,var(--color-white) 4px);cursor:not-allowed;opacity:.5}.date-item .weekday,.date-item .day,.date-item .month{position:relative;z-index:2}.date-item::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:0;background:var(--color-primary);opacity:.15;transition:height 0.3s ease;z-index:1}.date-item[data-availability="0"]::before{height:0%}.date-item[data-availability="1"]::before{height:1%}.date-item[data-availability="2"]::before{height:2%}.date-item[data-availability="3"]::before{height:3%}.date-item[data-availability="4"]::before{height:4%}.date-item[data-availability="5"]::before{height:5%}.date-item[data-availability="6"]::before{height:6%}.date-item[data-availability="7"]::before{height:7%}.date-item[data-availability="8"]::before{height:8%}.date-item[data-availability="9"]::before{height:9%}.date-item[data-availability="10"]::before{height:10%}.date-item[data-availability="11"]::before{height:11%}.date-item[data-availability="12"]::before{height:12%}.date-item[data-availability="13"]::before{height:13%}.date-item[data-availability="14"]::before{height:14%}.date-item[data-availability="15"]::before{height:15%}.date-item[data-availability="16"]::before{height:16%}.date-item[data-availability="17"]::before{height:17%}.date-item[data-availability="18"]::before{height:18%}.date-item[data-availability="19"]::before{height:19%}.date-item[data-availability="20"]::before{height:20%}.date-item[data-availability="21"]::before{height:21%}.date-item[data-availability="22"]::before{height:22%}.date-item[data-availability="23"]::before{height:23%}.date-item[data-availability="24"]::before{height:24%}.date-item[data-availability="25"]::before{height:25%}.date-item[data-availability="26"]::before{height:26%}.date-item[data-availability="27"]::before{height:27%}.date-item[data-availability="28"]::before{height:28%}.date-item[data-availability="29"]::before{height:29%}.date-item[data-availability="30"]::before{height:30%}.date-item[data-availability="31"]::before{height:31%}.date-item[data-availability="32"]::before{height:32%}.date-item[data-availability="33"]::before{height:33%}.date-item[data-availability="34"]::before{height:34%}.date-item[data-availability="35"]::before{height:35%}.date-item[data-availability="36"]::before{height:36%}.date-item[data-availability="37"]::before{height:37%}.date-item[data-availability="38"]::before{height:38%}.date-item[data-availability="39"]::before{height:39%}.date-item[data-availability="40"]::before{height:40%}.date-item[data-availability="41"]::before{height:41%}.date-item[data-availability="42"]::before{height:42%}.date-item[data-availability="43"]::before{height:43%}.date-item[data-availability="44"]::before{height:44%}.date-item[data-availability="45"]::before{height:45%}.date-item[data-availability="46"]::before{height:46%}.date-item[data-availability="47"]::before{height:47%}.date-item[data-availability="48"]::before{height:48%}.date-item[data-availability="49"]::before{height:49%}.date-item[data-availability="50"]::before{height:50%}.date-item[data-availability="51"]::before{height:51%}.date-item[data-availability="52"]::before{height:52%}.date-item[data-availability="53"]::before{height:53%}.date-item[data-availability="54"]::before{height:54%}.date-item[data-availability="55"]::before{height:55%}.date-item[data-availability="56"]::before{height:56%}.date-item[data-availability="57"]::before{height:57%}.date-item[data-availability="58"]::before{height:58%}.date-item[data-availability="59"]::before{height:59%}.date-item[data-availability="60"]::before{height:60%}.date-item[data-availability="61"]::before{height:61%}.date-item[data-availability="62"]::before{height:62%}.date-item[data-availability="63"]::before{height:63%}.date-item[data-availability="64"]::before{height:64%}.date-item[data-availability="65"]::before{height:65%}.date-item[data-availability="66"]::before{height:66%}.date-item[data-availability="67"]::before{height:67%}.date-item[data-availability="68"]::before{height:68%}.date-item[data-availability="69"]::before{height:69%}.date-item[data-availability="70"]::before{height:70%}.date-item[data-availability="71"]::before{height:71%}.date-item[data-availability="72"]::before{height:72%}.date-item[data-availability="73"]::before{height:73%}.date-item[data-availability="74"]::before{height:74%}.date-item[data-availability="75"]::before{height:75%}.date-item[data-availability="76"]::before{height:76%}.date-item[data-availability="77"]::before{height:77%}.date-item[data-availability="78"]::before{height:78%}.date-item[data-availability="79"]::before{height:79%}.date-item[data-availability="80"]::before{height:80%}.date-item[data-availability="81"]::before{height:81%}.date-item[data-availability="82"]::before{height:82%}.date-item[data-availability="83"]::before{height:83%}.date-item[data-availability="84"]::before{height:84%}.date-item[data-availability="85"]::before{height:85%}.date-item[data-availability="86"]::before{height:86%}.date-item[data-availability="87"]::before{height:87%}.date-item[data-availability="88"]::before{height:88%}.date-item[data-availability="89"]::before{height:89%}.date-item[data-availability="90"]::before{height:90%}.date-item[data-availability="91"]::before{height:91%}.date-item[data-availability="92"]::before{height:92%}.date-item[data-availability="93"]::before{height:93%}.date-item[data-availability="94"]::before{height:94%}.date-item[data-availability="95"]::before{height:95%}.date-item[data-availability="96"]::before{height:96%}.date-item[data-availability="97"]::before{height:97%}.date-item[data-availability="98"]::before{height:98%}.date-item[data-availability="99"]::before{height:99%}.date-item[data-availability="100"]::before{height:100%}.date-item.unavailable::before{display:none}@media (prefers-color-scheme:dark){.date-item::before{background:var(--color-primary);opacity:.2}}.date-item.loading::before{animation:none}.date-nav{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--color-white);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all 0.3s ease;box-shadow:var(--shadow-sm)}.date-nav:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.date-nav.prev{left:.25rem}.date-nav.next{right:.25rem}@media (min-width:1200px){.date-item{min-width:calc((100% - 2rem) / 9)}}@media (max-width:991px){.date-item{min-width:calc((100% - 2rem) / 6)}}@media (max-width:768px){.date-item{min-width:calc((100% - 2rem) / 4.5)}}@media (max-width:480px){.date-slider-container{padding:.5rem}.date-item .day{font-size:1.1rem}.date-item .weekday,.date-item .month{font-size:.65rem}.date-nav{width:28px;height:28px;font-size:.8rem}}@media (prefers-color-scheme:dark){.date-item.unavailable{background:repeating-linear-gradient(45deg,var(--color-disabled),var(--color-disabled) 2px,var(--color-background) 2px,var(--color-background) 4px)}}.date-item.loading::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--color-border) 20%,var(--color-border) 60%,transparent);animation:loadingShimmer 1s infinite linear}.date-item.loading .weekday::before{top:0;width:70%;height:.8rem}.date-item.loading .day::before{top:0;width:50%;height:1.2rem}.date-item.loading .month::before{top:0;width:60%;height:.8rem}@keyframes loadingShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@media (prefers-color-scheme:dark){.date-item.loading{background:var(--color-white)}.date-item.loading::after{background:linear-gradient(90deg,transparent,rgb(255 255 255 / .1) 20%,rgb(255 255 255 / .1) 60%,transparent)}.date-item.loading .weekday::before,.date-item.loading .day::before,.date-item.loading .month::before{background:var(--color-disabled)}}.date-item.loading.disabled,.date-item.loading.unavailable{opacity:1;background:var(--color-background)}@media (max-width:480px){.date-item.loading .weekday::before{height:.7rem}.date-item.loading .day::before{height:1rem}.date-item.loading .month::before{height:.7rem}}.date-item.loading:not(.disabled):not(.unavailable){background:var(--color-white)}.date-item.loading.disabled,.date-item.loading.unavailable{opacity:.5}.barbers-grid .selection-card{display:flex;align-items:center;padding:var(--spacing-lg);gap:var(--spacing-md);text-align:left}.barbers-grid .card-image{margin:0;flex-shrink:0}.barbers-grid .card-content{text-align:left;flex:1}.barbers-grid .selection-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.barbers-grid .selection-card.selected{border-color:var(--color-primary);background:linear-gradient(to bottom right,var(--color-background),var(--color-white))}@media (max-width:480px){.barbers-grid .selection-card{gap:var(--spacing-md)}.barbers-grid .card-content h3{font-size:1rem}}@media (prefers-color-scheme:dark){.barbers-grid .selection-card{background:var(--color-white)}.barbers-grid .selection-card:hover{border-color:var(--color-primary);background:linear-gradient(145deg,var(--color-white),var(--color-background))}.barbers-grid .selection-card.selected{border-color:var(--color-primary);background:linear-gradient(145deg,var(--color-white),var(--color-background));box-shadow:0 0 0 1px var(--color-primary)}}