.zmbk-profile,.zmbk-panel{--bk-green:#0f5b55;--bk-sage:#6fa98c;--bk-light:#d8ebdc;--bk-peach:#f4a68b;--bk-cream:#f8e5d6;color:#183e39;line-height:1.9;font-size:16px}.zmbk-profile-hero{background:#edf5ef;border-bottom:1px solid #d8ebdc;padding:40px 0}.zmbk-profile-hero__inner{display:grid;gap:28px;align-items:center}.zmbk-portrait{width:min(100%,270px);aspect-ratio:4/5;border-radius:100px 100px 24px 24px;overflow:hidden;background:#d8ebdc;margin:auto}.zmbk-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}.zmbk-profile h1{font-size:clamp(30px,4vw,48px);line-height:1.5;margin:12px 0}.zmbk-subtitle{font-size:19px;margin:0 0 16px}.zmbk-eyebrow{display:block;color:#0f5b55;font-size:14px;font-weight:700;margin:12px 0}.zmbk-back{display:inline-block;color:#0f5b55;font-size:14px;padding:10px 0;min-height:44px}.zmbk-facts{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.zmbk-facts span{padding:6px 12px;background:#fff;border-radius:8px;font-size:14px}.zmbk-verified{color:#0f5b55;font-weight:700}.zmbk-profile-layout{display:grid;gap:24px;padding-block:32px}.zmbk-detail,.zmbk-book-card,.zmbk-appointment,.zmbk-calendar,.zmbk-payment,.zmbk-alert-list{background:#fff;border:1px solid #d8ebdc;border-radius:18px;padding:24px;margin-bottom:20px}.zmbk-profile h2,.zmbk-panel h2{font-size:22px;line-height:1.6;margin:0 0 18px}.zmbk-care{background:#fff6ef}.zmbk-tags{display:flex;flex-wrap:wrap;gap:10px}.zmbk-tags a{padding:8px 12px;border-radius:8px;background:#edf5ef;color:#0f5b55}.zmbk-book-card{border-top:4px solid #f4a68b;scroll-margin-top:110px}.zmbk-form{display:flex;flex-direction:column;gap:10px;margin:20px 0}.zmbk-form :is(input:not([type=hidden]):not([type=radio]):not([type=checkbox]),select),.zmbk-appointment select,.zmbk-appointment input{font:inherit;color:#183e39;border:1px solid #85a598;border-radius:8px;padding:10px;min-height:46px;background:#fff;max-width:100%;box-sizing:border-box;width:100%}.zmbk-form button,.zmbk-button,.zmbk-appointment button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;background:#0f5b55;color:#fff!important;border:0;border-radius:10px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-sizing:border-box}.zmbk-form button:hover,.zmbk-button:hover{background:#124a45}.zmbk-profile :is(a,button,input,select):focus-visible,.zmbk-panel :is(a,button,input,select,summary):focus-visible{outline:3px solid #0f5b55;outline-offset:4px}.zmbk-price{font-size:24px;font-weight:700}.zmbk-price small{display:block;font-size:14px;font-weight:400}.zmbk-empty,.zmbk-notice{background:#edf5ef;border-radius:10px;padding:16px}.zmbk-error{background:#fff0e9;border-inline-start:4px solid #a3452e;padding:16px;color:#812f1e}.zmbk-slots{border:0;padding:0;margin:0;display:grid;gap:10px}.zmbk-slots legend{padding:0 0 12px;font-size:14px}.zmbk-slots label{display:flex;gap:10px;align-items:center;border:1px solid #b7cfc0;padding:10px;border-radius:8px;min-height:44px;cursor:pointer}.zmbk-slots label:has(:checked){background:#d8ebdc;border-color:#0f5b55}.zmbk-slots input{flex:none;width:20px;height:20px;accent-color:#0f5b55}.zmbk-policy{font-size:14px}.zmbk-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px}.zmbk-consent input{width:22px;height:22px;flex:none;accent-color:#0f5b55;margin-top:5px}.zmbk-panel{padding-block:40px}.zmbk-panel>header{margin-bottom:28px}.zmbk-appointment__head{display:flex;gap:12px;justify-content:space-between;align-items:start;flex-wrap:wrap}.zmbk-appointment__head>span{font-size:13px;padding:4px 10px;border-radius:8px;background:#d8ebdc}.zmbk-panel details{margin-top:20px;border-top:1px solid #d8ebdc;padding-top:16px}.zmbk-panel summary{min-height:44px;cursor:pointer;font-weight:700}.zmbk-mobile-booking{position:fixed;inset-inline:0;bottom:0;z-index:80;background:#fff;border-top:1px solid #b7cfc0;box-shadow:0 -8px 28px #0f5b550c;padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px}.zmbk-mobile-booking>span{font-size:12px;max-width:40%;line-height:1.7}.zmbk-profile{padding-bottom:calc(98px + env(safe-area-inset-bottom))}body:has(.zmbk-mobile-booking) .site-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}html:has(.zmbk-profile){scroll-padding-bottom:110px}.zmbk-timezone-hint{font-size:13px!important;background:#edf5ef!important;color:#0f5b55!important}.zmbk-introduction{max-width:620px}@media(min-width:850px){.zmbk-profile-hero{padding:56px 0}.zmbk-profile-hero__inner{grid-template-columns:300px 1fr;gap:60px}.zmbk-profile-layout{grid-template-columns:minmax(0,1fr) 360px;gap:32px;padding-block:48px}.zmbk-profile-sidebar{align-self:start;position:sticky;top:110px}.zmbk-mobile-booking{display:none}.zmbk-profile{padding-bottom:0}body:has(.zmbk-mobile-booking) .site-footer{padding-bottom:32px}.zmbk-booking-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.zmbk-appointment{margin:0}}@media(prefers-reduced-motion:reduce){.zmbk-profile *{scroll-behavior:auto!important}}
@media(max-width:849px){.zmbk-profile-hero{padding:28px 0}.zmbk-profile-hero__inner{grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:start}.zmbk-portrait{width:96px;margin:8px 0 0;aspect-ratio:4/5;border-radius:24px}.zmbk-profile h1{font-size:28px}.zmbk-profile-hero .zmbk-button{font-size:14px;line-height:1.8;width:100%}.zmbk-profile :is(a,button,input,select,summary){scroll-margin-bottom:115px}}
.zmbk-profile{padding-bottom:var(--zmbk-mobile-clearance,calc(110px + env(safe-area-inset-bottom)))}body:has(.zmbk-mobile-booking) .site-footer{padding-bottom:var(--zmbk-mobile-clearance,calc(110px + env(safe-area-inset-bottom)))}html:has(.zmbk-profile){scroll-padding-bottom:var(--zmbk-mobile-clearance,110px)}.zmbk-form textarea{font:inherit;border:1px solid #85a598;border-radius:8px;min-height:110px;width:100%;padding:12px;box-sizing:border-box}@media(min-width:850px){.zmbk-profile-sidebar{max-height:calc(100svh - 130px);overflow-y:auto;scrollbar-width:thin;padding:2px}.zmbk-profile{padding-bottom:0}body:has(.zmbk-mobile-booking) .site-footer{padding-bottom:32px}}
.zmbk-appointment{scroll-margin-top:110px}.zmbk-appointment:focus{outline:2px solid #0f5b55;outline-offset:4px}
