.tk-week{--wk-accent:var(--tk-action,var(--tko-accent,#27647c));--wk-wash:var(--tk-wash,#eef5f6);color:var(--tk-ink,#25343d);border:1px solid #bdcbd2;border-radius:16px;background:#fff;padding:clamp(12px,2vw,24px);margin:20px 0;min-width:0;scroll-margin-top:20px}
.tk-week-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.tk-week h3{font:650 clamp(18px,2vw,23px)/1.4 system-ui,sans-serif;margin:0}.tk-week-nav,.tk-week-scroll-controls,.tk-week-jump{display:flex;gap:6px}.tk-week button{font:600 14px/1.4 system-ui,sans-serif;min-height:44px;padding:8px 12px;border:1px solid #92a8b3;border-radius:8px;background:#fff;color:inherit;cursor:pointer}.tk-week button:hover{background:var(--wk-wash)}.tk-week :focus-visible{outline:3px solid var(--wk-accent);outline-offset:3px}.tk-week button:disabled{cursor:wait;opacity:.6}
.tk-week-note{font:500 15px/1.5 system-ui,sans-serif;min-height:23px;margin:14px 0 8px}.tk-week-legend{font:400 12px/1.5 system-ui,sans-serif;color:#4b626d;margin:8px 0 16px}.tk-week-days{display:flex;gap:8px;overflow-x:auto;padding:3px 3px 12px;scroll-snap-type:x proximity;scrollbar-width:auto;scrollbar-color:var(--wk-accent) #e4ebee;overscroll-behavior-x:contain}.tk-week-day{flex:1 0 140px;min-width:0;scroll-snap-align:start;border:1px solid #ccd8dc;border-radius:10px;overflow:hidden;background:#f8fafb}.tk-week h4{font:650 15px/1.4 system-ui,sans-serif;text-align:center;margin:0;padding:14px 4px 4px;background:var(--wk-wash)}.tk-week-opening{font:400 12px/1.5 system-ui,sans-serif;text-align:center;margin:0;padding:0 0 7px;background:var(--wk-wash)}.tk-week-scroll-controls{justify-content:space-between;padding:4px 8px;background:var(--wk-wash)}.tk-week-scroll-controls button{padding:4px 12px;min-width:44px}
.tk-week-times{height:330px;overflow-y:scroll;overscroll-behavior-y:contain;scrollbar-width:auto;scrollbar-color:var(--wk-accent) #dce6eb;scrollbar-gutter:stable;padding:5px;display:flex;flex-direction:column;gap:4px}.tk-week-times::-webkit-scrollbar{width:12px}.tk-week-times::-webkit-scrollbar-track{background:#dce6eb}.tk-week-times::-webkit-scrollbar-thumb{background:var(--wk-accent);border:2px solid #dce6eb;border-radius:8px}.tk-week-times .tk-week-free{display:block;flex:none;width:100%;text-align:left;font-size:13px;border-color:var(--wk-accent);background:var(--wk-wash)}.tk-week-free[aria-pressed=true]{background:var(--wk-accent);color:#fff}.tk-week-unavailable{font:400 11px/1.5 system-ui,sans-serif;min-height:44px;padding:8px 6px;box-sizing:border-box;color:#5b6b73;background:repeating-linear-gradient(135deg,#f2f5f6,#f2f5f6 5px,#e9eef0 5px,#e9eef0 6px);border-radius:6px}.tk-week-day[data-state=neutral] .tk-week-unavailable{background:#f3f6f7}.tk-week-jump{overflow-x:auto;margin-bottom:10px;padding:3px;display:none}.tk-service-tabs{display:flex;gap:8px;overflow-x:auto;flex-wrap:wrap;padding:4px;margin:10px 0}.tk-service-tabs button{font:600 15px/1.4 system-ui,sans-serif;min-height:48px;padding:10px 16px;cursor:pointer;border:1px solid #92a8b3;border-radius:24px;background:#fff;color:var(--tk-ink,#25343d)}.tk-service-tabs button[aria-pressed=true]{background:var(--tk-action,var(--tko-accent,#27647c));color:#fff}.tk-service-tabs button:focus-visible{outline:3px solid var(--tk-action,#27647c);outline-offset:3px}.tk-week-provider{margin:12px 0}.tk-week-provider select{max-width:460px}.tk-week-instruction{font:650 18px/1.5 system-ui,sans-serif;margin:16px 0 8px}.tk-week-config{padding:16px;border:1px solid #c4d2d9;border-radius:12px;background:#f4f8f9;margin:16px 0}.tk-week-config p{margin:7px 0}
[data-tk-week-active] .tk-booking-aside{display:none}[data-tk-week-active] #wizard-frame-1 .frame-content{grid-template-columns:1fr!important}[data-tk-week-active] #wizard-frame-1 .command-buttons{display:none!important}[data-tk-week-active] #wizard-frame-2 .frame-content{display:none!important}[data-tk-week-active] #wizard-frame-2 .frame-title{font-size:19px!important}[data-tk-week-active] .tk-week-ea{margin:0 24px 22px}
@media(max-width:600px){.tk-week-day{flex:0 0 165px}.tk-week-jump{display:flex}.tk-week-times{height:310px}.tk-week-nav{width:100%;justify-content:space-between}.tk-week{padding:12px;border-radius:12px}[data-tk-week-active] .tk-week-ea{margin:0 10px 16px}.tk-service-tabs{flex-wrap:nowrap}.tk-service-tabs button{flex:none;max-width:240px}.tk-week h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.tk-week *{scroll-behavior:auto!important}}
/* Keep the shared account/company theme's generic primary-button rules from painting every free cell. */
body[data-tk-ui] .tk-week button{background:#fff!important;color:var(--tk-ink,#25343d)!important;border-color:#92a8b3!important}
body[data-tk-ui] .tk-week .tk-week-free{background:var(--wk-wash)!important;color:var(--tk-ink,#25343d)!important;border-color:var(--wk-accent)!important}
body[data-tk-ui] .tk-week .tk-week-free[aria-pressed=true]{background:var(--wk-accent)!important;color:#fff!important}
/* A real catalogue may have dozens of treatments: never push the first week behind a wall of tabs. */
.tk-service-tabs{flex-wrap:nowrap!important;scrollbar-width:auto;scrollbar-color:var(--tk-action,#27647c) #e4ebee;padding-bottom:10px}.tk-service-tabs button{flex:0 0 auto;max-width:260px;font-size:14px;min-height:44px}
.tk-week-appearance{margin:8px 0;font-size:13px}.tk-week-appearance>summary{cursor:pointer;min-height:32px;line-height:32px;text-align:right}.tk-week-appearance [data-tk-theme-picker]{margin:0!important;padding:8px!important}.tk-week-all-services,.tk-week-extras{margin:7px 0;font-size:14px}.tk-week-all-services>summary,.tk-week-extras>summary{cursor:pointer;min-height:32px;line-height:32px}.tk-week-all-services select{margin:8px 0!important}.tk-week-extras fieldset{margin:8px 0!important}.tk-week-extras fieldset legend{display:none}
[data-tk-week-active] #book-appointment-wizard #header{padding:14px 22px!important}[data-tk-week-active] #company-logo{width:120px!important;height:44px!important;max-height:44px!important;object-fit:contain}[data-tk-week-active] #company-name{gap:12px!important}[data-tk-week-active] .display-booking-selection{display:none!important}[data-tk-week-active] #steps{margin-top:8px!important;gap:6px!important}[data-tk-week-active] #book-appointment-wizard #steps .book-step{min-height:34px!important;padding:5px 8px!important;font-size:12px!important}[data-tk-week-active] .tk-step-label{font-size:12px!important}[data-tk-week-active] #steps strong{width:22px!important;height:22px!important;line-height:22px!important;font-size:12px!important}
[data-tk-week-active] #wizard-frame-1{padding:8px 22px 10px!important}[data-tk-week-active] #wizard-frame-1 .frame-title,[data-tk-week-active] #wizard-frame-1 label[for="tk-main-treatment"],[data-tk-week-active] #wizard-frame-1 label[for="select-service"]{display:none!important}[data-tk-week-active] #wizard-frame-1 .frame-container{padding:0!important}[data-tk-week-active] #wizard-frame-1 .frame-content{gap:8px!important}[data-tk-week-active] .tk-week-instruction{font:650 16px/1.4 system-ui,sans-serif!important;margin:6px 0!important}[data-tk-week-active] #tk-composition-summary{font-size:13px!important;line-height:1.4!important;padding:9px 12px!important;margin:8px 0!important}[data-tk-week-active] .tk-week-appearance{margin:4px 0 0!important}
body.glowmed .company-intro{padding:12px 0!important;gap:18px!important;margin:10px 0 16px!important}body.glowmed .company-intro h1{font-size:clamp(26px,3vw,36px)!important;line-height:1.15!important;margin:4px 0!important}body.glowmed .company-intro p{margin:5px 0!important}body.glowmed .company-intro figure{max-width:130px;margin:0!important;justify-self:end}body.glowmed .company-intro figure img{height:76px!important;object-fit:cover}body.glowmed #buchen .booking-top{padding:10px 16px!important;align-items:center!important;margin-bottom:10px!important}body.glowmed #buchen .booking-top p{display:none}body.glowmed #buchen .booking-top h2{font-size:24px!important;margin:0!important}body.glowmed #buchen .booking-top a{padding:8px 12px!important;min-height:44px!important}body.glowmed .tk-week-appearance{max-width:1200px;margin:4px auto!important}
@media(max-width:600px){[data-tk-week-active] #book-appointment-wizard #header{padding:12px!important}[data-tk-week-active] #wizard-frame-1{padding:6px 12px 8px!important}[data-tk-week-active] #steps .book-step{flex-direction:row!important}[data-tk-week-active] #steps{gap:3px!important}[data-tk-week-active] #steps strong{display:none!important}body.glowmed .company-intro{grid-template-columns:1fr!important}body.glowmed .company-intro figure{display:none}body.glowmed #buchen .booking-top h2{font-size:22px!important}.tk-week-appearance>summary{text-align:left}}
[data-tk-week-active] #header{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important}[data-tk-week-active] #company-name{flex:0 1 260px!important}[data-tk-week-active] #steps{flex:1 1 350px!important;margin:0!important}[data-tk-week-active] #header>.tk-week-appearance{flex:0 0 auto!important}
@media(max-width:600px){[data-tk-week-active] #company-name{flex:1 1 150px!important}[data-tk-week-active] #header>.tk-week-appearance{order:2}[data-tk-week-active] #steps{order:3;flex-basis:100%!important}}
body[data-tk-ui][data-tk-week-active] #book-appointment-wizard #header{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important}

/* Keep the original form fields for submission, while honoring the adapter visibility state. */
body.tko-booking-page #book [hidden]{display:none!important}

/* UI27: one full-width treatment picker, restrained status colors and quarter-hour rhythm. */
.tk-treatment-dropdown{display:block!important;width:100%!important;max-width:none!important;min-height:54px!important;margin:8px auto 12px!important;padding:12px 40px 12px 16px!important;font:500 16px/1.5 system-ui,sans-serif!important;border:1px solid #78939e!important;border-radius:8px!important;background-color:#fff!important;color:#25343d!important;text-align:left}.tk-treatment-picker{display:block;width:100%}.tk-treatment-dropdown:focus-visible{outline:3px solid var(--tk-action,#27647c);outline-offset:3px}.tk-week-instruction{text-align:center}.tk-extra-limit{font-size:13px;margin:6px 0}.tk-week-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tk-week-times{display:block;height:380px;padding:4px}.tk-week-quarter{display:flex;gap:3px;min-height:48px;padding:3px 0;border-bottom:1px solid #d9e3e5;align-items:stretch}.tk-week-quarter>.tk-week-free,.tk-week-quarter>.tk-week-unavailable{flex:1 1 0!important;min-width:0!important;min-height:44px!important;padding:10px 1px!important;font:600 12px/1.5 system-ui,sans-serif!important;text-align:center!important;white-space:nowrap}.tk-week-quarter>.tk-week-free{background:#e6f2e9!important;color:#264e38!important;border:1px solid #6d9a7b!important}.tk-week-quarter>.tk-week-unavailable{background:#f0e9e8;color:#746765;border:1px solid #e1d6d3;border-radius:6px}.tk-week-day[data-state=neutral] .tk-week-unavailable,.tk-week-day[data-state=loading] .tk-week-unavailable,.tk-week-day[data-state=error] .tk-week-unavailable{background:#f2f5f6;color:#62747c;border-color:#e0e7e9}.tk-week-quarter:has(>:only-child)>.tk-week-free,.tk-week-quarter:has(>:only-child)>.tk-week-unavailable{text-align:left!important;padding-left:10px!important}.tk-week-day{flex-basis:165px}.tk-week-free[aria-pressed=true],body[data-tk-ui] .tk-week .tk-week-free[aria-pressed=true]{background:#275d42!important;color:#fff!important}body[data-tk-ui] .tk-week .tk-week-free{background:#e6f2e9!important;color:#264e38!important;border-color:#6d9a7b!important}.tk-week-free:hover{box-shadow:inset 0 0 0 1px #356d48}.tk-week[data-state=choose-service] .tk-week-times{pointer-events:none}.tk-week-ea{margin-top:0!important}[data-tk-week-active] #wizard-frame-1 .tk-week-instruction{margin-top:3px!important}[data-tk-week-active] #tk-treatment-selection{width:100%}[data-tk-week-active] #wizard-frame-1 label[for="tk-main-treatment"]{display:none!important}
@media(max-width:600px){.tk-treatment-dropdown{font-size:16px!important}.tk-week-times{height:340px}.tk-week-day{flex-basis:175px}.tk-week-instruction{text-align:left}}

/* Day jump controls remain readable and scroll horizontally on narrow screens. */
.tk-week-jump button{flex:0 0 auto;white-space:nowrap}

/* Accessible mobile choices and shared light/dark palette. */
:root{--bc-bg:#fff;--bc-ink:#243b46;--bc-soft:#edf3f5;--bc-line:#718892;--bc-accent:#245d74;--bc-on:#fff;--bc-free:#e6f2e9;--bc-free-ink:#264e38;--bc-muted:#eee9e8;--bc-muted-ink:#635553}
.tk-choice{color:var(--bc-ink);background:var(--bc-bg);margin:16px 0;min-width:0}.tk-choice h2{font:700 1.4rem/1.35 system-ui,sans-serif;margin:0 0 12px}.tk-choice label{font-size:1rem}.tk-choice input[type=search]{width:100%;box-sizing:border-box;min-height:48px;padding:12px;border:1px solid var(--bc-line);background:var(--bc-bg);color:var(--bc-ink);border-radius:8px;margin:8px 0 16px}
.tk-choice-category{margin:10px 0;border:1px solid var(--bc-line);border-radius:12px;min-width:0}.tk-choice-category>summary{font:700 1.3rem/1.4 system-ui,sans-serif;background:var(--bc-soft);color:var(--bc-ink);padding:14px;cursor:pointer;overflow-wrap:anywhere;border-radius:11px}.tk-choice-list{padding:10px;display:grid;gap:10px}.tk-choice-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;padding:10px}
body .tk-choice-card{display:flex!important;gap:12px;align-items:center;min-height:60px;box-sizing:border-box;margin:0!important;padding:14px!important;border:2px solid var(--bc-line)!important;border-radius:10px;background:var(--bc-bg)!important;color:var(--bc-ink)!important;cursor:pointer;min-width:0;text-align:left}.tk-choice-card[hidden],.tk-choice-category[hidden]{display:none!important}.tk-choice-card[data-selected=true]{border-color:var(--bc-accent)!important;background:var(--bc-soft)!important;box-shadow:inset 0 0 0 1px var(--bc-accent)}.tk-choice-card input{accent-color:var(--bc-accent);width:22px!important;height:22px!important;min-height:0!important;flex:none;margin:0!important}.tk-choice-copy{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.tk-choice-copy strong{font:650 1rem/1.45 system-ui,sans-serif;color:inherit}.tk-choice-copy>span{font:400 .95rem/1.4 system-ui,sans-serif}.tk-choice-avatar,.tk-choice-card img{width:56px;height:56px;flex:none;border-radius:50%;object-fit:cover}.tk-choice-avatar{display:grid;place-items:center;background:var(--bc-soft);border:1px solid var(--bc-line);font-weight:700}.tk-choice-avatar[hidden]{display:none}.tk-choice :focus-visible,.tk-contact-start:focus-visible,.tk-mobile-summary:focus-visible{outline:3px solid var(--bc-accent)!important;outline-offset:3px}
body .tk-choice-source,body .tk-choice-source.tk-treatment-dropdown{display:none!important}.tk-contact-start,.tk-mobile-summary{scroll-margin-top:20px}.tk-mobile-summary{border:1px solid var(--bc-line);padding:16px;background:var(--bc-soft);color:var(--bc-ink);border-radius:12px;margin:16px 0}.tk-mobile-summary p{overflow-wrap:anywhere}.tk-mobile-summary button,.tk-show-times{min-height:48px;margin:6px 8px 6px 0;padding:12px 16px!important;white-space:normal!important}.tk-choice-note{font-size:1rem;line-height:1.5;margin:10px 0}.tk-show-times{width:100%}.tk-choice-pending{padding:16px;background:var(--bc-soft);color:var(--bc-ink)}
body .tk-week{background:var(--bc-bg);color:var(--bc-ink);--wk-wash:var(--bc-soft);--wk-accent:var(--bc-accent)}body[data-tk-ui] .tk-week button,.tk-week button{background:var(--bc-bg)!important;color:var(--bc-ink)!important;border-color:var(--bc-line)!important}body[data-tk-ui] .tk-week .tk-week-free,.tk-week .tk-week-free{background:var(--bc-free)!important;color:var(--bc-free-ink)!important;border-color:var(--bc-accent)!important}.tk-week .tk-week-free[aria-pressed=true],body[data-tk-ui] .tk-week .tk-week-free[aria-pressed=true]{background:var(--bc-accent)!important;color:var(--bc-on)!important;outline:2px solid var(--bc-accent)}.tk-week-free[aria-pressed=true]::before{content:'✓ ';font-weight:800}.tk-week-day{background:var(--bc-bg)}.tk-week-unavailable{background:var(--bc-muted)!important;color:var(--bc-muted-ink)!important}.tk-week-legend{color:var(--bc-ink)}.tk-week-day[data-state=neutral] .tk-week-unavailable,.tk-week-day[data-state=loading] .tk-week-unavailable,.tk-week-day[data-state=error] .tk-week-unavailable{background:var(--bc-soft)!important;color:var(--bc-ink)!important}
[data-tk-week-active] .tk-provider-preview{display:none!important}[data-tk-week-active] #wizard-frame-2 .frame-title,[data-tk-week-active] #wizard-frame-2 .command-buttons{display:none!important}.tk-mobile-flow #tk-mobile-summary[hidden]{display:none!important}.tk-mobile-flow #wizard-frame-1{display:block!important}.tk-mobile-flow[data-tk-step='3'] #wizard-frame-1,.tk-mobile-flow[data-tk-step='4'] #wizard-frame-1{display:none!important}.tk-mobile-flow #tk-composition-summary{background:var(--bc-soft)!important;color:var(--bc-ink)!important}.tk-mobile-flow .tk-week-instruction{display:none}.tk-mobile-flow .tk-choice h2{font-size:1.4rem!important}
@media(max-width:600px){.tk-choice-people{grid-template-columns:1fr}.tk-choice-category>summary{font-size:1.25rem}.tk-choice-card{padding:12px!important}.tk-mobile-summary{margin:10px}.tk-choice-card img,.tk-choice-avatar{width:48px;height:48px}.tk-week{max-width:100%;box-sizing:border-box}.tk-week-day{flex-basis:185px}.tk-week-quarter>.tk-week-free,.tk-week-quarter>.tk-week-unavailable{font-size:13px!important}.tk-contact-start{scroll-margin-top:12px}}
@media(prefers-reduced-motion:reduce){.tk-mobile-flow *,.tko-booking-page *{scroll-behavior:auto!important}}


/* Person images retain a friendly graphic while loading or after a failed image. */
.tk-choice-avatar{color:var(--bc-accent);overflow:hidden}.tk-choice-avatar svg{display:block;width:100%;height:100%}.tk-choice-card img[hidden]{display:none!important}.tk-choice-image-note{font-size:.75rem;color:var(--bc-ink);font-weight:400}

/* Public booking supports a single complete light palette. Keep OS accessibility overrides. */
:root{color-scheme:only light}
.tk-choice-picker{border:1px solid var(--bc-line);border-radius:12px;background:var(--bc-bg);color:var(--bc-ink);margin:8px 0 12px;padding:0!important}
.tk-choice-picker>summary{padding:14px 16px;min-height:48px;box-sizing:border-box;cursor:pointer;font-size:1.12rem;font-weight:700;color:var(--bc-ink);background:var(--bc-soft);border-radius:11px}
.tk-choice-picker[open]>summary{border-bottom:1px solid var(--bc-line);border-radius:11px 11px 0 0}
.tk-choice-picker>label,.tk-choice-picker>.tk-choice-groups,.tk-choice-picker>p{margin:12px 14px}
.tk-choice-picker:not([open])>:not(summary){display:none!important}
.tk-choice-picker>summary:focus-visible{outline:3px solid #a86c16;outline-offset:3px}
body.tk-mobile-flow .tk-week h3,body.tk-mobile-flow .tk-week h4{color:var(--bc-ink)!important}
.tk-mobile-flow #header .tk-week-appearance{margin:0}.tk-mobile-flow #header .tk-week-appearance:not([open]){display:none}
.tk-mobile-flow #header #company-logo{max-height:42px!important;width:auto!important;max-width:150px!important}
.tk-mobile-flow #tk-composition-summary[hidden]{display:none!important}
.tk-mobile-flow:not(:has(.tk-choice-card[data-selected=true])) .tk-show-times{display:none}
.tk-mobile-flow .tk-show-times:disabled{display:none}
.tk-mobile-flow #wizard-frame-1>details:not(.tk-choice-picker){display:none}
.tk-mobile-flow .tk-week>.tk-choice-note{display:none}
.tk-mobile-flow .tk-week-legend{font-size:.82rem;margin:6px 0 10px}
@media(max-width:600px){.tk-mobile-flow #header{padding:10px!important}.tk-mobile-flow #steps{margin-top:8px!important}.tk-mobile-flow #wizard-frame-1{padding:10px!important;min-height:0!important}.tk-mobile-flow .tk-choice{margin:8px 0}.tk-mobile-flow .tk-week{margin:0 10px 12px;padding:12px!important}.tk-mobile-flow .tk-week h3{font-size:1.1rem!important}.tk-mobile-flow .tk-week-toolbar{gap:8px}.tk-mobile-flow .tk-choice-people{gap:8px}.tk-mobile-flow #wizard-frame-1 .command-buttons{margin:0!important}}
