.availability-picker{margin:26px 0 30px}.booking-step-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.booking-step-number{width:30px;height:30px;color:var(--ink);background:#e7eee7;border-radius:50%;flex:0 0 30px;place-items:center;font-size:11px;display:grid}.booking-step-heading h2{font:400 24px/1.2 var(--serif);color:var(--ink-deep);margin:0}.booking-step-heading p{color:var(--muted);margin:5px 0 0;font-size:11px}.booking-calendar{border:1px solid var(--line);background:#ffffffe6;border-radius:22px;padding:22px;box-shadow:0 8px 26px #2d413709}.calendar-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.calendar-heading h3{font:400 25px/1.3 var(--serif);text-transform:capitalize;text-align:center;margin:0}.calendar-nav{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:#fbfcfa;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.calendar-nav:disabled{opacity:.3;cursor:default}.calendar-grid{table-layout:fixed;border-collapse:separate;border-spacing:5px;width:100%}.calendar-grid th{color:var(--muted);text-align:center;padding-bottom:12px;font-size:10px;font-weight:500}.calendar-grid td{text-align:center;padding:0}.calendar-day{width:100%;min-height:49px;color:var(--ink);background:#f9fbf8;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;font-family:inherit;font-size:13px;font-weight:400;line-height:1;display:flex;position:relative}.calendar-day.is-open{cursor:pointer;border-color:#e4eae2}.calendar-day.is-open:hover{background:#e9f0e7;border-color:#b9caba}.calendar-day.is-closed{color:#a3aaa4;cursor:default;background:#f4f5f3}.calendar-day-dot{background:#7a9580;border-radius:50%;width:3px;height:3px;position:absolute;bottom:7px}.calendar-day.is-today:not(.is-selected) span:first-child{text-underline-offset:4px;text-decoration:underline}.calendar-day.is-selected{background:var(--ink);border-color:var(--ink);color:#fff}.calendar-day.is-selected .calendar-day-dot{background:#dfe8df}.calendar-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;margin:17px 5px 0;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:7px;display:flex}.calendar-legend i{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-open{background:#7a9580}.legend-closed{background:#d8ded9}.calendar-feedback{min-height:18px;color:var(--muted);margin:10px 2px 0;font-size:10px;line-height:1.6}.booking-time-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.time-refresh{color:var(--muted);text-underline-offset:4px;background:0 0;border:0;margin-left:auto;padding:10px 0 10px 10px;font-size:10px;text-decoration:underline}.time-refresh:disabled{opacity:.45}.time-placeholder{text-align:center;color:var(--muted);background:#f8fbf7b3;border:1px dashed #dce4dc;border-radius:16px;padding:23px 18px;font-size:12px;line-height:1.7}.time-periods{background:#f0f4ee;border-radius:13px;gap:5px;margin-bottom:15px;padding:5px;display:flex}.time-periods button{color:var(--muted);background:0 0;border:0;border-radius:10px;flex:1;padding:10px 6px;font-size:11px}.time-periods button span{opacity:.7;margin-left:4px;font-size:9px}.time-periods button.active{color:var(--ink);background:#fff;box-shadow:0 2px 6px #2d413712}.time-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.time-option{min-height:44px;color:var(--ink);white-space:nowrap;background:#fff;border:1px solid #dce5db;border-radius:12px;padding:10px 5px;font-size:11px}.time-option:disabled{opacity:.45;cursor:default}.time-option:not(:disabled):hover{background:#edf3e9;border-color:#b9caba}.time-option.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.time-note{color:var(--muted);margin:13px 0 0;font-size:10px;line-height:1.7}.booking-selection{background:#edf3e9;border:1px solid #dbe5d8;border-radius:15px;align-items:center;gap:12px;margin-top:19px;padding:16px;display:flex}.selection-check{background:#d9e5d4;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:12px;display:grid}.booking-selection strong{text-transform:capitalize;font-size:12px;font-weight:500;display:block}.booking-selection div>span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.booking-selection p{color:var(--muted);text-align:right;max-width:80px;margin-left:auto;font-size:9px}.availability-picker .hours-disclosure{margin-top:21px;font-size:11px}.calendar-nav:focus-visible{outline-offset:3px;outline:2px solid #577860}.calendar-day:focus-visible{outline-offset:3px;outline:2px solid #577860}.time-periods button:focus-visible{outline-offset:3px;outline:2px solid #577860}.time-option:focus-visible{outline-offset:3px;outline:2px solid #577860}@media (max-width:800px){.request-flow .side-note{grid-row:auto}}@media (max-width:480px){.booking-calendar{border-radius:18px;padding:14px 9px}.calendar-grid{border-spacing:3px}.calendar-heading{margin-inline:6px}.calendar-heading h3{font-size:23px}.calendar-day{border-radius:10px;min-height:44px;font-size:12px}.calendar-legend{gap:12px;font-size:9px}.booking-step-heading h2{font-size:22px}.time-options{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-selection p{display:none}.time-periods button{font-size:10px}}
