.booking-section{padding-top:clamp(1.5rem,4vw,3rem)}.booking-wrap{max-width:1060px;padding-inline:var(--page-pad);margin-inline:auto}.booker{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-md);background:#fff;grid-template-columns:280px minmax(0,1fr) 236px;display:grid;overflow:hidden}.booker[hidden],.booker [hidden]{display:none!important}.booker>*{padding:1.6rem 1.5rem}.booker__form{display:none}.booker[data-mode=form]{grid-template-columns:280px minmax(0,1fr)}.booker[data-mode=form] .booker__cal,.booker[data-mode=form] .booker__times{display:none}.booker[data-mode=form] .booker__form{display:block}.booker svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15rem;height:1.15rem}.booker__info{border-right:1px solid var(--border);background:var(--brand-softer)}.booker__avatar{object-fit:cover;object-position:47% 30%;width:56px;height:56px;box-shadow:var(--shadow-sm);border:2px solid #fff;border-radius:50%}.booker__host{color:var(--text-muted);margin-top:.9rem;font-size:.9rem}.booker__title{text-wrap:balance;margin:.15rem 0 .7rem;font-size:1.55rem;line-height:1.25}.booker__desc{font-size:.92rem;line-height:1.6}.booker__meta{color:var(--brand-dark);gap:.75rem;margin:1.3rem 0 0;padding:0;font-size:.92rem;list-style:none;display:grid}.booker__meta li{align-items:flex-start;gap:.6rem;line-height:1.4;display:flex}.booker__meta svg{color:var(--brand);margin-top:.05rem}.booker__chosen{font-weight:600}.booker ::placeholder{color:var(--text-muted);opacity:.6}.cal__head{justify-content:space-between;align-items:center;margin-bottom:1.1rem;display:flex}.cal__month{margin:0;font-size:1.2rem}.cal__month span{color:var(--text-muted);font-weight:400}.cal__nav{gap:.25rem;display:flex}.cal__arrow{width:2.2rem;height:2.2rem;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.cal__arrow:hover:not(:disabled){background:var(--brand-soft)}.cal__arrow:disabled{opacity:.3;cursor:default}.cal__weekdays,.cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.cal__weekdays{margin-bottom:.45rem}.cal__weekdays span{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.cal__cell{aspect-ratio:1;width:100%;max-height:3.4rem}.cal__day{font-family:var(--font-body);font-variant-numeric:tabular-nums;color:#4c8b6761;cursor:default;background:0 0;border:0;border-radius:10px;font-size:.98rem;transition:background .15s,color .15s,box-shadow .15s;position:relative}.cal__day.is-open{background:var(--brand-soft);color:var(--brand-dark);cursor:pointer;font-weight:600}.cal__day.is-open:hover{box-shadow:inset 0 0 0 1.5px var(--brand)}.cal__day.is-selected,.cal__day.is-selected:hover{background:var(--brand);color:#fff;box-shadow:none}.cal__day.is-today:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:18%;left:50%}.cal__grid.is-loading .cal__cell--skeleton,.cal__grid.is-loading .cal__day{background:var(--brand-softer);color:#0000;border-radius:10px;animation:1.2s ease-in-out infinite booker-pulse}.cal__grid.is-loading{pointer-events:none}@keyframes booker-pulse{50%{opacity:.45}}.booker__times{border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.times__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-height:2.2rem;margin-bottom:1.1rem;display:flex}.times__day{color:var(--brand-dark);margin:0;font-weight:600}.times__day span{color:var(--text-muted);font-weight:400}.times__fmt{background:var(--brand-softer);border:1px solid var(--border);border-radius:8px;padding:2px;display:flex}.times__fmt button{font:500 .75rem var(--font-body);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.3rem .55rem}.times__fmt button[aria-pressed=true]{color:var(--brand-dark);background:#fff;box-shadow:0 1px 3px #3e833326}.times__list{align-content:start;gap:.5rem;max-height:23rem;padding-right:2px;display:grid;overflow-y:auto}.times__slot{font:500 .95rem var(--font-body);font-variant-numeric:tabular-nums;border:1px solid var(--border);color:var(--brand-dark);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem .5rem;transition:border-color .15s,background .15s;display:flex}.times__slot:before{content:"";background:#5fb37f;border-radius:50%;width:7px;height:7px}.times__slot:hover{border-color:var(--brand);background:var(--brand-softer)}.times__empty{color:var(--text-muted);font-size:.9rem}.booker__form{max-width:34rem}.booker__phone{grid-template-columns:7.5rem minmax(0,1fr);gap:.6rem;display:grid}.booker__form .textarea{min-height:110px}.booker__actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.4rem;display:flex}.booker__back{font:400 1rem var(--font-body);letter-spacing:.04em;border-radius:var(--radius-button);color:var(--brand);cursor:pointer;background:0 0;border:0;padding:.82rem 1.2rem}.booker__back:hover{background:var(--brand-soft)}.booker__error{border-radius:var(--radius-input);color:#b3261e;background:#fdecec;margin-top:1rem;padding:.8rem 1rem;font-size:.92rem}.booker__form .booker__error{margin:0 0 1.1rem}.booker__noscript{grid-column:1/-1;margin:0 1.5rem 1.5rem}.booker button:focus-visible,.booker .input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.booked{text-align:center;border:1px solid var(--border);border-radius:var(--radius-card);max-width:38rem;box-shadow:var(--shadow-md);background:#fff;margin-inline:auto;padding:clamp(1.75rem,5vw,2.75rem)}.booked__tick{background:var(--brand-soft);width:3.4rem;height:3.4rem;color:var(--brand);border-radius:50%;place-items:center;display:inline-grid}.booked__tick svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.7rem;height:1.7rem}.booked__title{margin:1rem 0 .4rem;font-size:clamp(1.7rem,4vw,2.1rem)}.booked__lead{color:var(--text-muted)}.booked__table{text-align:left;border-block:1px solid var(--border);grid-template-columns:5.5rem minmax(0,1fr);gap:.9rem 1rem;margin:1.6rem 0;padding-block:1.4rem;display:grid}.booked__table dt{color:var(--brand-dark);font-weight:600}.booked__table dd{color:var(--brand-dark);margin:0}.booked__muted{color:var(--text-muted)}.booked__foot{color:var(--text-muted);margin-bottom:1.4rem;font-size:.9rem}.booking__alt{text-align:center;color:var(--text-muted);margin-top:1.6rem}.booking__alt a{text-underline-offset:2px;text-decoration:underline}@media (width<=960px){.booker,.booker[data-mode=form]{grid-template-columns:minmax(0,1fr) 220px}.booker__info{border-right:0;border-bottom:1px solid var(--border);grid-column:1/-1}.booker[data-mode=form] .booker__form{grid-column:1/-1;max-width:none}}@media (width<=640px){.booker,.booker[data-mode=form]{grid-template-columns:minmax(0,1fr)}.booker>*{padding:1.25rem 1rem}.booker__times{border-left:0;border-top:1px solid var(--border)}.times__list{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));max-height:none}.booker__phone{grid-template-columns:6.5rem minmax(0,1fr)}.booked__table{grid-template-columns:minmax(0,1fr);gap:.2rem}.booked__table dd{margin-bottom:.7rem}}@media (prefers-reduced-motion:reduce){.cal__grid.is-loading .cal__cell--skeleton,.cal__grid.is-loading .cal__day{animation:none}}
