.booking-top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.76);backdrop-filter:blur(18px);display:flex;justify-content:center}.booking-top .booking-brand:first-child{font-size:26px;grid-column:auto}.widget-shell{max-width:460px;width:100%;margin:auto;padding:20px 16px 28px}.widget-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;color:#737373;font-size:13px}.page-dots{display:flex;gap:6px}.page-dots button{width:28px;min-height:32px;padding:0;border:0;background:none;position:relative}.page-dots button::after{content:'';position:absolute;width:6px;height:6px;border-radius:50%;background:#dbdbdb;top:13px;left:11px}.page-dots button[aria-current=step]::after{background:#262626}.booking-widget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));gap:8px;aspect-ratio:1/2}.booking-widget{background:rgba(239,239,239,.68);border:1px solid rgba(38,38,38,.08);border-radius:8px;backdrop-filter:blur(14px);min-width:0;min-height:0;padding:14px;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;gap:8px;transition:background .18s ease}.booking-widget-grid.no-boundaries .booking-widget{background:transparent;border-color:transparent;backdrop-filter:none}.booking-widget h2{font-family:'Noto Sans TC',sans-serif;font-size:14px;font-weight:500;margin:0}.booking-widget p{margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.booking-widget label{font-size:13px;display:grid;gap:5px}.booking-widget input,.booking-widget textarea,.booking-widget select{border:1px solid rgba(38,38,38,.12);background:rgba(255,255,255,.66);backdrop-filter:blur(10px);padding:8px;border-radius:8px;width:100%;min-width:0;font:inherit;font-size:16px}.booking-widget input[type=checkbox],.booking-widget input[type=radio]{width:18px;height:18px;accent-color:#262626}.booking-widget input[type=file]{font-size:12px}.widget-button{background:rgba(255,255,255,.62);backdrop-filter:blur(12px);border:1px solid rgba(38,38,38,.08);border-radius:8px;min-height:44px;padding:8px 12px;text-align:left;font:inherit;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.widget-button.dark{background:rgba(38,38,38,.9);color:#fff;justify-content:center;border-color:rgba(38,38,38,.9)}.widget-button:disabled{opacity:.4;cursor:not-allowed}.widget-value{font-size:12px;color:#737373}.booking-widget .price,.widget-dialog .price{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;font-size:16px;letter-spacing:-.025em;white-space:nowrap}.widget-service-menu{display:grid;gap:6px;overflow:auto;min-height:0}.widget-service{flex:0 0 auto;min-height:43px;width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;text-align:left;border:1px solid rgba(38,38,38,.08);border-radius:8px;background:rgba(255,255,255,.57);backdrop-filter:blur(10px);font:inherit;font-size:13px}.widget-service small{display:block;color:#737373;font-size:11px;margin-top:2px}.widget-service.selected{background:rgba(38,38,38,.9);color:#fff;border-color:rgba(38,38,38,.9)}.widget-service.selected small{color:#fff}.widget-date-grid{display:grid;gap:5px;overflow:auto;min-height:0}.widget-date-grid.\32 x2{grid-template-columns:repeat(7,42px);grid-auto-flow:column;grid-template-rows:1fr}.widget-date-grid.\34 x2{grid-template-columns:repeat(7,minmax(34px,1fr));grid-template-rows:repeat(2,1fr)}.widget-date-grid.\34 x4{grid-template-columns:repeat(7,minmax(30px,1fr));grid-template-rows:repeat(5,1fr)}.widget-date{border:0;background:rgba(255,255,255,.62);border-radius:8px;min-height:40px;font-size:13px}.widget-date small{display:block;font-size:10px;color:#737373;margin-bottom:2px}.widget-date.selected,.widget-time.selected{background:rgba(38,38,38,.9);color:#fff}.widget-date.selected small{color:#fff}.widget-times{display:flex;gap:6px;flex-wrap:wrap;overflow:auto;align-content:flex-start}.widget-time{border:0;background:rgba(255,255,255,.62);border-radius:8px;min-height:40px;padding:5px 10px;font-size:13px}.widget-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:auto}.widget-field-option{display:flex!important;align-items:center;gap:8px}.widget-nav{display:flex;gap:10px;margin-top:18px}.widget-nav button{flex:1}.widget-errors{color:#9b2c2c;font-size:13px;white-space:pre-line;line-height:1.6}.widget-errors:empty{display:none}.widget-gallery{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-height:0;overflow:auto;flex:1}.widget-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.widget-dialog{width:min(440px,calc(100vw - 24px));max-height:85dvh;border:1px solid rgba(38,38,38,.14);border-radius:12px;padding:20px;color:#262626;background:rgba(255,255,255,.94);backdrop-filter:blur(20px)}.widget-dialog::backdrop{background:#0005}.widget-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.widget-dialog h2{font-size:18px;font-weight:500;margin:0}.widget-dialog-head button{background:rgba(239,239,239,.7);border:0;border-radius:8px;min-width:40px;min-height:40px}.widget-dialog-body{display:grid;gap:10px}.widget-dialog-body .widget-button{background:rgba(239,239,239,.7)}.widget-dialog .selected{background:#262626;color:#fff}.widget-preview-label{text-align:center;color:#737373;font-size:12px;padding:6px;background:rgba(250,250,250,.8)}.widget-finished{padding:30px 0;text-align:center}.widget-finished h2{font-size:22px}.widget-finished p{color:#737373;line-height:1.7}.widget-confirm-copy{color:#737373;font-size:12px!important}.widget-placeholder{color:#737373;display:grid;place-items:center;flex:1;font-size:13px;border:1px dashed rgba(38,38,38,.18);border-radius:6px}
@media(max-width:360px){.widget-shell{padding:14px 10px}.booking-widget{padding:9px;gap:5px}.widget-contact{gap:6px}.booking-widget label{font-size:12px}.booking-widget .price{font-size:14px}.widget-date-grid.\34 x4{grid-template-columns:repeat(7,28px)}}

/* Shared customer-facing frosted glass treatment. */
.booking-top,.booking-widget,.widget-button,.widget-service,.widget-date,.widget-time,.widget-dialog{background-image:linear-gradient(135deg,rgba(255,255,255,.52),rgba(255,255,255,.08) 48%,rgba(255,255,255,.2)),radial-gradient(circle at 18% 0%,rgba(255,255,255,.34),transparent 40%);box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 9px 22px rgba(28,28,28,.06);backdrop-filter:blur(18px) saturate(125%)}.booking-widget-grid.no-boundaries .booking-widget{background-image:none;box-shadow:none}.widget-service.selected,.widget-date.selected,.widget-time.selected,.widget-button.dark{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 9px 20px rgba(28,28,28,.15)}

/* Raised white surfaces with a crisp HELLA-blue selected state. */
:root{--hella-blue:#42afea;--hella-blue-deep:#2299dc;--paper:#f5f7fa;--raised:linear-gradient(145deg,#ffffff 0%,#f6f8fa 48%,#e8edf2 100%);--raised-shadow:inset 1px 1px 1px rgba(255,255,255,.98),inset -1px -1px 2px rgba(39,61,82,.09),0 8px 20px rgba(24,45,65,.1),0 2px 5px rgba(24,45,65,.06)}
body{background:var(--paper)}
.booking-top,.booking-widget,.widget-button,.widget-service,.widget-date,.widget-time,.widget-dialog,.widget-calendar-head button{background:var(--raised);background-image:var(--raised);border:0;box-shadow:var(--raised-shadow);backdrop-filter:none}
.booking-top{background:rgba(255,255,255,.93);box-shadow:0 5px 18px rgba(24,45,65,.06)}
.booking-widget{border:0;border-radius:18px;padding:15px;box-shadow:var(--raised-shadow)}
.booking-widget-grid{gap:8px}.booking-widget-grid.no-boundaries .booking-widget{background:transparent;background-image:none;box-shadow:none;border:0}
.widget-button,.widget-service,.widget-date,.widget-time{border-radius:14px}.widget-button.dark,.widget-service.selected,.widget-date.selected,.widget-time.selected{background:linear-gradient(145deg,#63c4f4,#2f9fe1);color:#fff;border:0;box-shadow:inset 1px 1px 1px rgba(255,255,255,.5),inset -1px -2px 3px rgba(0,91,156,.2),0 9px 18px rgba(66,175,234,.28)}
.widget-service.selected small,.widget-date.selected small{color:#fff}.widget-value{color:#627181}.booking-widget input,.booking-widget textarea,.booking-widget select{border:0;border-radius:14px;background:var(--raised);box-shadow:inset 1px 1px 1px rgba(255,255,255,.95),inset -1px -1px 2px rgba(39,61,82,.1)}.booking-widget input[type=checkbox],.booking-widget input[type=radio]{accent-color:var(--hella-blue)}
.widget-calendar-head{height:32px;display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:8px;text-align:center;font-size:12px;color:#27333e}.widget-calendar-head strong{font-weight:500}.widget-calendar-head button{width:30px;min-height:30px;padding:0;border-radius:50%;font-size:22px;line-height:1}.widget-calendar-head button:disabled{opacity:.36}
.widget-date-grid{padding-top:2px}.widget-date{border-radius:50%;aspect-ratio:1;min-height:0;padding:4px;background:transparent;box-shadow:none}.widget-date:not(.selected):hover{background:linear-gradient(145deg,#fff,#e8edf2);box-shadow:var(--raised-shadow)}.widget-date.selected{box-shadow:0 7px 14px rgba(66,175,234,.28)}
.widget-date-grid.\32 x2{grid-template-columns:repeat(7,minmax(32px,1fr));grid-auto-flow:row;grid-template-rows:1fr}.widget-date-grid.\34 x2{grid-template-columns:repeat(7,minmax(32px,1fr));grid-template-rows:repeat(2,1fr)}.widget-date-grid.\34 x4{grid-template-columns:repeat(7,minmax(30px,1fr));grid-template-rows:repeat(5,1fr)}
.widget-dialog{border:0;border-radius:24px;background:var(--raised);backdrop-filter:none}.widget-dialog-head button{border:0;border-radius:50%;background:var(--raised);box-shadow:var(--raised-shadow)}

/* HELLA Prism Clear customer widgets: continuous diagonal edge light, never a central flare. */
:root{--prism-page:#f6f7f8;--prism-ink:#111827;--prism-muted:#687481;--prism-clear:linear-gradient(138deg,rgba(255,255,255,.28),rgba(246,249,251,.12) 48%,rgba(227,235,241,.16)) padding-box,linear-gradient(138deg,rgba(255,255,255,.92) 0%,rgba(199,221,239,.68) 28%,rgba(174,210,232,.58) 50%,rgba(223,208,235,.48) 72%,rgba(245,207,219,.52) 100%) border-box;--prism-selected:linear-gradient(138deg,rgba(151,210,237,.76),rgba(102,181,220,.70) 52%,rgba(71,155,203,.76)) padding-box,linear-gradient(138deg,rgba(227,247,255,.96) 0%,rgba(202,223,245,.76) 28%,rgba(132,202,235,.94) 53%,rgba(221,214,242,.64) 76%,rgba(255,226,235,.68) 100%) border-box;--prism-shadow:inset 1px 1px 1px rgba(255,255,255,.72),inset -1px -1px 1px rgba(166,186,199,.1),0 9px 24px rgba(38,49,58,.11),-5px -3px 16px rgba(209,231,245,.11),5px 3px 18px rgba(245,214,225,.08);--prism-selected-shadow:inset 1px 1px 2px rgba(241,252,255,.65),inset -2px -2px 3px rgba(30,119,173,.14),0 10px 24px rgba(63,139,181,.18)}
body{background:var(--prism-page);color:var(--prism-ink)}.booking-top{background:rgba(246,247,248,.9);box-shadow:0 8px 22px rgba(38,49,58,.07);backdrop-filter:blur(16px) saturate(110%)}
.booking-widget,.widget-button,.widget-service,.widget-date,.widget-time,.widget-dialog,.widget-calendar-head button,.booking-widget input,.booking-widget textarea,.booking-widget select{border:1px solid transparent!important;background:var(--prism-clear)!important;box-shadow:var(--prism-shadow)!important;backdrop-filter:blur(15px) saturate(112%)!important;color:var(--prism-ink)}
.booking-widget-grid.no-boundaries .booking-widget{background:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important}.widget-service.selected,.widget-date.selected,.widget-time.selected,.widget-button.dark,.widget-dialog .selected{border:1px solid transparent!important;background:var(--prism-selected)!important;color:#fff!important;box-shadow:var(--prism-selected-shadow)!important;text-shadow:0 1px 1px rgba(23,102,147,.22)}.widget-service.selected small,.widget-date.selected small{color:rgba(255,255,255,.84)!important}.widget-value,.widget-service small,.widget-date small,.widget-progress{color:var(--prism-muted)}.page-dots button[aria-current=step]::after{background:#66b5dc}
.widget-date:not(.selected):hover{background:var(--prism-clear)!important;box-shadow:var(--prism-shadow)!important}

/* Calendar: Sunday-first, with a single circular selected date. */
.widget-date-grid.\34 x4{grid-template-rows:repeat(6,minmax(30px,1fr))}
.widget-date:not(.selected){border-color:transparent!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;text-shadow:none!important}
.widget-date:not(.selected):hover{background:rgba(255,255,255,.3)!important;box-shadow:none!important}
.widget-date.outside{opacity:.34}
.widget-date.selected{border-radius:50%!important;color:#fff!important}

/* HELLA Soft Raised 01 widget booking surfaces. */
:root{--neu-page:#eef1f5;--neu-surface:#eef1f5;--neu-ink:#24282d;--neu-muted:#707780;--neu-blue:#b8d8ff;--neu-blue-light:#cce1ff;--neu-light:rgba(255,255,255,.92);--neu-dark:rgba(164,174,188,.43);--neu-raised:-7px -7px 14px var(--neu-light),7px 7px 14px var(--neu-dark);--neu-raised-soft:-4px -4px 10px rgba(255,255,255,.88),4px 4px 10px rgba(164,174,188,.34);--neu-pressed:inset 5px 5px 10px rgba(111,145,185,.20),inset -5px -5px 10px rgba(255,255,255,.72),4px 6px 13px rgba(132,153,180,.22)}
body{background:var(--neu-page);color:var(--neu-ink)}.booking-top{background:var(--neu-page);box-shadow:0 6px 16px rgba(164,174,188,.24);backdrop-filter:none}
.booking-widget,.widget-button,.widget-service,.widget-date,.widget-time,.widget-dialog,.widget-calendar-head button,.booking-widget input,.booking-widget textarea,.booking-widget select{border:0!important;background:var(--neu-surface)!important;background-image:none!important;box-shadow:var(--neu-raised)!important;backdrop-filter:none!important;color:var(--neu-ink);text-shadow:none!important}
.booking-widget{border-radius:22px}.widget-button,.widget-service,.widget-time,.booking-widget input,.booking-widget textarea,.booking-widget select{border-radius:18px}
.booking-widget-grid.no-boundaries .booking-widget{background:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.widget-service.selected,.widget-date.selected,.widget-time.selected,.widget-button.dark,.widget-dialog .selected{border:0!important;background:linear-gradient(145deg,var(--neu-blue-light),var(--neu-blue))!important;color:var(--neu-ink)!important;box-shadow:var(--neu-pressed)!important;text-shadow:none!important}.widget-service.selected small,.widget-date.selected small{color:#52677f!important}.widget-value,.widget-service small,.widget-date small,.widget-progress{color:var(--neu-muted)}.page-dots button[aria-current=step]::after{background:#8dbce9}
.widget-date:not(.selected),.widget-date:not(.selected):hover{background:transparent!important;box-shadow:none!important}.widget-date.selected{border-radius:50%!important;color:var(--neu-ink)!important}
.widget-button:active,.widget-service:active,.widget-date:active,.widget-time:active,.widget-calendar-head button:active{transform:translateY(1px)}

/* Beta public booking: quiet header, image backgrounds and icon-led paging. */
.booking-top{min-height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;background:rgba(238,241,245,.94);box-shadow:0 6px 16px rgba(164,174,188,.24)}.booking-brand{grid-column:2;color:var(--neu-ink);font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;letter-spacing:.08em;text-decoration:none}.booking-account{grid-column:3;justify-self:end;min-height:38px;display:grid;place-items:center;padding:0 14px;border-radius:16px;background:var(--neu-surface);box-shadow:var(--neu-raised-soft);color:var(--neu-ink);font-size:12px;text-decoration:none}.has-booking-background{background-position:center;background-size:cover;background-attachment:fixed}.has-booking-background .booking-top{background:rgba(238,241,245,.76)}.widget-progress{justify-content:center;margin-bottom:13px}.page-dots button[aria-current=step]::after{background:var(--stylist-accent,var(--neu-blue))}.booking-widget-grid.surface-clear .booking-widget{background:transparent!important;box-shadow:none!important}.booking-widget-grid.surface-soft .booking-widget{background:rgba(238,241,245,.82)!important}.booking-widget-grid.surface-solid .booking-widget{background:var(--neu-surface)!important}.service-choice-icon{width:25px;height:25px;display:grid;place-items:center;float:left;margin-right:8px;border-radius:50%;background:rgba(255,255,255,.4);font-size:13px}.widget-service>span:first-child{min-width:0}.widget-service>span:last-child{flex:0 0 auto}.widget-contact{grid-template-columns:1fr}.widget-nav{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;min-height:56px}.widget-nav>span:first-child:last-child{display:none}.widget-arrow{width:48px;height:48px;border:0;border-radius:16px;background:var(--neu-surface);box-shadow:var(--neu-raised);font-size:30px;line-height:1}.page-count{justify-self:center;color:var(--neu-muted);font-size:11px}.slot-loading{display:grid;place-items:center;min-height:80px;color:var(--neu-muted);font-size:12px;text-align:center}.confirm-summary{display:grid;gap:10px}.confirm-summary p{display:flex;justify-content:space-between;gap:14px;margin:0;padding:12px 14px;border-radius:17px;background:var(--neu-surface);box-shadow:var(--neu-raised-soft);font-size:12px}.confirm-summary span{color:var(--neu-muted)}.consent-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:9px!important;margin:8px 0}.consent-row input{width:20px!important;height:20px!important;min-height:0!important;box-shadow:none!important}.pay-action{justify-content:center;text-align:center}.test-payment{display:grid;gap:10px;text-align:center}.test-payment>span{justify-self:center;padding:5px 9px;border-radius:10px;background:var(--neu-surface);box-shadow:var(--neu-raised-soft);color:var(--neu-muted);font-size:10px}.test-payment p{margin:0;color:var(--neu-muted);font-size:12px}.test-payment strong{font-size:24px!important}.success-mark{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:linear-gradient(145deg,var(--neu-blue-light),var(--stylist-accent,var(--neu-blue)));box-shadow:var(--neu-pressed);font-size:24px}.success-eyebrow{margin-bottom:5px!important;color:var(--neu-muted)!important;font-size:11px!important}.order-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;margin:24px 0;padding:18px;border-radius:22px;background:var(--neu-surface);box-shadow:var(--neu-raised)}.order-card span{grid-column:1/-1;color:var(--neu-muted);font-size:11px}.order-card strong{font-family:"Libre Baskerville",serif;letter-spacing:.06em}.order-card button{min-height:36px;padding:0 12px;border:0;border-radius:14px;background:var(--neu-surface);box-shadow:var(--neu-raised-soft)}.account-cta{text-decoration:none;text-align:center;justify-content:center}.widget-finished{max-width:460px;margin:auto}.widget-finished>p{font-size:13px}.widget-dialog{background:var(--neu-page)!important}.widget-dialog::backdrop{background:rgba(36,40,45,.3)}
@media(max-width:380px){.booking-top{padding:0 12px}.booking-account{padding:0 11px}.booking-widget{padding:10px}.widget-service{padding:7px}.widget-service small{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.booking-widget,.widget-button,.widget-service,.widget-date,.widget-time,.widget-arrow{transition:none!important;animation:none!important}}
