@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes zoomIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--color-ivory: #fdfcf8;--color-warm-gray-50: #f9f8f6;--color-warm-gray-100: #f3f2f0;--color-warm-gray-200: #e8e6e2;--color-warm-gray-300: #d4d1cb;--color-warm-gray-400: #a8a39a;--color-warm-gray-500: #7c7769;--color-warm-gray-600: #5d5a4f;--color-warm-gray-700: #4a4740;--color-warm-gray-800: #38352f;--color-warm-gray-900: #2b2821;--color-accent-sage: #8a9b8e;--color-accent-sage-dark: #6b7c65;--color-accent-sand: #b8a082;--color-accent-soft-blue: #8b9dc3;--color-success: #7c9885;--color-error: #b07c7c;--color-warning: #b8a082;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-none: 1;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--space-4xl: 4rem;--space-5xl: 6rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(43, 40, 33, .05);--shadow-md: 0 4px 6px -1px rgba(43, 40, 33, .1), 0 2px 4px -1px rgba(43, 40, 33, .06);--shadow-lg: 0 10px 15px -3px rgba(43, 40, 33, .1), 0 4px 6px -2px rgba(43, 40, 33, .05);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-weight:var(--font-weight-normal);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-warm-gray-800);background-color:var(--color-ivory);overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-none{line-height:var(--leading-none)}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.leading-loose{line-height:var(--leading-loose)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-lg);padding-right:var(--space-lg)}@media (min-width: 640px){.container{max-width:640px;padding-left:var(--space-xl);padding-right:var(--space-xl)}}@media (min-width: 768px){.container{max-width:768px;padding-left:var(--space-2xl);padding-right:var(--space-2xl)}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1200px}}.page-container{display:flex;flex-direction:column;flex-grow:1}.page-content{flex-grow:1}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-xl);font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-lg);border:none;cursor:pointer;text-decoration:none;transition:all var(--transition-fast);min-height:44px;position:relative;overflow:hidden}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--color-warm-gray-800);color:var(--color-ivory);border:1px solid var(--color-warm-gray-800)}.btn-primary:hover:not(:disabled){background-color:var(--color-warm-gray-900);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-warm-gray-100);color:var(--color-warm-gray-800);border:1px solid var(--color-warm-gray-200)}.btn-secondary:hover:not(:disabled){background-color:var(--color-warm-gray-200);border-color:var(--color-warm-gray-300)}.btn-accent{background-color:var(--color-accent-sage);color:var(--color-ivory)}.btn-accent:hover:not(:disabled){background-color:var(--color-warm-gray-600);transform:translateY(-1px)}.btn-outline{background-color:transparent;color:var(--color-warm-gray-800);border:1px solid var(--color-warm-gray-300)}.btn-outline:hover:not(:disabled){background-color:var(--color-warm-gray-50);border-color:var(--color-warm-gray-400)}.btn-ghost{background-color:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-warm-gray-100)}.btn-sm{padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);min-height:36px}.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:var(--text-lg);min-height:52px}.form-group{margin-bottom:var(--space-xl)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-warm-gray-700);margin-bottom:var(--space-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-md) var(--space-lg);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-warm-gray-800);background-color:var(--color-ivory);border:1px solid var(--color-warm-gray-300);border-radius:var(--radius-lg);transition:all var(--transition-fast);min-height:44px}.form-input:required,.form-select:required,.form-textarea:required{border-left:3px solid var(--color-accent-sage)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent-sage);box-shadow:0 0 0 3px #8a9b8e1a}.form-input:invalid,.form-select:invalid,.form-textarea:invalid{border-color:var(--color-error);background-color:#b07c7c0d}.form-input:focus:invalid,.form-select:focus:invalid,.form-textarea:focus:invalid{box-shadow:0 0 0 3px #b07c7c1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-warm-gray-400)}.form-error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-xs);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--space-xs)}.form-error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background-color:var(--color-error);color:#fff;border-radius:50%;font-size:12px;font-weight:var(--font-weight-bold)}.card{background-color:var(--color-ivory);border:1px solid var(--color-warm-gray-200);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width: 767px){html{font-size:15px}.container{padding-left:var(--space-lg);padding-right:var(--space-lg)}.card{padding:var(--space-xl)}.time-slots-wrapper{background-color:var(--color-ivory);border:1px solid var(--color-warm-gray-200);border-radius:var(--radius-xl);padding:var(--space-lg);max-width:100%}.time-slots{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--space-xs)}.calendar{padding:var(--space-lg)}.btn{min-height:48px;padding:var(--space-md) var(--space-lg);box-sizing:border-box}.btn+.btn{margin-top:var(--space-sm)}div[style*="display: flex"] .btn{flex:1;min-width:0;width:auto}.btn:not([style*=flex]){width:100%;justify-content:center}.booking-form-buttons{flex-direction:row!important;justify-content:center;align-items:center!important;gap:var(--space-sm)!important}.booking-form-buttons .btn{flex:1;width:auto!important;min-width:0;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}.booking-form-buttons .btn-outline{border:none!important}.text-xs{font-size:10px!important;line-height:1.4;word-break:keep-all;overflow-wrap:break-word}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible,.calendar-day:focus-visible,.time-slot:focus-visible{outline:2px solid var(--color-accent-sage);outline-offset:2px}@media (prefers-contrast: high){:root{--color-warm-gray-800: #000000;--color-ivory: #ffffff;--color-accent-sage: #006600}}@media (max-width: 767px){.datetime-selector-container{display:flex;flex-direction:column;gap:var(--space-xl);padding-bottom:120px;margin-bottom:var(--space-3xl)}.datetime-actions-container{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-ivory);padding:var(--space-lg) var(--space-md);box-shadow:var(--shadow-lg);z-index:90;border-top:1px solid var(--color-warm-gray-200)}.summary-container{min-height:40px}.calendar-wrapper{position:static;width:100%}.timeslots-wrapper{width:100%}}@media (min-width: 768px){.datetime-selector-container{grid-template-columns:1fr 1fr;align-items:start;padding-bottom:80px}.datetime-selector-container.date-only{grid-template-columns:1fr;justify-content:center;max-width:400px;margin:0 auto}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.datetime-actions-container{position:static;box-shadow:none;padding:0;background:none}}@media (max-width: 768px){.service-selector-grid{grid-template-columns:1fr!important;gap:var(--space-xl)!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.timezone-selector{font-size:.75rem!important;gap:var(--space-xs)!important;padding:var(--space-xs)!important}.timezone-selector button{padding:4px 8px!important;font-size:.7rem!important;min-width:auto!important}.timezone-selector button svg{width:10px!important;height:10px!important}}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-warm-gray-200);border-top:2px solid var(--color-warm-gray-600);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-skeleton{background:linear-gradient(90deg,var(--color-warm-gray-100) 25%,var(--color-warm-gray-200) 50%,var(--color-warm-gray-100) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{animation:fadeIn .3s ease-in-out forwards}.fade-out{animation:fadeOut .3s ease-in-out forwards}.slide-up{animation:slideUp .4s ease-out forwards}.slide-down{animation:slideDown .4s ease-out forwards}.slide-in-right{animation:slideInRight .4s ease-out forwards}.slide-in-left{animation:slideInLeft .4s ease-out forwards}.zoom-in{animation:zoomIn .3s ease-out forwards}.pulse{animation:pulse .6s ease-in-out}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}.stagger-children>*:nth-child(9){animation-delay:.4s}.stagger-children>*:nth-child(10){animation-delay:.45s}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s}.hover-lift{transition:transform .25s ease-out}.hover-lift:hover{transform:translateY(-3px)}.hover-shadow{transition:box-shadow .25s ease-out,transform .25s ease-out}.hover-shadow:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,#fff 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity .8s}.btn:active:after{transform:scale(0);opacity:.3;transition:0s}@keyframes spinner{to{transform:rotate(360deg)}}.animated-spinner{animation:spinner .6s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}.w-full{width:100%}.h-full{height:100%}.max-w-xs{max-width:320px}.max-w-sm{max-width:384px}.max-w-md{max-width:448px}.max-w-lg{max-width:512px}.max-w-xl{max-width:576px}.max-w-2xl{max-width:672px}.mx-auto{margin-left:auto;margin-right:auto}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.mb-3xl{margin-bottom:var(--space-3xl)}.mb-4xl{margin-bottom:var(--space-4xl)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.px-xl{padding-left:var(--space-xl);padding-right:var(--space-xl)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px}.border{border:1px solid var(--color-warm-gray-200)}.border-gray-300{border:1px solid var(--color-warm-gray-300)}.bg-ivory{background-color:var(--color-ivory)}.bg-gray-50{background-color:var(--color-warm-gray-50)}.bg-gray-100{background-color:var(--color-warm-gray-100)}.bg-accent{background-color:var(--color-accent-sage)}.text-gray-600{color:var(--color-warm-gray-600)}.text-gray-700{color:var(--color-warm-gray-700)}.text-gray-800{color:var(--color-warm-gray-800)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.02)}.focus-ring:focus{outline:2px solid var(--color-accent-sage);outline-offset:2px}.error-state{border-color:var(--color-error)!important;box-shadow:0 0 0 3px #b07c7c1a!important;animation:shake .4s ease-in-out}.success-state{border-color:var(--color-success);box-shadow:0 0 0 3px #7c98851a}.branding-card{transition:all .3s ease;cursor:default}.branding-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f!important;background-color:#ffffffe6!important;border-color:var(--color-warm-gray-200)!important}.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5xl);margin:0 auto}.philosophy-grid>div{transition:transform .3s ease,opacity .3s ease;cursor:default}.philosophy-grid>div:hover{transform:translateY(-8px)}.philosophy-grid>div>div:first-child{transition:all .3s ease}.philosophy-grid>div:hover>div:first-child{transform:scale(1.1);box-shadow:0 8px 25px #00000026}.philosophy-grid>div:nth-child(1):hover>div:first-child{background-color:var(--color-warm-gray-50);border-color:var(--color-warm-gray-300)}.philosophy-grid>div:nth-child(2):hover>div:first-child{background-color:var(--color-warm-gray-900)}.philosophy-grid>div:nth-child(3):hover>div:first-child{background:linear-gradient(135deg,#059669,#374151)}@media (max-width: 1024px){.philosophy-grid{gap:var(--space-3xl)}}@media (max-width: 768px){.philosophy-grid{grid-template-columns:1fr!important;gap:var(--space-4xl)!important;max-width:400px;margin:0 auto}}@media (max-width: 768px){.container{padding:0 var(--space-md)}section:first-of-type{padding:var(--space-3xl) 0 var(--space-2xl)!important}.branding-card{margin:0 auto var(--space-3xl)!important;padding:var(--space-lg)!important}.demo-shops-grid{grid-template-columns:1fr!important;gap:var(--space-lg)!important;max-width:400px!important;margin:0 auto!important}.demo-shops-grid .card{margin:var(--space-sm) 0}.form-input{font-size:var(--text-base)!important;padding:var(--space-sm) var(--space-md)!important}}@media (max-width: 480px){.philosophy-grid{gap:var(--space-2xl)!important}.branding-card{padding:var(--space-md)!important;margin:0 auto var(--space-2xl)!important}.philosophy-grid>div>div:first-child{width:56px!important;height:56px!important;margin-bottom:var(--space-md)!important}.philosophy-grid>div>div:first-child svg{width:20px!important;height:20px!important}}@media (max-width: 768px){.license-modal-overlay{padding:var(--space-md)!important}.license-modal-content{padding:var(--space-lg)!important;max-height:90vh!important}.license-modal-header h2{font-size:var(--text-lg)!important}.license-item{padding:var(--space-md)!important}.license-item h3{font-size:var(--text-sm)!important}.license-item p{font-size:var(--text-xs)!important}}@media (max-width: 480px){.license-modal-content{padding:var(--space-md)!important;border-radius:var(--radius-lg)!important}.license-item{padding:var(--space-sm)!important}}.booking-form-buttons .btn+.btn{margin-top:0}.calendar{background-color:var(--color-ivory);border:1px solid var(--color-warm-gray-200);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:400px;margin:0 auto}.calendar-header{display:flex;justify-content:between;align-items:center;margin-bottom:var(--space-xl);gap:var(--space-lg)}.calendar-title{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-warm-gray-800);flex:1;text-align:center}.calendar-nav{background:none;border:none;color:var(--color-warm-gray-600);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.calendar-nav:hover{background-color:var(--color-warm-gray-100);color:var(--color-warm-gray-800)}.calendar-grid-container{position:relative}.calendar-loading-overlay{position:absolute;inset:0;background-color:#fdfcf8b3;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--radius-lg)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs)}.calendar-day-header{padding:var(--space-sm);text-align:center;font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-warm-gray-500);text-transform:uppercase;letter-spacing:.05em}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-normal);color:var(--color-warm-gray-700);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.calendar-day:hover:not(:disabled){background-color:var(--color-warm-gray-100)}.calendar-day.available{background-color:var(--color-accent-sage);color:var(--color-ivory);position:relative}.calendar-day.available:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;background-color:var(--color-success);border-radius:50%}.calendar-day.available:hover{background-color:var(--color-warm-gray-600)}.calendar-day.selected{background-color:var(--color-warm-gray-800);color:var(--color-ivory);position:relative;font-weight:var(--font-weight-bold)}.calendar-day.selected:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;background-color:var(--color-white);border-radius:50%}.calendar-day:disabled,.calendar-day.disabled{color:var(--color-warm-gray-400);cursor:not-allowed;text-decoration:line-through;background-color:var(--color-warm-gray-100);opacity:.7}.calendar-day.available:hover{background-color:var(--color-accent);color:var(--color-ivory);font-weight:var(--font-weight-bold)}.calendar-day.selected:hover{background-color:var(--color-warm-gray-900);color:var(--color-white)}.calendar-day.in-range:hover{background-color:var(--color-warm-gray-500);color:var(--color-ivory);font-weight:var(--font-weight-bold)}.calendar-day.start-of-range:hover,.calendar-day.end-of-range:hover{background-color:var(--color-warm-gray-900);color:var(--color-white)}.calendar-day.other-month{color:var(--color-warm-gray-400)}.calendar-day.in-range{background-color:var(--color-warm-gray-300);color:var(--color-warm-gray-900);position:relative;border-radius:0;margin:0;padding:0}.calendar-day.in-range:after{content:none}.calendar-day.in-range:not(.start-of-range):not(.end-of-range){border-radius:0}.calendar-day.start-of-range,.calendar-day.end-of-range{background-color:var(--color-warm-gray-800);color:var(--color-ivory);position:relative;font-weight:var(--font-weight-bold);z-index:1}.calendar-day.start-of-range{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);border-top-right-radius:0;border-bottom-right-radius:0}.calendar-day.end-of-range{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-top-left-radius:0;border-bottom-left-radius:0}.calendar-day.start-of-range.end-of-range{border-radius:var(--radius-md)}.calendar-day.start-of-range:after,.calendar-day.end-of-range:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:5px;height:5px;background-color:var(--color-white);border-radius:50%}.calendar-day.in-hover-range{background-color:var(--color-warm-gray-100)!important;border:1px dashed var(--color-warm-gray-400)}.time-slots-wrapper{max-width:400px;margin:0 auto}.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-top:0}.time-slot{padding:var(--space-md);text-align:center;border:1px solid var(--color-warm-gray-300);border-radius:var(--radius-lg);background-color:var(--color-ivory);color:var(--color-warm-gray-700);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-weight-medium);min-height:44px;display:flex;align-items:center;justify-content:center}.time-slot:hover:not(:disabled){border-color:var(--color-accent-sage);background-color:var(--color-warm-gray-50)}.time-slot.available{background-color:var(--color-accent-sage);color:var(--color-ivory);border-color:var(--color-accent-sage)}.time-slot.available:hover{background-color:var(--color-warm-gray-600);border-color:var(--color-warm-gray-600)}.time-slot.selected{background-color:var(--color-warm-gray-800);color:var(--color-ivory);border-color:var(--color-warm-gray-800)}.time-slot:disabled{background-color:var(--color-warm-gray-100);color:var(--color-warm-gray-400);border-color:var(--color-warm-gray-200);cursor:not-allowed}.time-slot.booked{background-color:var(--color-warm-gray-200);color:var(--color-warm-gray-500);border-color:var(--color-warm-gray-300);cursor:not-allowed}.time-slot.booked:after{font-size:var(--text-xs);margin-left:var(--space-xs)}.summary-box{padding:var(--space-lg);background-color:var(--color-warm-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-warm-gray-200);text-align:center;margin-bottom:var(--space-xl)}.datetime-selector-container{display:flex;gap:var(--space-2xl);align-items:flex-start;max-width:900px;margin:0 auto}.calendar-wrapper{flex:1;min-width:320px}.timeslots-wrapper{flex:1.2;min-width:320px}.booking-success-buttons{display:flex;gap:var(--space-lg)}.booking-success-buttons .btn{flex:1;width:auto!important;margin-top:0!important}.datetime-actions-container{margin-top:var(--space-2xl);grid-column:1 / -1;position:relative}.summary-container{min-height:50px;margin-bottom:var(--space-md)}.datetime-selector-container{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);margin-bottom:var(--space-3xl)}.service-selector-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-2xl);align-items:start}.selection-card{position:relative;background-color:var(--color-ivory);border:1px solid var(--color-warm-gray-200);border-radius:var(--radius-xl);transition:all .3s cubic-bezier(.4,0,.2,1)}.selection-card.selected{transform:translateY(-2px);background-color:var(--color-warm-gray-50);border-color:var(--color-accent-sage)}.selection-card.selected:before{background:radial-gradient(circle at 30% 40%,rgba(138,155,142,.05) 0%,transparent 50%)}.selection-card:hover:not(.selected){background-color:#8a9b8e08;transform:translateY(-1px)}.timezone-selector{white-space:nowrap;-webkit-user-select:none;user-select:none}.timezone-selector button{transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;font-family:inherit}.timezone-selector button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.timezone-selector button:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}@media (max-width: 767px){.time-slots-wrapper{background-color:var(--color-ivory);border:1px solid var(--color-warm-gray-200);border-radius:var(--radius-xl);padding:var(--space-lg);max-width:100%}.time-slots{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--space-xs)}.calendar{padding:var(--space-lg)}.datetime-selector-container{display:flex;flex-direction:column;gap:var(--space-xl);padding-bottom:160px;margin-bottom:var(--space-3xl)}.datetime-actions-container{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-ivory);padding:var(--space-lg) var(--space-md);box-shadow:none;z-index:90;border-top:none}.summary-container{min-height:40px}.calendar-wrapper{position:static;width:100%}.timeslots-wrapper{width:100%}.service-selector-grid{grid-template-columns:1fr!important;gap:var(--space-xl)!important}.timezone-selector{font-size:.75rem!important;gap:var(--space-xs)!important;padding:var(--space-xs)!important}.timezone-selector button{padding:4px 8px!important;font-size:.7rem!important;min-width:auto!important}.timezone-selector button svg{width:10px!important;height:10px!important}}@media (min-width: 768px){.datetime-selector-container{grid-template-columns:1fr 1fr;align-items:start;padding-bottom:80px}.datetime-selector-container.date-only{grid-template-columns:1fr;justify-content:center;max-width:400px;margin:0 auto}.datetime-actions-container{position:static;box-shadow:none;padding:0;background:none}}@media (max-width: 480px){.timezone-selector{font-size:.65rem!important;gap:2px!important;padding:4px 6px!important;min-width:auto!important}.timezone-selector button{padding:2px 4px!important;font-size:.6rem!important;gap:2px!important}.timezone-selector button svg{width:8px!important;height:8px!important}.timezone-selector>div:first-child{gap:2px!important}.timezone-selector>div:first-child svg{width:10px!important;height:10px!important}}
