/* Shared frame is intentionally independent of the selected booking palette. */
.wb-page .wb-root{--wb-frame-edge:rgba(205,166,90,.52);--wb-frame-outer:rgba(205,166,90,.36);--wb-frame-height:min(800px,calc(100svh - 110px))}
.wb-page .wb-root .walkin-booking-experience__intro,.wb-page .wb-root .walkin-booking-experience__welcome-inner{width:100%;max-width:none}
.wb-page .wb-root .wb-app,.wb-page .wb-root .walkin-booking-experience__welcome-inner{height:var(--wb-frame-height);min-height:540px;border:1px solid var(--wb-frame-edge);border-radius:12px;outline:1px solid var(--wb-frame-outer);outline-offset:4px;box-shadow:0 22px 65px #16030255;overflow:hidden}
.wb-page .wb-root .walkin-booking-experience__welcome-inner{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr)}
.wb-page .wb-root .walkin-booking-experience__notice{border:0;border-right:1px solid var(--wb-frame-edge);overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#cda65a66 transparent}
.wb-page .wb-root .walkin-booking-experience__letter{border:0;min-height:0;overflow:hidden}
.wb-page .wb-root .walkin-booking-experience__prose{flex:1;overflow:auto;min-height:0;columns:auto;scrollbar-width:thin;scrollbar-color:#cda65a66 transparent;padding-right:12px}
.wb-page .wb-root .walkin-booking-experience__wizard-actions{flex-shrink:0;margin-top:22px;padding-top:16px;border-top:1px solid #cda65a44}
.wb-root .wb-duration{margin:0;padding:20px 24px;border-top:1px solid var(--wb-line);grid-template-columns:minmax(140px,.8fr) minmax(0,1.2fr);gap:20px;background:var(--wb-soft);border-radius:0 0 8px 8px}
.wb-root .wb-duration h4{font-size:16px;margin:0 0 5px!important}.wb-root .wb-duration p{font-size:11px}
.wb-root .wb-duration-options{gap:8px}.wb-root .wb-duration-options label{min-width:110px;padding:12px;transition:background .18s,border-color .18s}
.wb-root .wb-duration-options label:has(input:focus-visible){outline:2px solid var(--wcal-gold);outline-offset:2px}
.wb-root .wb-service-card .wb-image-preview{top:130px;bottom:auto}
.wb-root .wb-services--gallery .wb-image-preview{top:18px}
.wb-root .wb-services--gallery .wb-duration{display:block;padding:16px}.wb-root .wb-services--gallery .wb-duration-options{margin-top:14px}
.wb-root[data-skin]:not([data-skin=brand]){--wb-line:color-mix(in srgb,var(--wcal-gold) 34%,transparent);--wb-soft:color-mix(in srgb,var(--wcal-gold) 7%,var(--wcal-surface))}
.wb-root[data-skin]:not([data-skin=brand]) .wb-main{position:relative;isolation:isolate;background:var(--wcal-surface)}
.wb-root[data-skin]:not([data-skin=brand]) .wb-main:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(images/tarot-booking-atmosphere-v1.png) center/cover no-repeat;opacity:var(--wcal-art-alpha,.14)}
.wb-root[data-skin]:not([data-skin=brand]) .wb-main:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(images/miaoling-surface-20260827.webp) center/cover no-repeat;opacity:calc(var(--wcal-art-alpha,.14)*.6);mix-blend-mode:screen}
.wb-root[data-skin]:not([data-skin=brand]) :is(input:not([type=radio]):not([type=checkbox]),select,textarea){color-scheme:dark}
.wb-root[data-skin]:not([data-skin=brand]) .wb-service-card{background:color-mix(in srgb,var(--wcal-input) 91%,transparent)}
.wb-root[data-skin]:not([data-skin=brand]) .wb-primary{box-shadow:inset 0 1px 0 #fff6,0 4px 16px #13030144}
.wb-root[data-skin]:not([data-skin=brand]) .wb-calendar-panel{background:color-mix(in srgb,var(--wcal-input) 93%,transparent)}
.wb-root[data-skin]:not([data-skin=brand]) :is(button,a,input,select,textarea):focus-visible{outline-color:var(--wcal-gold)}
/* Star paths: engraved corners, a radial halo, measured horizontal cards. */
.wb-root[data-skin=celestial] .wb-main{background:radial-gradient(ellipse at 65% 12%,#84552b28,transparent 58%),var(--wcal-surface)}
.wb-root[data-skin=celestial] .wb-main:before{background-position:70% 20%;background-size:auto 120%;opacity:calc(var(--wcal-art-alpha)*1.15)}
.wb-root[data-skin=celestial] .wb-service-card{border-radius:0;clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));border-color:var(--wcal-gold);box-shadow:inset 0 0 0 5px var(--wcal-surface),inset 0 0 0 6px var(--wb-line)}
.wb-root[data-skin=celestial] .wb-service{padding:18px;gap:24px}.wb-root[data-skin=celestial] .wb-cover{border-radius:50%;border:1px solid var(--wcal-gold);padding:4px;background:#270b08}
.wb-root[data-skin=celestial] .wb-panel-heading{padding-bottom:22px;border-bottom:1px solid var(--wb-line);position:relative}.wb-root[data-skin=celestial] .wb-panel-heading:after{content:"✧";position:absolute;bottom:-14px;right:20px;color:var(--wcal-gold);background:var(--wcal-surface);padding:0 15px;font:24px Georgia}
.wb-root[data-skin=celestial] .wb-step-number{outline:1px solid var(--wb-line);outline-offset:4px}.wb-root[data-skin=celestial] .wb-sidebar-brand{padding:12px 0 24px;border-bottom:1px solid var(--wb-line)}
/* Arcana: framed tarot folios arranged as a gallery, with full original artwork. */
.wb-root[data-skin=arcana] .wb-main:before{background-position:left bottom;background-size:auto 115%}

.wb-root[data-skin=arcana] .wb-service-card{padding:8px;border-radius:2px;border:1px solid var(--wcal-gold);box-shadow:inset 0 0 0 4px var(--wcal-surface),0 6px 18px #1d070966}


.wb-root[data-skin=arcana] .wb-service-content>strong{font-size:23px}.wb-root[data-skin=arcana] .wb-category{letter-spacing:3px}

.wb-root[data-skin=arcana] .wb-panel-heading{border-left:2px solid var(--wcal-gold);padding-left:20px}.wb-root[data-skin=arcana] .wb-step-list button{border-radius:0}
/* Salon: warm copper, rounded portrait frames and fine typographic rules. */
.wb-root[data-skin=velvet] .wb-main{background:radial-gradient(ellipse at 100% 0,#a05e3838,transparent 60%),var(--wcal-surface)}
.wb-root[data-skin=velvet] .wb-main:before{background-position:right center;background-size:auto 135%}
.wb-root[data-skin=velvet] .wb-service-card{border-radius:20px 4px 20px 4px;box-shadow:0 8px 24px #16050344;overflow:hidden}
.wb-root[data-skin=velvet] .wb-service{padding:18px;gap:30px}.wb-root[data-skin=velvet] .wb-cover{border-radius:80px 80px 6px 6px;border:1px solid var(--wcal-gold);padding:5px;background:#32100c}
.wb-root[data-skin=velvet] .wb-service-content>strong{font-size:25px;letter-spacing:2px}.wb-root[data-skin=velvet] .wb-panel-heading{display:grid;grid-template-columns:1fr;gap:5px;padding-left:24px;border-left:1px solid var(--wcal-gold)}
.wb-root[data-skin=velvet] .wb-sidebar{background:linear-gradient(160deg,#8c513f18,transparent 60%),var(--wcal-sidebar)}
.wb-root[data-skin=velvet] .wb-step-list .is-active button{border-radius:16px 3px 16px 3px}.wb-root[data-skin=velvet] .wb-duration{border-radius:0}
@media(max-width:1100px){.wb-root .wb-duration{grid-template-columns:1fr;padding:18px}.wb-root .wb-service-card .wb-image-preview{top:108px}}
@media(max-width:900px){.wb-page .wb-root .walkin-booking-experience__welcome-inner{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr)}.wb-page .wb-root .walkin-booking-experience__notice,.wb-page .wb-root .walkin-booking-experience__letter{padding:24px}.wb-page .wb-root .walkin-booking-experience__notice h3{font-size:34px}}
@media(max-width:760px){
 .wb-page .wb-root{--wb-frame-height:min(800px,calc(100svh - 100px))}
 .wb-page .wb-root .wb-app{display:flex;flex-direction:column;min-height:580px}.wb-root .wb-sidebar{flex-shrink:0}.wb-root .wb-main{flex:1;min-height:0}.wb-root .wb-view{min-height:0;max-height:none}.wb-root .wb-actions{flex-wrap:wrap;padding:12px 16px;gap:8px}
 .wb-page .wb-root .walkin-booking-experience__welcome-inner{display:flex;flex-direction:column;min-height:580px}
 .wb-page .wb-root .walkin-booking-experience__notice{flex:none;max-height:33%;padding:18px 22px;border-right:0;border-bottom:1px solid var(--wb-frame-edge)}
 .wb-page .wb-root .walkin-booking-experience__notice h3{font-size:26px;margin:0 0 10px}.wb-page .wb-root .walkin-booking-experience__notice .walkin-booking-experience__eyebrow{font-size:9px;margin-bottom:8px}.wb-page .wb-root .walkin-booking-experience__notice li{padding:9px 0;font-size:12px;gap:5px;grid-template-columns:24px 1fr}.wb-page .wb-root .walkin-booking-experience__notice:after{display:none}
 .wb-page .wb-root .walkin-booking-experience__letter{flex:1;padding:20px 22px}.wb-page .wb-root .walkin-booking-experience__letter h3{font-size:34px;margin:0 0 15px}.wb-page .wb-root .walkin-booking-experience__letter .walkin-booking-experience__eyebrow{font-size:9px;margin-bottom:10px}.wb-page .wb-root .walkin-booking-experience__prose p{font-size:15px}.wb-page .wb-root .walkin-booking-experience__wizard-actions{margin-top:12px;padding-top:12px}
 .wb-root .wb-footer-summary{display:grid;width:100%;margin:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.wb-root .wb-footer-summary span{font-size:11px}.wb-root .wb-footer-summary strong{font-size:13px}.wb-root .wb-actions>button{flex:1;min-height:42px}
 .wb-root[data-skin=celestial] .wb-service,.wb-root[data-skin=velvet] .wb-service{padding:12px;gap:15px}.wb-root[data-skin=arcana] .wb-service-content>strong{font-size:19px}.wb-root[data-skin=velvet] .wb-service-content>strong{font-size:20px}
}
@media(max-width:480px){.wb-root .wb-service-card .wb-image-preview{top:90px}.wb-root .wb-duration{padding:16px}.wb-root .wb-duration-options label{min-width:100px}.wb-root[data-skin=celestial] .wb-panel-heading,.wb-root[data-skin=velvet] .wb-panel-heading{padding-bottom:14px;margin-bottom:20px}}
.wb-root .wb-sidebar{scrollbar-color:var(--wcal-gold) var(--wcal-sidebar)}
.wb-root .wb-sidebar::-webkit-scrollbar{width:4px}.wb-root .wb-sidebar::-webkit-scrollbar-thumb{background:var(--wcal-gold)}
@media(min-width:481px){.wb-root[data-skin=arcana] .wb-service-content>strong{font-size:20px}}

.wb-root[data-skin=arcana] .wb-cover{border-radius:70px 70px 2px 2px;border:1px solid var(--wb-line)}
