.booking__content{padding:var(--space-xl) 0 160px;background:var(--color-off-white);min-height:60vh}.booking__stepper-bar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--color-gray-100);box-shadow:0 1px #00000005}.booking__nav-bar{position:sticky;bottom:0;z-index:20;background:#fff;border-top:1px solid var(--color-gray-100);box-shadow:0 -4px 16px #1b21410d;padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px))}.booking__nav-bar .booking__nav{margin-top:0}.booking__card{max-width:720px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 20px 60px #1b214114,0 1px 3px #0000000a;overflow:hidden}.booking__stepper{display:flex;align-items:flex-start;justify-content:center;gap:0;padding:20px 16px;position:relative;max-width:720px;margin:0 auto}.booking__stepper-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.booking__stepper-line{position:absolute;top:18px;right:50%;width:100%;height:3px;background:var(--color-gray-200);border-radius:2px;z-index:0;transition:background .5s ease}.booking__stepper-line--filled{background:var(--color-teal)}.booking__stepper-circle{width:36px;height:36px;border-radius:50%;border:2.5px solid var(--color-gray-200);background:#fff;color:var(--color-gray-400);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;cursor:default;transition:all .4s cubic-bezier(.34,1.56,.64,1);font-family:var(--font-primary)}.booking__stepper-circle:disabled{cursor:default}.booking__stepper-circle--active{border-color:var(--color-teal);color:var(--color-teal);background:#fff;box-shadow:0 0 0 4px #e84b2a1f;animation:pulse-ring 2s ease-out infinite}.booking__stepper-circle--done{border-color:var(--color-teal);background:var(--color-teal);color:#fff;cursor:pointer;transform:scale(1)}.booking__stepper-circle--done:hover{transform:scale(1.1);box-shadow:0 0 0 4px #e84b2a26}@keyframes pulse-ring{0%{box-shadow:0 0 0 4px #e84b2a1f}50%{box-shadow:0 0 0 8px #e84b2a0f}to{box-shadow:0 0 0 4px #e84b2a1f}}@media(max-width:480px){.booking__stepper{padding:20px 16px 16px}.booking__stepper-circle{width:32px;height:32px;font-size:.75rem}}.booking__body{padding:36px 40px 40px}@media(max-width:600px){.booking__body{padding:24px 20px 28px}}.booking__panel{opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease}.booking__panel--visible{opacity:1;transform:translateY(0)}.booking__step-header{margin-bottom:28px}.booking__step-title{font-size:1.5rem;font-weight:800;color:var(--color-navy);margin-bottom:6px}.booking__step-desc{font-size:.95rem;color:var(--color-gray-500)}.booking__field{margin-bottom:20px}.booking__input-wrap{position:relative}.booking__input-wrap input,.booking__input-wrap textarea,.booking__input-wrap select{width:100%;padding:18px 16px 8px;border:2px solid var(--color-gray-200);border-radius:12px;font-family:var(--font-primary);font-size:16px;color:var(--color-gray-800);background:#fff;outline:none;transition:border-color .25s ease,box-shadow .25s ease}.booking__input-wrap input:focus-visible,.booking__input-wrap textarea:focus-visible,.booking__input-wrap select:focus-visible{outline:2px solid var(--color-teal);outline-offset:-2px}.booking__input-wrap textarea{resize:vertical;min-height:60px}.booking__input-wrap label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--color-gray-400);pointer-events:none;transition:all .2s ease;background:transparent}.booking__input-wrap--textarea label{top:18px;transform:none}.booking__input-wrap input:focus+label,.booking__input-wrap input:not(:placeholder-shown)+label,.booking__input-wrap textarea:focus+label,.booking__input-wrap textarea:not(:placeholder-shown)+label{top:8px;transform:none;font-size:.7rem;font-weight:600;color:var(--color-teal)}.booking__label--always{display:block;font-size:.75rem;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.booking__input-wrap input:focus,.booking__input-wrap textarea:focus{border-color:var(--color-teal);box-shadow:0 0 0 3px #e84b2a14}.booking__field-row{display:flex;flex-direction:column;gap:0}@media(min-width:480px){.booking__field-row{flex-direction:row;gap:16px}.booking__field-row .booking__field{flex:1}}.booking__input-wrap input[type=date]{padding:22px 16px 10px;-webkit-appearance:none;appearance:none;min-height:56px;background:#fff;color:var(--color-navy);font-size:16px;width:100%;cursor:pointer}.booking__input-wrap input[type=date]::-webkit-date-and-time-value{text-align:left}.booking__input-wrap input[type=date]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.booking__input-wrap input[type=date]+label{top:6px;left:16px;transform:none;font-size:.7rem;font-weight:600;color:var(--color-teal);pointer-events:none}.booking__error{display:block;font-size:.8rem;color:#dc2626;margin-top:6px;animation:shake .4s ease}.booking__error--center{text-align:center;margin-top:12px}.booking__field--error .booking__input-wrap input,.booking__field--error .booking__input-wrap textarea{border-color:#dc2626}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.booking__category-cards{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}@media(min-width:480px){.booking__category-cards{grid-template-columns:1fr 1fr}}.booking__category-card{position:relative;padding:28px 24px;border:2px solid var(--color-gray-200);border-radius:16px;background:#fff;cursor:pointer;text-align:left;transition:all .3s cubic-bezier(.34,1.56,.64,1);font-family:var(--font-primary)}.booking__category-card:hover{border-color:var(--color-gray-300);box-shadow:0 8px 24px #1b21410f;transform:translateY(-2px)}.booking__category-card--selected{border-color:var(--color-teal);background:#e84b2a08;box-shadow:0 0 0 3px #e84b2a1a}.booking__category-card--selected:hover{border-color:var(--color-teal)}.booking__category-icon{width:52px;height:52px;border-radius:14px;background:#e84b2a14;color:var(--color-teal);display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:background .3s}.booking__category-card--selected .booking__category-icon{background:#e84b2a26}.booking__category-card h3{font-size:1.05rem;font-weight:700;color:var(--color-navy);margin-bottom:4px}.booking__category-card p{font-size:.8rem;color:var(--color-gray-500);line-height:1.4;margin:0}.booking__category-check{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;background:var(--color-teal);color:#fff;display:flex;align-items:center;justify-content:center;animation:pop-in .35s cubic-bezier(.34,1.56,.64,1)}@keyframes pop-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.booking__services-grid{animation:slide-up .4s ease forwards}.booking__services-label{font-size:.8rem;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.booking__chips{display:flex;flex-wrap:wrap;gap:10px}.booking__chip{padding:10px 18px;border:2px solid var(--color-gray-200);border-radius:50px;background:#fff;font-family:var(--font-primary);font-size:.85rem;font-weight:500;color:var(--color-gray-700);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);animation:fade-in-up .4s ease forwards;opacity:0}.booking__chip:hover{border-color:var(--color-teal);color:var(--color-teal)}.booking__chip--selected{background:var(--color-teal);border-color:var(--color-teal);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #e84b2a40}.booking__chip--selected:hover{color:#fff}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.booking__providers{display:flex;flex-direction:column;gap:14px}.booking__provider-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border:2px solid var(--color-gray-200);border-radius:16px;background:#fff;cursor:pointer;text-align:left;font-family:var(--font-primary);transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;animation:fade-in-up .4s ease forwards;opacity:0}.booking__provider-card:nth-child(1){animation-delay:0ms}.booking__provider-card:nth-child(2){animation-delay:.1s}.booking__provider-card:hover{border-color:var(--color-gray-300);box-shadow:0 6px 20px #1b21410f;transform:translateY(-1px)}.booking__provider-card--selected{border-color:var(--color-teal);background:#e84b2a05;box-shadow:0 0 0 3px #e84b2a1a}.booking__provider-img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.booking__provider-avatar{width:56px;height:56px;border-radius:50%;background:var(--color-off-white);color:var(--color-gray-400);display:flex;align-items:center;justify-content:center;flex-shrink:0}.booking__provider-info{flex:1;min-width:0}.booking__provider-info h3{font-size:.95rem;font-weight:700;color:var(--color-navy);margin:0 0 2px}.booking__provider-specialty{display:block;font-size:.8rem;color:var(--color-gray-500)}.booking__provider-langs{display:block;font-size:.75rem;color:var(--color-gray-400);margin-top:2px}.booking__provider-check{width:28px;height:28px;border-radius:50%;background:var(--color-teal);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:pop-in .35s cubic-bezier(.34,1.56,.64,1)}.booking__time-section{margin-bottom:20px}.booking__time-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:480px){.booking__time-pills{grid-template-columns:1fr}}.booking__time-pill{padding:14px 12px;border:2px solid var(--color-gray-200);border-radius:14px;background:#fff;cursor:pointer;text-align:center;font-family:var(--font-primary);transition:all .25s cubic-bezier(.34,1.56,.64,1)}.booking__time-pill strong{display:block;font-size:.9rem;color:var(--color-navy);margin-bottom:2px}.booking__time-pill span{font-size:.75rem;color:var(--color-gray-400)}.booking__time-pill:hover{border-color:var(--color-teal);transform:translateY(-1px)}.booking__time-pill--selected{border-color:var(--color-teal);background:var(--color-teal)}.booking__time-pill--selected strong{color:#fff}.booking__time-pill--selected span{color:#fffc}.booking__radio-group{margin-bottom:20px}.booking__radio-row{display:flex;gap:10px}.booking__radio-btn{padding:10px 28px;border:2px solid var(--color-gray-200);border-radius:50px;background:#fff;font-family:var(--font-primary);font-size:.9rem;font-weight:500;color:var(--color-gray-600);cursor:pointer;transition:all .25s ease}.booking__radio-btn:hover{border-color:var(--color-teal)}.booking__radio-btn--selected{border-color:var(--color-teal);background:var(--color-teal);color:#fff}.booking__summary{border:1px solid var(--color-gray-100);border-radius:16px;overflow:hidden}.booking__summary-section{padding:20px 24px;border-bottom:1px solid var(--color-gray-100)}.booking__summary-section:last-child{border-bottom:none}.booking__summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.booking__summary-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-400)}.booking__summary-edit{background:none;border:none;font-family:var(--font-primary);font-size:.8rem;font-weight:600;color:var(--color-teal);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s}.booking__summary-edit:hover{background:#e84b2a0f}.booking__summary-row{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-gray-700);padding:3px 0}.booking__summary-tag{font-size:.7rem;font-weight:600;padding:2px 10px;border-radius:20px;background:#e84b2a14;color:var(--color-teal)}.booking__privacy{font-size:.8rem;color:var(--color-gray-400);text-align:center;margin-top:20px;line-height:1.5}.booking__submit-error{margin-top:16px;padding:12px 16px;border-radius:8px;background:#fdecea;border:1px solid #f5b5b5;color:#a2322e;font-size:.9rem;text-align:center}.booking__privacy a{color:var(--color-teal);text-decoration:underline}.booking__phi-notice{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;margin:20px 0 16px;border-radius:8px;background:#fff4e5;border:1px solid #f5c99e;color:#7a4a15;font-size:.85rem;line-height:1.5}.booking__phi-notice svg{flex-shrink:0;margin-top:2px;color:#c7701a}.booking__phi-notice strong{color:#6b3a0f}.booking__nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;gap:12px}.booking__btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:12px;font-family:var(--font-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);border:none}.booking__btn--back{background:transparent;color:var(--color-gray-500);border:2px solid var(--color-gray-200)}.booking__btn--back:hover{border-color:var(--color-gray-300);color:var(--color-gray-700);transform:translate(-2px)}.booking__btn--next{background:var(--color-teal);color:#fff;margin-left:auto;box-shadow:0 4px 14px #e84b2a40}.booking__btn--next:hover{background:var(--color-teal-dark);transform:translateY(-1px);box-shadow:0 6px 20px #e84b2a4d}.booking__btn--submit{background:linear-gradient(135deg,var(--color-teal) 0%,var(--color-teal-dark) 100%);color:#fff;margin-left:auto;box-shadow:0 4px 14px #e84b2a40;position:relative;overflow:hidden}.booking__btn--submit:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.booking__btn--submit:hover:after{left:100%}.booking__btn--submit:hover{transform:translateY(-1px);box-shadow:0 6px 20px #e84b2a59}.booking__success{max-width:520px;margin:0 auto;text-align:center;padding:var(--space-3xl) var(--space-xl);animation:fade-in-up .6s ease forwards}.booking__success-icon{margin-bottom:24px}.booking__checkmark{width:80px;height:80px}.booking__checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:var(--color-teal);animation:stroke-draw .6s cubic-bezier(.65,0,.45,1) forwards}.booking__checkmark-check{stroke-dasharray:48;stroke-dashoffset:48;stroke:var(--color-teal);stroke-width:3;stroke-linecap:round;animation:stroke-draw .3s cubic-bezier(.65,0,.45,1) .4s forwards}@keyframes stroke-draw{to{stroke-dashoffset:0}}.booking__success-title{font-size:1.75rem;font-weight:800;color:var(--color-navy);margin-bottom:12px}.booking__success-text{font-size:1rem;color:var(--color-gray-600);line-height:1.6;margin-bottom:24px}.booking__success-details{display:inline-flex;flex-direction:column;gap:8px;text-align:left;padding:20px 28px;background:var(--color-off-white);border-radius:14px;font-size:.9rem;color:var(--color-gray-600)}.booking__success-details strong{color:var(--color-navy)}.booking__service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-top:8px}.booking__service-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px 12px;border:2px solid var(--color-gray-200);border-radius:14px;background:#fff;color:var(--color-navy);font-family:var(--font-primary);font-size:.95rem;font-weight:600;text-align:center;cursor:pointer;min-height:120px;transition:all .2s cubic-bezier(.34,1.56,.64,1);opacity:0;animation:fadeInUp .35s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking__service-card:hover{border-color:var(--color-teal);transform:translateY(-2px);box-shadow:0 8px 20px #e84b2a14}.booking__service-card--selected{border-color:var(--color-teal);background:#e84b2a0f;color:var(--color-teal)}.booking__service-icon{display:flex;align-items:center;justify-content:center;color:var(--color-teal);width:48px;height:48px;border-radius:12px;background:#e84b2a1a}.booking__service-card--selected .booking__service-icon{background:var(--color-teal);color:#fff}.booking__service-title{line-height:1.2}@media(max-width:600px){.booking__card{border-radius:16px;margin:0 -4px}.booking__step-title{font-size:1.25rem}.booking__btn{padding:12px 18px;font-size:.9rem}.booking__category-card{padding:20px 18px}.booking__provider-card{padding:14px 16px}.booking__stepper{padding:14px 12px}.booking__service-grid{grid-template-columns:repeat(2,1fr);gap:10px}.booking__service-card{min-height:100px;padding:16px 8px;font-size:.85rem}.booking__service-icon{width:40px;height:40px}.booking__service-icon svg{width:26px;height:26px}.booking__content{padding:var(--space-lg) 0 140px}.booking__nav-bar{padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px))}.booking__nav-bar .booking__nav{gap:8px}.booking__nav-bar .booking__btn--next,.booking__nav-bar .booking__btn--submit{flex:1;justify-content:center}.booking__nav-bar .booking__btn--back{flex:0 0 auto}}
