booking-widget{--bk-accent:#5b8cff;--bk-on-accent:#101522;--bk-accent-soft:color-mix(in srgb, var(--bk-accent) 14%, transparent);--bk-bg:#fff;--bk-surface:#f5f7fb;--bk-text:#101522;--bk-muted:#55607a;--bk-border:#dde3ee;--bk-radius:14px;--bk-font:inherit;--bk-focus:var(--bk-accent);color:var(--bk-text);font-family:var(--bk-font);display:block}booking-widget .bk{background:var(--bk-bg);border:1px solid var(--bk-border);border-radius:calc(var(--bk-radius) * 1.4);gap:1.25rem;padding:clamp(1.1rem,.6rem + 2vw,2rem);display:grid;box-shadow:0 30px 60px -40px #00000073}booking-widget .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}booking-widget :focus-visible{outline:2px solid var(--bk-focus);outline-offset:2px}booking-widget button{font:inherit;color:inherit}.bk-fallback{border:1px dashed;border-radius:12px;padding:1rem 1.25rem}booking-widget .bk-demo{background:var(--bk-accent-soft);border-radius:999px;justify-self:start;align-items:center;gap:.5rem;padding:.35rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}booking-widget .bk-demo span{color:var(--bk-accent);font-size:.6rem}booking-widget .bk-progress{counter-reset:step;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}booking-widget .bk-progress li{border-top:3px solid var(--bk-border);min-width:0;color:var(--bk-muted);flex:1;align-items:center;gap:.5rem;padding-top:.6rem;font-size:.8rem;font-weight:600;transition:border-color .3s,color .3s;display:flex}booking-widget .bk-progress li.is-done,booking-widget .bk-progress li[aria-current=step]{border-color:var(--bk-accent);color:var(--bk-text)}booking-widget .bk-dot{background:var(--bk-surface);border-radius:50%;flex:none;place-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;display:grid}booking-widget li[aria-current=step] .bk-dot,booking-widget li.is-done .bk-dot{background:var(--bk-accent);color:var(--bk-on-accent)}booking-widget .bk-progress-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=30rem){booking-widget .bk-progress li:not([aria-current=step]) .bk-progress-label{display:none}}booking-widget .bk-body{gap:1rem;display:grid}booking-widget .bk-body.is-entering{animation:.38s cubic-bezier(.16,1,.3,1) bk-in}@keyframes bk-in{0%{opacity:0;transform:translateY(8px)}}booking-widget .bk-step-title{outline:none;margin:0;font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);line-height:1.2}booking-widget .bk-sub{color:var(--bk-muted);margin:0;font-size:.92rem}booking-widget .bk-party{align-items:center;gap:1.25rem;display:flex}booking-widget .bk-party-count{text-align:center;min-width:7rem;font-size:2rem;font-weight:700}booking-widget .bk-party-count span{color:var(--bk-muted);font-size:1rem;font-weight:500}booking-widget .bk-round{border:1px solid var(--bk-border);background:var(--bk-bg);cursor:pointer;border-radius:50%;place-items:center;width:2.6rem;height:2.6rem;font-size:1.25rem;line-height:1;transition:background-color .15s,border-color .15s;display:grid}booking-widget .bk-round:hover:not(:disabled){border-color:var(--bk-accent);background:var(--bk-accent-soft)}booking-widget .bk-round:disabled{opacity:.35;cursor:not-allowed}booking-widget .bk-services{border:0;gap:.6rem;margin:0;padding:0;display:grid}@media (width>=40rem){booking-widget .bk-services{grid-template-columns:1fr 1fr}}booking-widget .bk-service{border:1.5px solid var(--bk-border);border-radius:var(--bk-radius);cursor:pointer;align-items:center;gap:.75rem;padding:.9rem 1rem;transition:border-color .15s,background-color .15s;display:flex;position:relative}booking-widget .bk-service:hover{border-color:var(--bk-accent)}booking-widget .bk-service:has(input:checked){border-color:var(--bk-accent);background:var(--bk-accent-soft)}booking-widget .bk-service:has(input:focus-visible){outline:2px solid var(--bk-focus);outline-offset:2px}booking-widget .bk-service input{accent-color:var(--bk-accent);flex:none;width:1.1rem;height:1.1rem}booking-widget .bk-service-body{flex:1;gap:.1rem;display:grid}booking-widget .bk-service-name{font-weight:700}booking-widget .bk-service-desc{color:var(--bk-muted);font-size:.85rem}booking-widget .bk-service-meta{color:var(--bk-muted);white-space:nowrap;justify-items:end;font-size:.85rem;display:grid}booking-widget .bk-service-meta strong{color:var(--bk-text)}booking-widget .bk-datetime{gap:1.5rem;display:grid}@media (width>=46rem){booking-widget .bk-datetime{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}}booking-widget .bk-cal-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}booking-widget .bk-month{margin:0;font-weight:700}booking-widget .bk-grid{border-collapse:collapse;table-layout:fixed;width:100%}booking-widget .bk-grid th{color:var(--bk-muted);padding-bottom:.4rem;font-size:.75rem;font-weight:600}booking-widget .bk-grid abbr{text-decoration:none}booking-widget .bk-grid td{text-align:center;padding:2px}booking-widget .bk-day{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:50%;width:100%;max-width:2.9rem;font-size:.92rem;font-weight:600;transition:background-color .15s,color .15s,transform .15s}booking-widget .bk-day:not([aria-disabled=true]){background:var(--bk-accent-soft)}booking-widget .bk-day:not([aria-disabled=true]):hover{background:var(--bk-accent);color:var(--bk-on-accent)}booking-widget .bk-day[aria-disabled=true]{color:var(--bk-muted);opacity:.45;cursor:default;text-decoration:line-through;text-decoration-thickness:1px}booking-widget .bk-day.is-today{box-shadow:inset 0 0 0 1.5px var(--bk-text)}booking-widget .bk-day[aria-pressed=true]{background:var(--bk-accent);color:var(--bk-on-accent);transform:scale(1.06)}booking-widget .bk-hint{color:var(--bk-muted);margin:.5rem 0 0;font-size:.75rem}@media (hover:none){booking-widget .bk-hint{display:none}}booking-widget .bk-slots{border-radius:var(--bk-radius);background:var(--bk-surface);align-content:start;gap:.75rem;min-height:12rem;padding:1rem;display:grid}booking-widget .bk-slots-title{margin:0;font-weight:700}booking-widget .bk-slot-grid{border:0;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem;margin:0;padding:0;display:grid}booking-widget .bk-slot-grid.is-windows{grid-template-columns:1fr}booking-widget .bk-slot{cursor:pointer;display:block;position:relative}booking-widget .bk-slot input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}booking-widget .bk-slot span{border:1.5px solid var(--bk-border);background:var(--bk-bg);text-align:center;border-radius:10px;padding:.6rem .5rem;font-size:.88rem;font-weight:600;transition:border-color .15s,background-color .15s,color .15s;display:block}booking-widget .is-windows .bk-slot span{text-align:left;padding-inline:.9rem}booking-widget .bk-slot:hover input:not(:disabled)+span{border-color:var(--bk-accent)}booking-widget .bk-slot input:checked+span{border-color:var(--bk-accent);background:var(--bk-accent);color:var(--bk-on-accent)}booking-widget .bk-slot input:focus-visible+span{outline:2px solid var(--bk-focus);outline-offset:2px}booking-widget .bk-slot.is-taken{cursor:not-allowed}booking-widget .bk-slot.is-taken span{color:var(--bk-muted);opacity:.6;background:0 0;border-style:dashed;text-decoration:line-through}booking-widget .bk-slot small{font-weight:500}booking-widget .bk-skel{background:linear-gradient(90deg, var(--bk-border), var(--bk-bg), var(--bk-border));background-size:200% 100%;border-radius:10px;height:2.5rem;animation:1.1s linear infinite bk-shimmer}@keyframes bk-shimmer{to{background-position:-200% 0}}booking-widget .bk-picked{color:var(--bk-muted);margin:0;font-size:.85rem;font-weight:600}booking-widget .bk-empty{text-align:center;min-height:9rem;color:var(--bk-muted);place-items:center;gap:.5rem;font-size:.92rem;display:grid}booking-widget .bk-empty p{margin:0}booking-widget .bk-empty-icon{font-size:1.75rem}booking-widget .bk-form{gap:1rem;display:grid}@media (width>=40rem){booking-widget .bk-form{grid-template-columns:1fr 1fr}}booking-widget .bk-field{gap:.35rem;display:grid}booking-widget .bk-field.is-wide{grid-column:1/-1}booking-widget .bk-field label{font-size:.88rem;font-weight:600}booking-widget .bk-optional{color:var(--bk-muted);font-weight:400}booking-widget .bk-field input,booking-widget .bk-field textarea{border:1.5px solid var(--bk-border);background:var(--bk-bg);width:100%;color:var(--bk-text);font:inherit;border-radius:10px;padding:.75rem .9rem}booking-widget .bk-field input:focus,booking-widget .bk-field textarea:focus{border-color:var(--bk-accent)}booking-widget .bk-field [aria-invalid=true]{border-color:#c62828}booking-widget .bk-field-error{color:#b3261e;margin:0;font-size:.82rem;font-weight:600}booking-widget .bk-summary{border:1px solid var(--bk-border);border-radius:var(--bk-radius);margin:0;display:grid;overflow:hidden}booking-widget .bk-summary div{border-bottom:1px solid var(--bk-border);grid-template-columns:7rem 1fr auto;align-items:baseline;gap:.75rem;padding:.75rem 1rem;display:grid}booking-widget .bk-summary div:last-child{border-bottom:0}booking-widget .bk-summary dt{color:var(--bk-muted);font-size:.82rem}booking-widget .bk-summary dd{overflow-wrap:anywhere;margin:0;font-weight:600}booking-widget .bk-summary.is-compact div{text-align:left;grid-template-columns:6rem 1fr}booking-widget .bk-link{color:var(--bk-text);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:600;text-decoration:underline}booking-widget .bk-note{border-left:3px solid var(--bk-accent);background:var(--bk-accent-soft);border-radius:6px;margin:0;padding:.75rem 1rem;font-size:.88rem}booking-widget .bk-done{text-align:center;justify-items:center;gap:.9rem;display:grid}booking-widget .bk-done .bk-summary{width:min(100%,26rem)}booking-widget .bk-check{background:var(--bk-accent);width:3.5rem;height:3.5rem;color:var(--bk-on-accent);border-radius:50%;place-items:center;font-size:1.6rem;font-weight:700;animation:.5s cubic-bezier(.34,1.56,.64,1) bk-pop;display:grid}@keyframes bk-pop{0%{opacity:0;transform:scale(.4)}}booking-widget .bk-ref{margin:0;font-size:.95rem}booking-widget .bk-error{color:#8c1d18;background:#fdecea;border-radius:10px;margin:0;padding:.75rem 1rem;font-size:.9rem;font-weight:600}booking-widget .bk-nav{justify-content:space-between;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}booking-widget .bk-nav.is-center{flex-wrap:wrap;justify-content:center}booking-widget .bk-btn{cursor:pointer;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-size:.95rem;font-weight:700;transition:transform .15s,opacity .15s,background-color .15s;display:inline-flex}booking-widget .bk-btn-primary{background:var(--bk-accent);color:var(--bk-on-accent)}booking-widget .bk-btn-primary:hover:not(:disabled){transform:translateY(-1px)}booking-widget .bk-btn-primary:disabled{opacity:.45;cursor:not-allowed}booking-widget .bk-btn-ghost{border-color:var(--bk-border);background:0 0}booking-widget .bk-btn-ghost:hover{border-color:var(--bk-text)}booking-widget .bk-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite bk-spin}@keyframes bk-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){booking-widget *,booking-widget :before{transition:none!important;animation:none!important}}
