.booking-page{background:#fcfbfd;min-height:100dvh}.public-header{max-width:1152px;margin:auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between}.header-note{font-size:12px;color:#97909d}.booking-shell{max-width:1088px;min-height:630px;margin:8px auto 42px;display:grid;grid-template-columns:290px 1fr;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 70px #42274305;overflow:hidden}.booking-context{padding:40px 28px;background:linear-gradient(160deg,#fff 55%,#fff7fb);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.context-mark{width:44px;height:44px;border-radius:14px;color:var(--brand);display:grid;place-items:center;background:var(--brand-soft);margin-bottom:27px}.context-mark .icon{width:24px;height:24px}.booking-context h2{font-size:24px;line-height:1.28;letter-spacing:-.6px;margin:13px 0}.booking-context>p{font-size:13px;color:var(--muted);max-width:220px}.meeting-meta{display:grid;gap:18px;margin:30px 0;font-size:13px;color:#6c6172}.meeting-meta>div{display:flex;align-items:center;gap:12px}.meeting-meta .icon{width:18px;height:18px;color:#9a899e}.context-bottom{margin-top:auto;padding-top:55px;font-size:12px;color:#a396a7;line-height:1.6}.context-bottom span{display:block;color:#5e4867;font-weight:600;margin-bottom:3px}.booking-content{padding:35px 40px 32px;min-width:0;display:flex;flex-direction:column}.progress-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;min-height:30px}.back-link{display:flex;align-items:center;gap:4px;color:#857b8a;border:0;background:none;font-size:12px;padding:6px 0}.back-link .icon{width:15px;height:15px}.progress{display:flex;align-items:center;gap:12px;color:#9c92a2;font-size:11px}.progress-bars{display:flex;gap:5px}.progress-bars i{width:24px;height:4px;border-radius:10px;background:#eee9f1}.progress-bars i.done{background:var(--brand)}.booking-heading{margin-bottom:27px}.booking-heading h1{font-size:28px;margin:0 0 10px}.booking-heading p{font-size:13px;color:var(--muted)}.contact-form{max-width:455px;display:grid;gap:21px}.contact-form .btn{margin-top:7px;min-height:49px}.phone-group{display:grid;grid-template-columns:105px 1fr;gap:9px}.phone-group select{padding-left:10px}.privacy{font-size:10px;text-align:center;color:#a198a7;line-height:1.6;margin-top:14px}.privacy button{border:0;background:none;color:#85758d;text-decoration:underline;font-size:inherit;padding:0}.step-form{display:flex;flex-direction:column;flex:1}.booking-view{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(230px,1fr);gap:25px}.month-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.month-toolbar h2{font-size:16px;letter-spacing:-.2px;text-transform:capitalize}.month-nav{display:flex;gap:2px}.month-nav .icon-button{min-width:31px;min-height:32px;width:31px;padding:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.weekday{font-size:10px;color:#a298a8;text-align:center;height:28px;display:grid;place-items:center}.day{aspect-ratio:1;border:0;border-radius:10px;background:transparent;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;position:relative;padding:0;min-width:0;color:var(--ink);font-weight:600}.day.available{background:#fdf2f7;color:#ba075d}.day.available:hover{background:#fbd8e9}.day:disabled{color:#b9b3bf;opacity:1;font-weight:400}.day.selected{background:var(--brand);color:white}.day.other{font-weight:400}.day small{font-size:8px;line-height:1;opacity:.75}.calendar-help{font-size:11px;color:#a092a8;margin-top:18px;line-height:1.6}.timezone-line{display:flex;align-items:center;gap:7px;font-size:11px;color:#8a7b94;margin-top:20px}.timezone-line .icon{width:14px;height:14px}.times-panel{border-left:1px solid var(--line);padding-left:25px;min-width:0}.times-header h3{font-size:13px;margin-bottom:5px;text-transform:capitalize}.times-header p{font-size:11px;color:#92859a}.times-scroll{max-height:360px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d4c5d5 transparent;padding:0 3px 3px 0;overscroll-behavior:contain}.time-group-title{font-size:11px;font-weight:600;color:#9b8fa2;margin:18px 0 10px}.times-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.time-slot{min-height:43px;border:1px solid #e5dfe9;border-radius:8px;background:white;font-size:11px;color:#5b4d66;padding:4px;font-weight:550}.time-slot:hover{border-color:var(--brand);color:var(--brand)}.time-slot.selected{background:var(--brand);border-color:var(--brand);color:#fff}.time-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#ab9cb2;text-align:center;font-size:13px;line-height:1.5}.time-empty .icon{width:30px;height:30px}.time-action{margin-top:18px}.time-action .btn{font-size:12px}.selected-date{display:none}.questions-form{display:grid;gap:20px;max-width:490px}.booking-summary{display:flex;align-items:center;gap:12px;background:var(--brand-soft);padding:15px;border-radius:11px;margin-bottom:25px;font-size:13px;color:#63435a}.booking-summary .icon{color:var(--brand)}.booking-summary small{display:block;font-size:11px;font-weight:400;margin-top:4px;color:#97838e}.option-group{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.option-choice input{position:absolute;opacity:0;width:1px;height:1px}.option-choice span{display:grid;place-items:center;min-height:46px;border:1px solid #ddd6e2;border-radius:9px;font-size:12px;padding:9px 6px;text-align:center;cursor:pointer}.option-choice input:checked+span{background:var(--brand);color:white;border-color:var(--brand)}.option-choice input:focus-visible+span{outline:3px solid #e973ac;outline-offset:2px}.confirm-content{text-align:center;max-width:455px;margin:auto;width:100%;padding:12px 0;display:grid;justify-items:center;gap:22px}.success-mark{width:70px;height:70px;border:2px solid var(--brand);border-radius:50%;display:grid;place-items:center;background:#fffafd;color:var(--brand)}.success-mark .icon{width:34px;height:34px}.confirm-content h1{font-size:29px}.confirm-content .booking-summary{width:100%;margin:0;text-align:left}.copy-placeholder{width:100%;min-height:116px;border:1px dashed #d8cedb;border-radius:12px;display:grid;place-items:center;font-size:12px;color:#a398aa;padding:20px;line-height:1.6}.confirm-content .btn{min-height:50px}.confirmed-note{font-size:11px;color:#a194a9}.public-footer{max-width:1088px;margin:0 auto;padding:0 0 50px;display:flex;justify-content:space-between;color:#ada1b4;font-size:10px}.public-footer span:first-child{font-weight:600;color:#8e7d98}.booking-error{margin-bottom:20px}.spinner{width:24px;height:24px;border:3px solid #f2dce7;border-top-color:var(--brand);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-meeting-meta{display:none}@media(min-width:1024px){.booking-shell:has(.booking-view){grid-template-columns:240px 1fr}.booking-shell:has(.booking-view) .booking-content{padding:35px 30px}}@media(max-width:1139px){.booking-shell{margin:8px 25px 35px}.public-footer{padding:0 26px 55px}.booking-content{padding:30px}.booking-shell{grid-template-columns:250px 1fr}}@media(max-width:1023px){.booking-shell{grid-template-columns:1fr;max-width:630px;min-height:0;margin:8px auto 36px}.booking-context{display:none}.booking-content{padding:30px 40px}.booking-view{display:block}.times-panel{display:none;border:0;padding:0}.booking-view.show-times .calendar-panel{display:none}.booking-view.show-times .times-panel{display:block}.times-scroll{max-height:none;overflow:visible;padding:0;overscroll-behavior:auto}.time-slot{min-height:48px;font-size:14px}.times-grid{gap:10px}.times-header{display:none}.selected-date{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--brand-soft);padding:14px 15px;border-radius:12px;margin-bottom:24px;font-size:13px}.selected-date strong{text-transform:capitalize;display:block;font-weight:600}.selected-date small{display:block;color:#978394;font-size:10px;margin-top:5px}.selected-date .text-button{white-space:nowrap;font-size:11px}.time-group-title{font-size:12px;margin-top:22px}.time-action{margin-top:25px}.time-action .btn{min-height:50px;font-size:14px}.day{max-height:61px;font-size:14px;min-height:43px}.day small{font-size:9px}.weekday{font-size:12px}.calendar-grid{gap:5px}.mobile-meeting-meta{display:block;font-size:11px;color:#998aa2;margin-bottom:10px}.contact-form,.questions-form{max-width:none}.booking-heading h1{font-size:28px}.public-header{max-width:686px}.public-footer{max-width:630px;padding:0 0 60px}.time-heading-mobile{display:block}.confirm-content{padding:18px 0 35px}}@media(max-width:680px){.booking-shell{margin:8px 20px 25px}.public-header{padding:18px 26px 12px}.header-note{display:none}.booking-content{padding:27px 25px}.booking-heading{margin-bottom:24px}.public-footer{margin:0 25px}.public-footer span:last-child{display:none}}@media(max-width:450px){.booking-page{background:white}.public-header{padding:18px 24px 8px}.brand-logo{width:148px}.booking-shell{margin:0;border:0;box-shadow:none;border-radius:0}.booking-content{padding:15px 24px 28px}.progress-head{margin-bottom:24px}.booking-heading h1{font-size:27px;letter-spacing:-.9px}.booking-heading p{font-size:13px;line-height:1.65}.contact-form{gap:24px}.contact-form input,.contact-form select,.questions-form input,.questions-form select,.questions-form textarea{min-height:50px;font-size:16px}.contact-form .btn{margin-top:12px;min-height:52px}.day{font-size:13px;min-height:40px;aspect-ratio:1}.calendar-grid{gap:3px}.public-footer{margin-top:15px}.phone-group{grid-template-columns:100px 1fr}.privacy{font-size:10px;margin-top:18px}.times-grid{gap:8px}.confirm-content{padding-top:30px}.confirm-content h1{font-size:28px}.progress-bars i{width:22px}}@media(max-width:389px){.booking-content{padding-left:16px;padding-right:16px}.public-header{padding-left:16px}.times-grid{grid-template-columns:repeat(2,1fr)}.selected-date{padding:12px;gap:8px}.selected-date strong{font-size:12px}.option-group{gap:5px}.option-choice span{font-size:11px}.day{min-height:38px}.header-note{display:none}}

.day.selected,.day.selected:hover{background:var(--brand);color:#fff}
