.ds-appointment-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:#727272;margin:0 0 25px}.ds-calendar{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(155px,.8fr);border:1px solid #e5e5e5;border-radius:10px;min-height:315px;overflow:hidden;background:#fff}.ds-calendar>p{padding:22px}.ds-calendar-month{padding:22px}.ds-calendar header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.ds-calendar header h2{font-size:15px;font-weight:500;text-transform:capitalize;margin:0}.ds-calendar header>div{display:flex;gap:6px}.ds-calendar header button{width:30px;height:30px;border:0;background:#f6f6f6;border-radius:50%;font-size:21px;cursor:pointer;color:#161616}.ds-calendar button:disabled{cursor:default;opacity:.3}.ds-calendar-week,.ds-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:6px}.ds-calendar-week{font-size:10px;color:#aaa;margin-bottom:10px}.ds-calendar-days button{aspect-ratio:1;border:0;border-radius:50%;background:#f3f3f3;color:#333;font-size:12px;cursor:pointer;min-height:28px;transition:background .18s,color .18s,transform .18s}.ds-calendar-days button:disabled{background:transparent;color:#aaa;opacity:.55}.ds-calendar-days button:not(:disabled):hover{background:#e7e7e7}.ds-calendar-days button[aria-pressed=true],.ds-calendar-days button[aria-pressed=true]:hover{background:#161616;color:#fff}.ds-calendar-times{padding:22px 20px;background:#fafafa;border-left:1px solid #eee}.ds-calendar-times h3{font-size:12px;text-transform:capitalize;line-height:1.6;font-weight:500;margin:0 0 20px}.ds-calendar-slot-list{display:grid;gap:10px}.ds-calendar-slot-list button{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;min-height:44px;background:white;border:1px solid #dedede;border-radius:6px;font-size:13px;cursor:pointer;color:#222;transition:border-color .18s,background .18s,color .18s}.ds-calendar-slot-list button span{font-size:12px;color:#aaa}.ds-calendar-slot-list button:hover{border-color:#666}.ds-calendar-slot-list button[aria-pressed=true]{background:#161616;border-color:#161616;color:#fff}.ds-calendar-slot-list button[aria-pressed=true] span{color:#fff}.ds-selected-time{font-size:11px;color:#777;line-height:1.7;margin:22px 0 0;animation:join-enter .18s ease-out}.ds-selected-time strong{font-size:13px;font-weight:500;color:#161616}.ds-calendar-confirmation{margin:15px 0!important;font-size:11px!important;color:#888!important}.join-page .ds-calendar button:focus-visible{outline:2px solid #999;outline-offset:2px}.ds-calendar button:active:not(:disabled){transform:scale(.97)}
@media(max-width:480px){.ds-calendar{grid-template-columns:1fr}.ds-calendar-times{border-left:0;border-top:1px solid #eee}.ds-calendar-slot-list{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-calendar-month{padding:20px 26px}.ds-calendar-times h3{margin-bottom:12px}.ds-calendar-days{gap:9px}.ds-calendar-slot-list button{padding:12px 9px}.ds-selected-time{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.ds-calendar button{transition:none!important}.ds-selected-time{animation:none}}
.ds-calendar h2,.ds-calendar h3{letter-spacing:0;line-height:1.5}.ds-calendar-week{color:#777}.ds-calendar-days button:disabled{color:#aaa;opacity:.65}
.ds-selected-time{min-height:46px;animation:none}
.ds-calendar-month,.ds-calendar-times{min-width:0}
@media(max-width:800px){
 .ds-calendar{grid-template-columns:minmax(0,1fr);min-height:0}
 .ds-calendar-month{padding:18px 16px 14px}
 .ds-calendar header{margin-bottom:12px;min-height:44px}
 .ds-calendar header button{width:40px;height:40px}
 .ds-calendar-days,.ds-calendar-week{gap:4px}
 .ds-calendar-days{grid-auto-rows:40px}
 .ds-calendar-days button{width:100%;height:40px;min-height:40px;aspect-ratio:auto;font-size:13px;padding:0}
 .ds-calendar-times{padding:18px 16px;border-left:0;border-top:1px solid #eee}
 .ds-calendar-times h3{margin:0 0 12px}
 .ds-calendar-slot-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .ds-calendar-slot-list button{min-width:0;min-height:48px;padding:12px 8px;gap:4px;justify-content:center;font-size:14px;font-variant-numeric:tabular-nums}
 .ds-calendar-slot-list button span{width:12px;flex-shrink:0}
 .ds-selected-time{margin:16px 0 0;min-height:44px}
 .ds-appointment-meta{gap:8px 14px;line-height:1.5;margin-bottom:20px}
}
@media(min-width:601px) and (max-width:800px){
 .ds-calendar{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr)}
 .ds-calendar-times{border-top:0;border-left:1px solid #eee}
 .ds-calendar-slot-list{grid-template-columns:minmax(0,1fr)}
}

.join-calendar-request{grid-column:1/-1;padding:24px}.join-calendar-request label{display:grid;gap:10px;font-size:14px}.join-calendar-request textarea{width:100%;min-height:110px;box-sizing:border-box}.join-calendar-request .button{margin-top:12px}
