.tss-board{--b-free:var(--tss-sage);--b-busy:var(--tss-clay);--b-line:var(--tss-line);max-width:1120px;margin-block:1.25rem 2rem;font-size:1rem}.tss-board button{font-family:inherit}.tss-board :focus-visible{outline:3px solid var(--tss-brass-deep);outline-offset:2px}.b-nojs{background:var(--tss-sage-mist);border:1px solid var(--b-line);margin:0 0 18px;padding:16px}.b-nojs p{margin:0 0 8px}.b-nojs p:last-child{margin:0}.b-filters{gap:14px;margin-bottom:18px;display:grid}.b-filter{min-width:0}.b-label{letter-spacing:.12em;text-transform:uppercase;color:var(--tss-brass-text);margin:0 0 6px;font-size:.8125rem;font-weight:700}.b-chips{flex-wrap:wrap;gap:8px;display:flex}.b-chips button{border:1.5px solid var(--tss-ink);min-height:48px;color:var(--tss-ink);cursor:pointer;text-align:left;background:#fff;border-radius:2px;padding:8px 14px;font-size:.9375rem;font-weight:700;line-height:1.15}.b-chips button span{font-size:.8125rem;font-weight:500;display:block}.b-chips button[aria-pressed=true]{background:var(--tss-ink);color:#fff}.b-result:empty{display:none}.b-result{color:var(--tss-body);margin:2px 0 0;font-size:.9375rem}.b-result button{color:var(--tss-ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;min-height:44px;margin-left:4px;padding:6px 2px;font-weight:700;text-decoration:underline}.b-main{display:block}.b-cal{border:1px solid var(--b-line);background:#fff;padding:12px}.b-nav{align-items:center;gap:8px;display:flex}.b-navbtn{border:1px solid var(--b-line);cursor:pointer;width:48px;height:48px;color:var(--tss-ink);background:#fff;font-size:1.5rem;line-height:1}.b-navbtn:disabled{opacity:.35;cursor:default}.b-month{flex:1}.b-month select{border:1px solid var(--b-line);width:100%;height:48px;font:700 1.0625rem var(--tss-serif);color:var(--tss-ink);background:#fff;padding:0 10px}.b-legend{color:var(--tss-body);gap:14px;margin:10px 2px 6px;font-size:.8125rem;display:flex}.b-legend span{align-items:center;gap:6px;display:inline-flex}.sw{width:14px;height:10px;display:inline-block}.sw.free{background:var(--b-free)}.sw.busy{background:var(--b-busy)}.sw.shut,.b-seg.shut{background:repeating-linear-gradient(135deg,#ede8e0 0 3px,#fff 3px 6px)}.b-loading,.b-empty{color:var(--tss-body);margin:18px 4px}.b-fresh{color:var(--tss-body);margin:8px 2px 0;font-size:.8125rem}.b-bar8{background:var(--b-free);height:8px;display:block;position:relative;overflow:hidden}.b-seg{position:absolute;top:0;bottom:0}.b-seg.busy{background:var(--b-busy)}.b-list{margin:8px 0 0;padding:0;list-style:none}.b-list>li{border-top:1px solid var(--b-line)}.b-day{text-align:left;cursor:pointer;width:100%;min-height:64px;color:var(--tss-ink);background:0 0;border:0;grid-template-columns:52px 1fr;align-items:center;gap:4px 12px;padding:10px 4px;display:grid}.b-day:hover{background:var(--tss-ivory)}.b-day[aria-pressed=true]{background:var(--tss-sage-mist);box-shadow:inset 4px 0 0 var(--tss-sage-deep)}.b-date{text-align:center;grid-row:span 2;line-height:1.1}.b-date b{font:700 1.375rem var(--tss-serif);display:block}.b-date small{letter-spacing:.08em;text-transform:uppercase;color:var(--tss-brass-text);font-size:.75rem;font-weight:700}.b-txt{justify-content:space-between;gap:8px;font-size:.9375rem;display:flex}.b-txt>span:first-child{min-width:0}.b-txt .p{color:var(--tss-body);white-space:nowrap}.b-tag{background:var(--tss-ink);color:#fff;letter-spacing:.06em;text-transform:uppercase;vertical-align:2px;white-space:nowrap;margin-left:6px;padding:1px 6px;font-size:.6875rem;font-weight:700;display:inline-block}.b-day.full,.b-day.nomatch{color:var(--tss-body)}.b-day.full{cursor:default;min-height:48px}.b-day.full:hover{background:0 0}.b-day.nomatch .b-txt span:first-child:after{content:" · not at that time"}.b-more{border:1.5px solid var(--tss-ink);width:100%;min-height:52px;color:var(--tss-ink);cursor:pointer;background:#fff;border-radius:2px;margin-top:8px;font-size:1rem;font-weight:700;display:block}.b-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px;display:grid}.b-wd{letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--tss-body);padding:4px 0;font-size:.75rem;font-weight:700}.b-cell{border:1px solid var(--b-line);text-align:left;cursor:pointer;min-height:84px;color:var(--tss-ink);background:#fff;flex-direction:column;gap:6px;padding:8px;display:flex}.b-cell b{font:700 1.0625rem var(--tss-serif)}.b-cell .s{font-size:.8125rem;line-height:1.25}.b-cell:hover{border-color:var(--tss-ink)}.b-cell[aria-pressed=true]{border:2px solid var(--tss-sage-deep);background:var(--tss-sage-mist)}.b-cell.full,.b-cell.closed{background:var(--tss-ivory);color:var(--tss-body);cursor:default}.b-cell.nomatch{background:var(--tss-ivory);color:var(--tss-body);border-style:dashed}.b-cell.nomatch .b-bar8{opacity:.45}.b-cell.past,.b-cell.out{cursor:default;color:#a39c91;background:0 0;border:0;min-height:0;padding:4px 8px;font-size:.875rem}.b-panel{border:1px solid var(--b-line);border-top:4px solid var(--tss-sage-deep);background:#fff;margin:0;padding:16px}.b-panel:focus{outline:none}.b-list .b-panel{margin:0 0 12px}.tss-board .b-panel h3{font:700 1.375rem/1.25 var(--tss-serif);margin:0}.b-panel h3:focus{outline:none}.b-meta{color:var(--tss-body);margin:4px 0 12px;font-size:.9375rem}.b-note{color:var(--tss-body);margin:-4px 0 12px;font-size:.875rem}.b-tl{margin:6px 0 26px;position:relative}.b-tl .b-bar8{height:30px}.b-tl .b-seg.busy{color:#fff;white-space:nowrap;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;overflow:hidden}.b-ticks{height:16px;color:var(--tss-body);font-size:.75rem;position:absolute;top:34px;left:0;right:0}.b-ticks span{white-space:nowrap;position:absolute;transform:translate(-50%)}.b-ticks span:first-child{transform:none}.b-ticks span:last-child{transform:translate(-100%)}.b-wins{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.b-wins p{width:100%;margin:0;font-weight:700}.b-win{border:1.5px solid var(--tss-sage-deep);min-height:48px;color:var(--tss-ink);cursor:pointer;text-align:left;background:#fff;border-radius:2px;padding:8px 14px;font-size:.9375rem;font-weight:700}.b-win span{font-size:.8125rem;font-weight:500;display:block}.b-win[aria-pressed=true]{background:var(--tss-sage-deep);color:#fff}.b-times{grid-template-columns:1fr 1fr;gap:12px;display:grid}.b-times label{letter-spacing:.1em;text-transform:uppercase;min-width:0;color:var(--tss-brass-text);gap:4px;font-size:.8125rem;font-weight:700;display:grid}.b-times select{border:1.5px solid var(--tss-ink);width:100%;min-width:0;height:50px;font:600 1rem var(--wp--preset--font-family--montserrat);color:var(--tss-ink);background:#fff;border-radius:2px;padding:0 10px}.b-hint{margin:10px 0 14px;font-size:.9375rem}.b-price{background:var(--tss-ivory);margin:0 0 14px;padding:12px 14px}.tss-board .b-total{font:700 1.5rem/1.2 var(--tss-serif);margin:0}.b-price p{margin:4px 0 0;font-size:.9375rem}.b-price details{margin-top:6px;font-size:.875rem}.b-price summary{cursor:pointer;text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:flex}.b-price ul{margin:6px 0 0;padding-left:1.1em}.b-go{letter-spacing:.06em;width:100%;line-height:1.3}.b-next{color:var(--tss-body);text-align:center;margin:8px 0 0;font-size:.875rem}.b-sum{text-align:center;margin:0 0 8px;font-size:1rem;font-weight:700}.b-nudge{background:var(--tss-sage-mist);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 14px;padding:10px 12px;font-size:.9375rem;display:flex}.b-nudge button{border:1.5px solid var(--tss-sage-deep);min-height:44px;color:var(--tss-ink);font:700 .9375rem var(--wp--preset--font-family--montserrat);cursor:pointer;background:#fff;border-radius:2px;padding:0 14px}.b-code{margin:-4px 0 14px;font-size:.875rem}.b-code summary{cursor:pointer;min-height:44px;color:var(--tss-body);text-underline-offset:3px;align-items:center;text-decoration:underline;display:flex}.b-code__btn{font-family:var(--wp--preset--font-family--montserrat);font-size:.9375rem}.b-phead{align-items:center;gap:4px;display:flex}.b-phead h3{flex:1}.b-icon{width:44px;height:44px;color:var(--tss-ink);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;display:none}.b-icon svg{width:22px;height:22px;margin:auto;display:block}.b-icon:disabled{opacity:.3;cursor:default}.b-sheet{width:100%;max-width:100%;max-height:92dvh;color:var(--tss-ink);background:#fff;border:0;border-radius:14px 14px 0 0;margin:0;padding:0;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -12px 40px -12px #3d2e1e59}.b-sheet[open]{flex-direction:column;animation:.28s cubic-bezier(.16,1,.3,1) b-up;display:flex}.b-sheet::backdrop{background:#1c16108c}@keyframes b-up{0%{opacity:.6;transform:translateY(24px)}}.b-sheet .b-panel{border:0;flex-direction:column;flex:auto;min-height:0;margin:0;padding:0;display:flex}.b-sheet .b-phead{border-bottom:1px solid var(--b-line);padding:10px 6px 6px 16px}.b-sheet .b-phead:before{content:"";background:var(--b-line);border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:6px;left:50%}.b-sheet .b-icon{display:block}.tss-board .b-sheet .b-phead h3{font-size:1.25rem;line-height:1.2}.b-sheet .b-next{margin-top:6px;font-size:.8125rem}.b-sheet .b-pbody{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 16px 4px;overflow-y:auto}.b-sheet .b-pfoot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--b-line);background:#fff}html.b-locked{overflow:hidden}.b-code__row{gap:8px;display:flex}.b-code__row input{border:1.5px solid var(--tss-ink);min-width:0;height:48px;font:600 1rem var(--wp--preset--font-family--montserrat);text-transform:uppercase;letter-spacing:.06em;border-radius:2px;flex:1;padding:0 12px}.b-code__btn{border:1.5px solid var(--tss-ink);min-height:48px;color:var(--tss-ink);cursor:pointer;background:#fff;border-radius:2px;padding:0 18px;font-weight:700}.b-code__msg{margin:6px 0 0}.b-code__msg:empty{display:none}.b-code__msg.good{color:var(--tss-sage-deep);font-weight:700}.b-code__msg.bad{color:#8a2e1f;font-weight:700}.b-err{color:#8a2e1f;margin:10px 0 0;font-weight:700}.b-err:empty{display:none}.b-co{padding:0}.b-back{min-height:44px;color:var(--tss-ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px 0;font-weight:700;text-decoration:underline}.tss-board .b-co h3{font:700 clamp(1.5rem, 1.2rem + 1.4vw, 2.125rem)/1.2 var(--tss-serif);margin:6px 0 8px}.b-co h3:focus{outline:none}.b-ok{color:var(--tss-sage-deep);margin:0 0 12px;font-weight:700}.b-steps{background:var(--tss-sage-mist);border-left:4px solid var(--tss-sage-deep);margin:0 0 16px;padding:14px 16px 14px 2.2em;line-height:1.55}.b-steps li+li{margin-top:6px}.b-steps .t{white-space:nowrap;border:1px solid var(--tss-sage-deep);background:#fff;padding:0 4px}.b-help{margin:12px 0 0;font-size:.9375rem}.b-widget{min-height:640px;margin-top:0}.tss-board .b-remind{z-index:40;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--tss-ink);text-align:center;box-shadow:var(--tss-shadow);border-radius:2px;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:4px 4px 4px 14px;font-size:.9375rem;font-weight:700;display:flex;position:fixed;color:#fff!important}.b-remind[hidden]{display:none!important}.b-remind button{color:#fff;cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;font-size:1.5rem}@media (width>=860px){.b-filters{grid-template-columns:auto auto;justify-content:start;column-gap:32px}.b-result{grid-column:1/-1}.b-main{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px;display:grid}.b-side .b-panel{position:sticky;top:90px}.b-side:empty:before{content:"Pick a date to see the hours still available and what it costs.";border:1px dashed var(--b-line);color:var(--tss-body);padding:20px;display:block}.b-remind{display:none!important}}@media (width<=859px){.b-chips{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.b-chips::-webkit-scrollbar{display:none}.b-chips button{flex:none}.b-chips:not(.at-end){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}.b-filters{gap:10px;margin-bottom:12px}}@media (width<=400px){.b-ticks .m{display:none}}@media (width<=360px){.b-chips button{padding:8px 10px;font-size:.875rem}.b-times{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tss-board *{scroll-behavior:auto!important}}
