.public-booking-page{--public-primary:var(--novay-purple);--public-secondary:var(--novay-pink);--public-accent:var(--novay-purple-dark);--public-cta-background:var(--novay-gradient);--public-on-accent:var(--novay-surface);--public-on-cta:var(--novay-surface);min-height:100dvh;padding:var(--novay-space-3);background:radial-gradient(circle at 90% 2%, color-mix(in srgb, var(--public-secondary) 10%, transparent), transparent 28rem), radial-gradient(circle at 5% 45%, color-mix(in srgb, var(--public-primary) 8%, transparent), transparent 24rem), var(--novay-bg-subtle)}.public-booking-page .novay-button--primary{color:var(--public-on-cta);background:var(--public-cta-background);box-shadow:0 8px 22px color-mix(in srgb, var(--public-primary) 22%, transparent);border-color:#0000}.public-booking-page .novay-button--primary:hover:not(:disabled){color:var(--public-on-cta);filter:saturate(1.07)brightness(.98)}.public-booking-page :is(button,a,input,textarea):focus-visible{outline:3px solid var(--public-accent);outline-offset:2px}.public-booking-shell{gap:var(--novay-space-4);grid-template-columns:minmax(0,1fr);width:min(100%,68rem);margin-inline:auto;display:grid}.public-booking-shell>*{min-width:0}.public-business-hero{border:1px solid var(--novay-border);border-radius:var(--novay-radius-xl);background:var(--novay-surface);box-shadow:var(--novay-shadow-sm);overflow:hidden}.public-business-hero__media{background:var(--novay-text);touch-action:pan-y;min-height:14.5rem;position:relative;overflow:hidden}.public-business-hero__slide{opacity:0;pointer-events:none;transition:opacity var(--novay-transition);position:absolute;inset:0}.public-business-hero__slide.is-active{opacity:1;pointer-events:auto}.public-business-hero__slide img{object-fit:cover;width:100%;height:100%;min-height:14.5rem}.public-business-hero__fallback{background:linear-gradient(130deg, color-mix(in srgb, var(--public-primary) 80%, var(--novay-text)), color-mix(in srgb, var(--public-secondary) 82%, var(--novay-orange))), var(--novay-gradient);place-items:center;display:grid;position:absolute;inset:0}.public-business-hero__fallback .novay-logo{padding:var(--novay-space-5);background:var(--novay-surface-translucent);box-shadow:var(--novay-shadow-md);border-radius:50%}.public-business-hero__shade{pointer-events:none;background:linear-gradient(0deg,#171329d1 0,#17132929 64%,#0000 100%);position:absolute;inset:0}.public-business-hero__identity{z-index:2;inset-inline:var(--novay-space-4);bottom:var(--novay-space-4);align-items:center;gap:var(--novay-space-3);color:var(--novay-surface);display:flex;position:absolute}.public-business-hero__identity h1{color:var(--novay-surface);overflow-wrap:anywhere;margin:0;font-size:clamp(1.65rem,7vw,2.45rem);font-weight:760;line-height:1.12}.public-business-hero__identity>div{min-width:0}.public-business-hero__identity p{color:#ffffffd1;margin:.2rem 0 0}.public-business-hero__logo,.public-business-hero__initial{border-radius:var(--novay-radius-lg);object-fit:cover;background:var(--novay-surface);width:3.6rem;height:3.6rem;box-shadow:var(--novay-shadow-sm);border:2px solid #ffffffc7;flex:none}.public-business-hero__initial{color:var(--public-accent);place-items:center;font-size:1.6rem;font-weight:800;display:grid}.public-business-hero__nav{z-index:3;color:var(--novay-text);background:var(--novay-surface-translucent);position:absolute;top:50%;translate:0 -50%}.public-business-hero__nav--next{inset-inline-start:var(--novay-space-3)}.public-business-hero__nav--previous{inset-inline-end:var(--novay-space-3)}.public-business-hero__dots{z-index:3;inset-inline-end:var(--novay-space-4);top:var(--novay-space-3);gap:0;max-width:calc(100% - 2rem);display:flex;position:absolute;overflow-x:auto}.public-business-hero__dots button{background:0 0;border:0;flex:none;place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid}.public-business-hero__dots button:before{content:"";background:#ffffff94;border-radius:50%;width:.48rem;height:.48rem}.public-business-hero__dots button[aria-current=true]:before{border-radius:var(--novay-radius-pill);background:var(--novay-surface);width:1.25rem}.public-business-hero__details{padding:var(--novay-space-4)}.public-business-hero__details>p{margin:0 0 var(--novay-space-3);color:var(--novay-text-soft)}.public-business-hero__links{gap:var(--novay-space-2) var(--novay-space-4);flex-wrap:wrap;display:flex}.public-business-hero__links a{color:var(--public-accent);font-size:var(--novay-font-size-sm);overflow-wrap:anywhere;align-items:center;gap:.35rem;min-width:0;font-weight:650;text-decoration:none;display:inline-flex}.public-business-hero__cta{margin-top:var(--novay-space-4)}.public-booking-focus-target{min-width:0;scroll-margin-top:var(--novay-space-4)}.public-booking-focus-target:focus{outline:none}.public-booking-flow{min-width:0}.public-booking-progress{margin:calc(var(--novay-space-2) * -1) 0 var(--novay-space-6);scrollbar-width:none;overflow-x:auto}.public-booking-progress ol{min-width:31rem;margin:0;padding:0;list-style:none;display:flex}.public-booking-progress li{color:var(--novay-muted);flex:1;justify-items:center;gap:.35rem;display:grid;position:relative}.public-booking-progress li:after{content:"";z-index:0;top:.8rem;background:var(--novay-border);width:calc(100% - 1.8rem);height:2px;position:absolute;inset-inline-start:calc(50% + .9rem)}.public-booking-progress li:last-child:after{display:none}.public-booking-progress li>span{z-index:1;border:1px solid var(--novay-border-strong);background:var(--novay-surface);width:1.65rem;height:1.65rem;font-size:var(--novay-font-size-xs);border-radius:50%;place-items:center;font-weight:750;display:grid}.public-booking-progress li.is-reached{color:var(--public-accent)}.public-booking-progress li.is-reached>span{color:var(--public-on-accent);border-color:var(--public-accent);background:var(--public-accent)}.public-booking-progress li.is-reached:after{background:var(--public-accent)}.public-booking-flow__heading{margin-bottom:var(--novay-space-5);justify-content:space-between;align-items:flex-start;gap:var(--novay-space-3);display:flex}.public-booking-flow__heading .novay-button{order:2}.public-booking-flow__heading h1,.public-booking-flow__heading h2{margin:.15rem 0 0;font-size:clamp(1.45rem,5vw,2rem);font-weight:760}.public-booking-flow__heading h2:focus-visible{outline:3px solid color-mix(in srgb, var(--public-accent) 42%, transparent);outline-offset:.3rem;border-radius:var(--novay-radius-sm)}.public-booking-flow__eyebrow{color:var(--public-accent);font-size:var(--novay-font-size-sm);font-weight:700}.public-option-grid,.public-booking-skeleton-grid{gap:var(--novay-space-3);display:grid}.public-service-groups{gap:var(--novay-space-5);display:grid}.public-service-group{gap:var(--novay-space-3);display:grid}.public-service-group h3{color:var(--novay-muted);font-size:var(--novay-font-size-sm);margin:0;font-weight:750}.public-service-card,.public-staff-card{width:100%;min-width:0;padding:var(--novay-space-4);border:1px solid var(--novay-border);border-radius:var(--novay-radius-lg);color:var(--novay-text);background:var(--novay-surface);text-align:start;transition:border-color var(--novay-transition-fast), translate var(--novay-transition-fast), box-shadow var(--novay-transition-fast);position:relative}.public-service-card:hover:not(:disabled),.public-staff-card:hover:not(:disabled){border-color:color-mix(in srgb, var(--public-primary) 38%, var(--novay-border));box-shadow:var(--novay-shadow-sm);translate:0 -2px}.public-service-card{gap:var(--novay-space-3);display:grid;overflow:hidden}.public-service-card__accent{background:var(--public-primary);width:.28rem;position:absolute;inset-block:0;inset-inline-start:0}.public-service-card__copy,.public-service-card__meta,.public-staff-card>span:not(.public-staff-card__avatar){min-width:0;display:grid}.public-service-card__copy small,.public-staff-card small{color:var(--novay-muted)}.public-service-card__copy strong,.public-staff-card strong{font-size:var(--novay-font-size-lg)}.public-service-card__copy>span{margin-top:var(--novay-space-1);color:var(--novay-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.public-service-card__meta{justify-content:space-between;align-items:center;gap:var(--novay-space-3);display:flex}.public-service-card__meta span{color:var(--novay-muted);align-items:center;gap:.3rem;display:inline-flex}.public-staff-card{align-items:center;gap:var(--novay-space-3);grid-template-columns:auto 1fr auto;display:grid}.public-staff-card img,.public-staff-card__avatar{object-fit:cover;width:3.1rem;height:3.1rem;color:var(--public-accent);background:color-mix(in srgb, var(--public-primary) 10%, var(--novay-surface));border-radius:50%;place-items:center;display:grid}.public-staff-card__avatar--sparkles{color:var(--public-on-cta);background:var(--public-cta-background)}.public-date-grid{margin-bottom:var(--novay-space-4);gap:var(--novay-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.public-date-grid button,.public-slot-grid button{min-height:4rem;padding:var(--novay-space-2) var(--novay-space-3);border:1px solid var(--novay-border);border-radius:var(--novay-radius-md);color:var(--novay-muted);background:var(--novay-bg-subtle);place-items:center;gap:.1rem;display:grid}.public-date-grid button.is-available,.public-slot-grid button{color:var(--novay-text);background:var(--novay-surface)}.public-date-grid button.is-available:hover,.public-slot-grid button:hover,.public-slot-grid button.is-selected{border-color:var(--public-accent);color:var(--public-accent);background:color-mix(in srgb, var(--public-primary) 6%, var(--novay-surface))}.public-date-grid button:disabled{opacity:.62}.public-date-grid small,.public-slot-grid small{font-size:var(--novay-font-size-xs)}.public-slot-date{margin:0 0 var(--novay-space-3);color:var(--novay-text-soft);font-weight:700}.public-slot-grid{gap:var(--novay-space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.public-customer-form,.public-otp-form{gap:var(--novay-space-4);width:min(100%,35rem);margin-inline:auto;display:grid}.public-booking-summary-line{padding:var(--novay-space-4);justify-content:space-between;gap:var(--novay-space-3);border:1px solid color-mix(in srgb, var(--public-primary) 18%, var(--novay-border));border-radius:var(--novay-radius-lg);background:color-mix(in srgb, var(--public-primary) 5%, var(--novay-surface));display:flex}.public-booking-summary-line div{display:grid}.public-booking-summary-line span{color:var(--novay-muted);font-size:var(--novay-font-size-sm)}.public-booking-summary-line b{white-space:nowrap;color:var(--public-accent)}.public-booking-privacy{color:var(--novay-muted);font-size:var(--novay-font-size-sm);align-items:center;gap:.4rem;margin:0;display:flex}.public-booking-policy{padding:var(--novay-space-3);border:1px solid var(--novay-border);border-radius:var(--novay-radius-md);color:var(--novay-text-soft);background:var(--novay-bg-subtle)}.public-booking-policy summary{color:var(--public-accent);cursor:pointer;font-weight:650}.public-booking-policy p{margin:var(--novay-space-2) 0 0}.public-booking-error{margin:var(--novay-space-3) 0;padding:var(--novay-space-3);border-radius:var(--novay-radius-md);color:var(--novay-danger-dark);background:var(--novay-danger-soft);text-align:center}.public-otp-form{text-align:center}.public-otp-form>p{color:var(--novay-muted);margin:0}.public-otp-form__resend{font-variant-numeric:tabular-nums}.public-confirmation{padding:var(--novay-space-6) 0;text-align:center}.public-confirmation__icon{width:4.5rem;height:4.5rem;margin:0 auto var(--novay-space-3);color:var(--novay-success);background:var(--novay-success-soft);box-shadow:0 0 0 .55rem color-mix(in srgb, var(--novay-success) 5%, transparent);border-radius:50%;place-items:center;display:grid}.public-confirmation__icon.is-canceled{color:var(--novay-danger);background:var(--novay-danger-soft);box-shadow:0 0 0 .55rem color-mix(in srgb, var(--novay-danger) 5%, transparent)}.public-confirmation h2{font-size:var(--novay-font-size-2xl);margin:0}.public-confirmation>p{margin:var(--novay-space-1) 0 var(--novay-space-5);color:var(--novay-muted)}.public-confirmation__card{text-align:start;width:min(100%,38rem);margin-inline:auto}.public-confirmation__business{align-items:center;gap:var(--novay-space-2);padding-bottom:var(--novay-space-3);border-bottom:1px solid var(--novay-border);display:flex}.public-confirmation__business img{border-radius:var(--novay-radius-sm);object-fit:cover;width:2.5rem;height:2.5rem}.public-confirmation__facts{margin:var(--novay-space-3) 0 0;gap:var(--novay-space-3);display:grid}.public-confirmation__facts div{gap:var(--novay-space-3);grid-template-columns:minmax(5rem,.38fr) 1fr;display:grid}.public-confirmation__facts dt{color:var(--novay-muted);align-items:center;gap:.35rem;font-weight:500;display:flex}.public-confirmation__facts dd{margin:0;font-weight:650}.public-confirmation__calendar-actions,.public-confirmation__actions{width:min(100%,38rem);margin:var(--novay-space-4) auto 0;justify-content:center;gap:var(--novay-space-2);flex-wrap:wrap;display:flex}.public-booking-unavailable{justify-items:center;gap:var(--novay-space-3);text-align:center;width:min(100%,32rem);margin:min(18vh,8rem) auto;display:grid}.public-booking-unavailable h1,.public-booking-unavailable h2{font-size:var(--novay-font-size-2xl);margin:0}.public-booking-unavailable p{color:var(--novay-muted);margin:0}.public-booking-skeleton-grid{margin-top:var(--novay-space-5)}.public-booking-footer{padding:var(--novay-space-4);justify-content:center;align-items:center;gap:var(--novay-space-3);color:var(--novay-muted);font-size:var(--novay-font-size-sm);display:flex}.public-manage-shell{width:min(100%,48rem)}.public-manage-header{padding:var(--novay-space-2);justify-content:space-between;align-items:center;display:flex}.public-manage-status{color:var(--novay-info);background:var(--novay-info-soft)}.public-manage-status--canceled,.public-manage-status--no_show{color:var(--novay-danger);background:var(--novay-danger-soft)}.public-manage-status--completed{color:var(--novay-success);background:var(--novay-success-soft)}.public-manage-deadline-note{margin:var(--novay-space-2) 0;color:var(--novay-muted);font-size:var(--novay-font-size-sm);flex-basis:100%}.public-reschedule__back{margin-bottom:var(--novay-space-3);color:var(--public-accent);background:0 0;border:0;padding:0;font-weight:650}.public-cancel-content{text-align:start}@media (width>=576px){.public-booking-page{padding:var(--novay-space-6)}.public-business-hero__media,.public-business-hero__slide img{min-height:20rem}.public-business-hero__identity{inset-inline:var(--novay-space-6);bottom:var(--novay-space-5)}.public-business-hero__logo,.public-business-hero__initial{width:4.5rem;height:4.5rem}.public-business-hero__details{padding:var(--novay-space-5) var(--novay-space-6)}.public-option-grid,.public-booking-skeleton-grid,.public-option-grid--staff{grid-template-columns:repeat(2,minmax(0,1fr))}.public-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=900px){.public-booking-page{padding-block:var(--novay-space-8)}.public-option-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-option-grid--staff{grid-template-columns:repeat(2,minmax(0,1fr))}.public-date-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (width<=575px){.public-booking-flow.novay-card--padding-lg{padding:var(--novay-space-4)}.public-business-hero__nav{display:none}.public-confirmation__calendar-actions>*,.public-confirmation__actions>*{width:100%}.public-confirmation__facts div{grid-template-columns:1fr;gap:.15rem}}@media (prefers-reduced-motion:reduce){.public-business-hero__slide,.public-service-card,.public-staff-card{transition:none}}.public-business-overview h3{margin-block-start:1rem;font-size:1rem}.public-business-overview__hours>div{border-block-end:1px solid var(--novay-border);justify-content:space-between;gap:1rem;padding-block:.45rem;display:flex}.public-business-overview__hours dd{flex-wrap:wrap;gap:.75rem;margin:0;display:flex}.public-business-overview__staff{padding-inline-start:1.25rem}.public-business-breadcrumb{color:var(--novay-muted);overflow-wrap:anywhere;font-size:.875rem}.public-staff-card small.public-staff-card__nearest{color:var(--public-on-accent);background:var(--public-accent);border-radius:var(--novay-radius-sm);width:fit-content;padding:.2rem .5rem;font-weight:600}
