.course-name-row{display:flex!important;flex-direction:column!important;gap:14px!important}.course-name-row>div{width:100%!important;min-width:0}.course-selection{display:grid;gap:12px;min-width:0;text-align:left}.course-selection [hidden],.course-name-row>[hidden]{display:none!important}.course-subjects{border:0;padding:0;margin:0;display:flex;gap:8px;min-width:0}.course-subjects legend,.course-field>label{display:block;margin:0 0 6px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.065em;text-transform:uppercase;color:#355783}.course-subject{flex:1;min-width:0;cursor:pointer;padding:11px 8px;border:1px solid #c9d9ed;border-radius:11px;background:#f6f9fe;color:#335276;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4}.course-subject[aria-pressed=true]{background:#e8f1ff;border-color:#3076cf;color:#164e96;box-shadow:inset 0 0 0 1px #3076cf}.course-combo{position:relative}.course-field input,.course-field select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #cadcf2;border-radius:11px;background:#f1f6ff;color:#1e3655;padding:12px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;height:46px}.course-field input:focus,.course-field select:focus,.course-subject:focus-visible{outline:2px solid #3076cf;outline-offset:2px}.course-field input:disabled{opacity:.6}.course-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:1200;background:white;border:1px solid #d8e3f2;border-radius:12px;box-shadow:0 12px 32px #17396125;max-height:210px;overflow-y:auto;overscroll-behavior:contain;padding:5px}.course-option{padding:10px;border-radius:7px;font-size:13px;line-height:1.4;color:#233f61;cursor:pointer;overflow-wrap:anywhere}.course-option:hover,.course-option.is-active,.course-option[aria-selected=true]{background:#e8f1ff;color:#1752a0}.course-option-heading{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#70819a;padding:9px 10px 4px}.course-empty{padding:12px;font-size:13px;color:#677b95}.course-price{border:1px solid #d6e5e6;background:#f1faf8;border-radius:12px;padding:12px 14px;color:#204d48}.course-price strong{display:block;font-size:14px;line-height:1.5}.course-price p{font-size:12px!important;line-height:1.5!important;margin:4px 0!important;color:#486762!important}.course-price small{display:block;font-size:11px;line-height:1.4;color:#667b80;margin-top:5px}.course-selection~[hidden]{display:none!important}@media(max-width:480px){.course-subject{font-size:12px}.course-options{max-height:180px}.course-field input,.course-field select{font-size:16px}}

.course-native-field{display:none!important}.bm-form .course-field>label,.bm-form .course-subjects legend{font-size:11px;font-weight:600;line-height:1.4}
/* Original compact booking window, with short detail steps. */
#bookingModal.course-multistep .booking-modal{max-width:860px}
#bookingModal.course-multistep .course-step-hidden,#bookingModal.course-multistep .bm-actions [hidden]{display:none!important}
#bookingModal.course-multistep .course-name-row{gap:0!important}
.course-details-step{display:grid;gap:12px;width:100%;min-width:0}
/* A connected, non-interactive progress timeline, not selectable tabs. */
.course-step-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 0 4px;padding:2px 0;color:#77869a;font-size:11px;line-height:1.4;font-weight:500;cursor:default}
.course-progress-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-align:center}
.course-progress-step:not(:first-child)::before{content:"";position:absolute;top:12px;left:-50%;width:100%;height:2px;background:#e1e8f2}
.course-progress-marker{position:relative;z-index:1;display:grid;place-items:center;box-sizing:border-box;width:26px;height:26px;border:2px solid #dce5f0;border-radius:50%;background:#fff;color:#8492a6;font-size:11px;font-weight:700;box-shadow:0 0 0 4px #fff}
.course-progress-label{display:block;max-width:100%;overflow-wrap:anywhere}
.course-progress-step.active{color:#225db0;font-weight:700}
.course-progress-step.active .course-progress-marker{border-color:#397cda;background:#397cda;color:#fff;box-shadow:0 0 0 4px #fff,0 0 0 6px #e2edfd}
.course-progress-step.complete{color:#3869a6}
.course-progress-step.complete .course-progress-marker{border-color:#dceaff;background:#eaf2ff;color:#2769bf}
.course-progress-step.complete::before,.course-progress-step.active::before{background:#82ace8}
#bookingModal.course-multistep .bm-form{gap:12px!important}
#bookingModal.course-multistep .bm-form .form-group{margin:0;min-width:0}
#bookingModal.course-multistep .bm-form textarea{height:76px;min-height:76px}
#bookingModal.course-multistep .course-selection{gap:10px}
#bookingModal.course-multistep .course-field label{font-size:11px}
#bookingModal.course-multistep .course-price{padding:10px 12px}
#bookingModal.course-multistep .bm-actions{margin-top:4px;padding-top:4px}
.course-review-step{display:grid;gap:0;outline:none;min-width:0}
.course-review-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #e5edf6;font-size:12px;line-height:1.5}
.course-review-row span{color:#6d7d92}.course-review-row strong{font-weight:600;color:#284364;overflow-wrap:anywhere}
.course-review-step .course-price{margin-top:14px}
@media(max-width:600px){.course-step-progress{font-size:10px}.course-review-row{grid-template-columns:78px minmax(0,1fr)}}
@media(min-width:760px) and (max-height:820px){
 #bookingModal.course-multistep .booking-modal-right{padding:20px 26px 16px}
 #bookingModal.course-multistep .course-field input,#bookingModal.course-multistep .course-field select{height:38px;padding:7px 12px}
 #bookingModal.course-multistep .course-selection{gap:8px}
 #bookingModal.course-multistep .bm-step-indicator{margin-bottom:12px}
 #bookingModal.course-multistep .bm-selected-display{margin-bottom:12px;padding:10px 12px}
}
.course-options{touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#648bd1 #edf3fc;scrollbar-gutter:stable}
.course-options::-webkit-scrollbar{width:7px}.course-options::-webkit-scrollbar-track{background:#edf3fc;border-radius:8px}.course-options::-webkit-scrollbar-thumb{background:#648bd1;border-radius:8px}

.course-level-help{margin:0!important;font-size:11px!important;line-height:1.5!important;color:#5d718b!important;text-align:left}

/* Use the device's picker on phones; retain searchable controls on desktop. */
.course-mobile-select[hidden],.course-combo[hidden]{display:none!important}
.country-mobile-select{display:none}
@media(max-width:740px),(pointer:coarse){
 #bookingModal{top:var(--booking-viewport-top,0px)!important;bottom:auto!important;height:var(--booking-viewport-height,100dvh)!important;padding:12px!important}
 #bookingModal .booking-modal{max-height:calc(var(--booking-viewport-height,100dvh) - 24px)!important}
 #bookingModal .booking-modal-right{max-height:calc(var(--booking-viewport-height,100dvh) - 24px)!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:18px}
 #bookingModal input,#bookingModal select,#bookingModal textarea,.booking-form-inline input,.booking-form-inline select,.booking-form-inline textarea{font-size:16px!important;scroll-margin-block:18px}
 #bookingModal input,#bookingModal select,.course-field select{min-height:48px!important}
 #bookingModal button,.course-option{min-height:44px;touch-action:manipulation}
 .course-mobile-select{display:block;width:100%;max-width:100%;text-overflow:ellipsis;font-size:16px!important;min-height:48px;background:#f1f6ff;border:1px solid #cadcf2;border-radius:11px;padding:10px 32px 10px 12px;color:#1e3655}
 .country-select-wrap{position:relative}
 .country-mobile-select{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;z-index:2}
 .country-select-wrap:focus-within{outline:2px solid #2979c9;outline-offset:2px;border-radius:10px}
 .country-dropdown{display:none!important}
}

#bookingModal.trial-gateway-open{visibility:visible!important;z-index:2147483646!important;pointer-events:auto!important}
#bookingModal .trial-check-status{font-size:13px}.trial-check-status[hidden]{display:none!important}

#bookingModal.trial-verifying .bm-submit-error{color:#244d72;background:#eef6ff;border-color:#cbdff2}

#bookingModal.trial-gateway-open .bm-submit-error{color:#244d72;background:#eef6ff;border-color:#cbdff2}
