.steps-bar{display:flex;background:oklch(.88 .03 80);padding:0;margin:0}.step-pip{flex:1;padding:14px 16px;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:oklch(.45 .02 40);border-right:1px solid oklch(.82 .03 80);display:flex;align-items:center;gap:8px;transition:all .3s ease}.step-pip:last-child{border-right:none}.step-pip.active{background:oklch(.96 .02 85);color:oklch(.18 .015 40);font-weight:600}.step-pip.done{background:oklch(.74 .12 78);color:oklch(.18 .015 40)}.step-pip .pip-num{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:oklch(.82 .03 80);color:oklch(.45 .02 40);font-size:10px;font-weight:700;flex-shrink:0}.step-pip.active .pip-num{background:oklch(.18 .015 40);color:oklch(.96 .02 85)}.step-pip.done .pip-num{background:oklch(.18 .015 40);color:oklch(.74 .12 78)}@media(max-width: 576px){.step-pip{padding:10px 10px;font-size:9px;gap:5px}}.ajax-booking-form fieldset,.ajax-booking-form fieldset:required,.ajax-booking-form fieldset[required]{border:none !important;outline:none !important;padding:0;margin:0}.ajax-booking-form fieldset legend,.ajax-booking-form fieldset:required legend,.ajax-booking-form fieldset[required] legend{display:none}.ajax-booking-form input:required,.ajax-booking-form select:required,.ajax-booking-form textarea:required{box-shadow:none;outline:none}.step-title{font-family:"Playfair Display",serif;font-size:28px;font-weight:800;margin:0 0 6px;letter-spacing:-0.01em;color:oklch(.18 .015 40)}.step-sub{color:oklch(.45 .02 40);font-size:14px;margin:0 0 24px}.pick-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:10px}@media(max-width: 768px){.pick-grid{grid-template-columns:1fr 1fr}}.pick-card{background:oklch(.9 .02 82);border:2px solid rgba(0,0,0,0);border-radius:2px;cursor:pointer;padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:all .2s ease;font-family:"Inter",sans-serif}.pick-card:hover{border-color:oklch(.18 .015 40)}.pick-card.selected{border-color:oklch(.38 .12 28);background:oklch(.96 .02 85)}.pick-card.selected .pick-title{color:oklch(.38 .12 28)}.pick-avatar{width:64px;height:64px;flex-shrink:0}.pick-title{font-family:"Playfair Display",serif;font-size:15px;font-weight:700;color:oklch(.18 .015 40);text-align:center}.svc-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;background:oklch(.9 .02 82);border:2px solid rgba(0,0,0,0);border-radius:2px;margin-bottom:10px;cursor:pointer;transition:all .2s ease}.svc-row:hover{border-color:oklch(.18 .015 40)}.svc-row.selected{border-color:oklch(.38 .12 28);background:oklch(.96 .02 85)}.svc-row h4{font-family:"Playfair Display",serif;font-size:18px;font-weight:700;margin:0 0 2px;color:oklch(.18 .015 40)}.svc-row .svc-meta{font-size:13px;color:oklch(.45 .02 40)}.svc-row .svc-price{font-family:"Playfair Display",serif;font-size:22px;font-weight:700;color:oklch(.38 .12 28);white-space:nowrap}.confirm-card{background:oklch(.18 .015 40);color:oklch(.96 .02 85);padding:28px;border-radius:2px;margin-bottom:20px}.confirm-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed oklch(.45 .02 45)}.confirm-row:last-child{border-bottom:none;padding-top:16px;margin-top:6px;border-top:1px solid oklch(.74 .12 78)}.confirm-row .k{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:oklch(.74 .12 78);align-self:center}.confirm-row .v{font-family:"Playfair Display",serif;font-size:16px;font-weight:600;color:oklch(.96 .02 85)}.confirm-row.total .v{font-size:26px;color:oklch(.74 .12 78);font-weight:800}.booking-contact-fields .form-item{margin:0 0 14px}.booking-contact-fields label{display:block;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:oklch(.45 .02 40);margin-bottom:6px}.booking-contact-fields input[type=text],.booking-contact-fields input[type=email],.booking-contact-fields input[type=tel],.booking-contact-fields textarea{width:100%;padding:12px 14px;background:oklch(.96 .02 85);border:1px solid oklch(.82 .03 80);border-radius:2px;font-family:"Inter",sans-serif;font-size:15px;color:oklch(.18 .015 40);box-sizing:border-box;transition:border-color all .2s ease}.booking-contact-fields input[type=text]::placeholder,.booking-contact-fields input[type=email]::placeholder,.booking-contact-fields input[type=tel]::placeholder,.booking-contact-fields textarea::placeholder{color:oklch(.55 .02 40)}.booking-contact-fields input[type=text]:focus,.booking-contact-fields input[type=email]:focus,.booking-contact-fields input[type=tel]:focus,.booking-contact-fields textarea:focus{outline:none;border-color:oklch(.38 .12 28);box-shadow:none}.ajax-booking-form .messages--error,.ajax-booking-form .messages.messages--error{display:flex;align-items:flex-start;gap:10px;background:oklch(.92 .04 28);border:1px solid oklch(.55 .12 28);border-left:3px solid oklch(.55 .12 28);border-radius:2px;padding:12px 14px;margin:0 0 20px;color:oklch(.38 .12 28);font-family:"Inter",sans-serif;font-size:.875rem}.ajax-booking-form .messages--error .messages__header,.ajax-booking-form .messages.messages--error .messages__header{display:none}.ajax-booking-form .messages--error .messages__list,.ajax-booking-form .messages.messages--error .messages__list{margin:0;padding:0;list-style:none}.ajax-booking-form .messages--error .messages__item,.ajax-booking-form .messages.messages--error .messages__item{display:flex;align-items:center;gap:8px}.ajax-booking-form .messages--error .messages__item::before,.ajax-booking-form .messages.messages--error .messages__item::before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:oklch(.55 .12 28);color:oklch(.96 .02 85);font-size:11px;font-weight:700;font-family:"Inter",sans-serif;flex-shrink:0}.ajax-booking-form .form-item--error input,.ajax-booking-form .form-item--error textarea,.ajax-booking-form .form-item--error select{border-color:oklch(.55 .12 28) !important;background:oklch(.97 .01 28)}.ajax-booking-form .form-item--error-message{display:flex;align-items:center;gap:6px;color:oklch(.38 .12 28);font-family:"Inter",sans-serif;font-size:.875rem;margin-top:6px}.ajax-booking-form .form-item--error-message::before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:oklch(.55 .12 28);color:oklch(.96 .02 85);font-size:10px;font-weight:700;font-family:"Inter",sans-serif;flex-shrink:0}.ajax-booking-form .form-item--error .pick-card{border-color:oklch(.55 .12 28)}.ajax-booking-form .form-item--error .svc-row{border-color:oklch(.55 .12 28)}.success-wrap{text-align:center;padding:28px 0}.success-wrap h3{font-family:"Playfair Display",serif;font-size:32px;font-weight:900;margin:0 0 10px;color:oklch(.18 .015 40)}.success-wrap p{color:oklch(.45 .02 40);font-size:16px;margin:0 auto 24px;max-width:420px;line-height:1.6}.success-mark{width:80px;height:80px;margin:0 auto 24px;border-radius:50%;background:oklch(.74 .12 78);display:grid;place-items:center;font-size:42px;color:oklch(.18 .015 40);animation:bk-pop .4s cubic-bezier(0.2, 1.3, 0.6, 1) both}@keyframes bk-pop{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}.booking-calendar-container{display:flex;gap:20px;margin-bottom:1rem;width:100%}@media(max-width: 768px){.booking-calendar-container{flex-direction:column}}.booking-calendar{flex:0 0 auto;width:320px;min-width:0}@media(max-width: 768px){.booking-calendar{width:100%}}.booking-timeslots{flex:1 1 auto;min-width:0}@media(max-width: 768px){.booking-timeslots{width:100%}}.booking-calendar__widget{background:oklch(.9 .02 82);border:1px solid oklch(.82 .03 80);border-radius:2px;padding:1.25rem;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}@media(max-width: 576px){.booking-calendar__widget{padding:1rem}}.booking-calendar__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid oklch(.82 .03 80)}.booking-calendar__month-year{font-family:"Playfair Display",serif;font-weight:600;font-size:15px;color:oklch(.18 .015 40)}.booking-calendar__nav{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:2px;background:oklch(.82 .03 80);cursor:pointer;font-size:1.25rem;color:oklch(.18 .015 40);transition:all .2s ease}.booking-calendar__nav:hover{background:oklch(.18 .015 40);color:oklch(.96 .02 85)}.booking-calendar__nav--disabled{background:rgba(0,0,0,0);color:oklch(.82 .03 80);cursor:default}.booking-calendar__nav--disabled:hover{background:rgba(0,0,0,0);color:oklch(.82 .03 80)}.booking-calendar__days-header{display:grid;grid-template-columns:repeat(7, 1fr);gap:2px}.booking-calendar__day-name{text-align:center;font-family:"JetBrains Mono",monospace;font-size:.75rem;font-weight:600;color:oklch(.55 .02 40);padding:.5rem 0;text-transform:uppercase;letter-spacing:.05em}.booking-calendar__grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:3px;flex:1;align-content:start}.booking-calendar__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-family:"JetBrains Mono",monospace !important;border:2px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:oklch(.18 .015 40);padding:6px}@media(max-width: 576px){.booking-calendar__day{font-size:.8125rem;padding:4px}}.booking-calendar__day--empty{background:rgba(0,0,0,0)}.booking-calendar__day--past{color:oklch(.82 .03 80)}.booking-calendar__day--today{font-weight:700;color:oklch(.18 .015 40)}.booking-calendar__day--available{background:oklch(.9 .02 82);color:oklch(.18 .015 40);cursor:pointer;font-weight:500;border-color:oklch(.82 .03 80);border-radius:2px;transition:all .2s ease}.booking-calendar__day--available:hover{border-color:oklch(.18 .015 40);background:oklch(.96 .02 85)}.booking-calendar__day--selected{background:oklch(.18 .015 40) !important;color:oklch(.96 .02 85) !important;border-color:oklch(.18 .015 40) !important}.booking-time-radios{display:grid;grid-template-columns:repeat(3, 1fr);gap:6px}@media(max-width: 768px){.booking-time-radios{grid-template-columns:repeat(4, 1fr)}}.time-slot-item .form-radio{position:absolute;opacity:0;pointer-events:none}.time-slot-item label{display:flex;align-items:center;justify-content:center;padding:10px 8px;background:oklch(.9 .02 82);border:2px solid rgba(0,0,0,0);border-radius:2px;cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:12px;text-align:center;transition:all .2s ease;color:oklch(.18 .015 40);width:100%;box-sizing:border-box}.time-slot-item label:hover{border-color:oklch(.18 .015 40)}.time-slot-item .form-radio:checked+label{background:oklch(.38 .12 28);color:oklch(.96 .02 85);border-color:oklch(.38 .12 28)}.booking-error-inline{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.05em;color:oklch(.38 .12 28);flex:1}.booking-actions{display:flex;justify-content:flex-start;align-items:center;gap:1rem;margin:2rem -32px 0;padding:20px 28px;border-top:1px solid oklch(.82 .03 80);background:oklch(.9 .02 82)}.booking-actions .btn--primary{margin-left:auto}@media(max-width: 768px){.booking-actions{margin:2rem -24px 0;padding:20px 24px}}@media(max-width: 576px){.booking-actions{flex-direction:column-reverse;margin:2rem -20px 0;padding:20px 20px}}.ajax-booking-form .btn{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:2px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;font-family:"Inter",sans-serif;transition:all .2s ease;text-decoration:none;min-width:120px;justify-content:center}.ajax-booking-form .btn:focus{outline:none;box-shadow:none}.ajax-booking-form .btn:focus-visible{outline:2px solid oklch(.74 .12 78);outline-offset:2px}@media(max-width: 576px){.ajax-booking-form .btn{width:100%}}.ajax-booking-form .btn--primary{background:oklch(.18 .015 40);color:oklch(.96 .02 85)}.ajax-booking-form .btn--primary:hover:not(:disabled){background:oklch(.38 .12 28);color:oklch(.96 .02 85)}.ajax-booking-form .btn--primary:disabled{opacity:.4;cursor:not-allowed}.ajax-booking-form .btn--ghost{background:rgba(0,0,0,0);color:oklch(.18 .015 40);border:1px solid oklch(.82 .03 80)}.ajax-booking-form .btn--ghost:hover{border-color:oklch(.18 .015 40);background:rgba(0,0,0,0)}.bk-alert{padding:1rem;margin-bottom:1rem;border-radius:2px;font-size:.875rem}.bk-alert--warning{background:oklch(.92 .04 80);border:1px solid oklch(.74 .12 78);color:oklch(.45 .02 40)}.bk-alert--info{background:oklch(.92 .02 82);border:1px solid oklch(.75 .02 80);color:oklch(.45 .02 40)}.bk-alert--danger{background:oklch(.92 .04 28);border:1px solid oklch(.55 .12 28);color:oklch(.38 .12 28)}.booking-cancel{text-align:center;padding:2rem 1rem;max-width:600px;margin:0 auto}.booking-cancel__icon{display:block;font-size:4rem;margin:0 auto 1.5rem}.booking-cancel__icon.fa-circle-check{color:oklch(.74 .12 78)}.booking-cancel__icon.fa-circle-exclamation{color:oklch(.55 .12 28)}.booking-cancel__title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:oklch(.18 .015 40)}.booking-cancel__message{font-size:1rem;line-height:1.7;margin-bottom:1rem;color:oklch(.45 .02 40)}.booking-cancel__message a{color:oklch(.74 .12 78);text-decoration:none}.booking-cancel__message a:hover{text-decoration:underline}.booking-cancel__btn{display:inline-block;margin-top:1rem;padding:.875rem 2rem;background:oklch(.74 .12 78);color:oklch(.18 .015 40);border:none;font-family:"Playfair Display",serif;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .2s ease;border-radius:2px}.booking-cancel__btn:hover{background:oklch(.68 .12 78);color:oklch(.18 .015 40)}.ajax-progress{display:none !important}.ajax-booking-form{position:relative}.ajax-booking-form.is-loading::before{content:"";position:absolute;inset:0;background:oklch(.96 .02 85/.8);z-index:100}.ajax-booking-form.is-loading::after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid oklch(.82 .03 80);border-top-color:oklch(.74 .12 78);border-radius:50%;animation:bk-spin .8s linear infinite;z-index:101}@keyframes bk-spin{to{transform:rotate(360deg)}}.ajax-booking-form{width:100%;margin:0;padding:0;background:oklch(.96 .02 85);color:oklch(.18 .015 40);box-sizing:border-box;font-family:"Inter",sans-serif}.ajax-booking-form button,.ajax-booking-form input,.ajax-booking-form select,.ajax-booking-form textarea{font-family:"Inter",sans-serif}.ajax-booking-form>*{width:100%}.booking-step{padding:32px 32px 0}@media(max-width: 768px){.booking-step{padding:24px 24px 0}}@media(max-width: 576px){.booking-step{padding:20px 20px 0}}.booking-step{animation:bk-fadeIn .3s ease}@keyframes bk-fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}/*# sourceMappingURL=ajax-booking.css.map */
