@font-face{font-family:'DM Sans';src:url('../fonts/assessment/DMSans-Latin-Variable.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
/* Shared customer controls. Saved partner tokens and the assessment remain authoritative. */
@font-face{font-family:Geist;src:url('../fonts/assessment/Geist-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
.ryb-ui,.ryb-connect-overlay{--ryb-ui-ink:var(--ryb-dark-color,#1c2936);--ryb-ui-muted:var(--ryb-paragraph-color,#52616f);--ryb-ui-line:var(--ryb-border-color,#d4dce5);--ryb-ui-surface:#fff;--ryb-ui-paper:var(--ryb-background-color,#f4f7fa);--ryb-ui-accent:var(--ryb-primary-color,#245b80);--ryb-ui-on-accent:#fff;--ryb-ui-tint:color-mix(in srgb,var(--ryb-ui-accent) 8%,var(--ryb-ui-surface));--ryb-ui-radius:12px;color-scheme:light;font-family:var(--ryb-font-family,Geist,sans-serif);color:var(--ryb-ui-ink)}
.ryb-ui:not(.ryb-assessment){max-width:1400px;margin-inline:auto;font-size:16px;line-height:1.6}
.ryb-ui:not(.ryb-assessment) :is(input,select,textarea,button),.ryb-connect-overlay :is(input,select,textarea,button){font-family:var(--ryb-font-family,Geist,sans-serif)!important}
.ryb-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),.ryb-connect-overlay :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:48px;max-width:100%;border-radius:8px!important;border:1px solid var(--ryb-ui-line);background-color:var(--ryb-ui-surface)!important;color:var(--ryb-ui-ink)!important;font-size:16px!important;box-shadow:none;transition:border-color .15s ease}
.ryb-ui :is(input,textarea)::placeholder,.ryb-connect-overlay :is(input,textarea)::placeholder{color:var(--ryb-ui-muted);opacity:1}
.ryb-ui :is(button,input,select,textarea,a,[tabindex]):focus-visible,.ryb-connect-overlay :is(button,input,select,textarea,a,[tabindex]):focus-visible{outline:3px solid var(--ryb-ui-accent)!important;outline-offset:3px!important;box-shadow:none!important}
.ryb-ui :is(.ryb-field-label,.input-wrapper>label,.dropdown-wrapper>label){display:block;margin:0 0 7px;color:var(--ryb-ui-ink);font-size:14px;line-height:1.5;font-weight:600;text-align:left}
.ryb-ui .input-wrapper>label.ryb-sr-only{position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:normal!important}
.ryb-ui:not(.ryb-assessment) :is(.bg-white,.form-box,.step-box--form,.step-box--filters,.container-wrapper){background-color:var(--ryb-ui-surface);color:var(--ryb-ui-ink)}
.ryb-ui:not(.ryb-assessment) :is(h1,h2,h3,h4,.main-title,.child-title,.child-subtitle,.step-section-title){color:var(--ryb-ui-ink)!important;font-family:var(--ryb-font-family,Geist,sans-serif)!important;letter-spacing:-.025em;line-height:1.25}
.ryb-ui:not(.ryb-assessment) :is(.privacy-policy,.subtitle,.description,.form-description){color:var(--ryb-ui-muted);line-height:1.6}
.ryb-ui :is(button,.button,.step-button,.edit-option),.ryb-connect-overlay :is(button,.button){min-height:44px;touch-action:manipulation}
.ryb-ui:not(.ryb-assessment) :is(.form-submit,.step-control .next,.button.enroll,.button.waitlist,.event-enroll-button,.enroll-button,.camp-enroll-button),.ryb-connect-overlay :is(.form-submit,.button.enroll){border-radius:8px!important;background:var(--ryb-ui-accent)!important;color:var(--ryb-ui-on-accent)!important;box-shadow:none!important;font-weight:600;transition:filter .15s ease,transform .15s ease;white-space:normal}
.ryb-ui :is(.form-submit,.button.enroll,.button.waitlist):hover{filter:brightness(.94);transform:none!important}
.ryb-ui :is(.form-submit,.button.enroll):active{transform:translateY(1px)!important}
.ryb-ui :is(button:disabled,[aria-disabled=true]){cursor:default;filter:none;opacity:.6;transform:none!important}
.ryb-ui :is(.edit-option,.event-card,.camp-card,.result-grid-cell,.category-card,.class-card){border-radius:var(--ryb-ui-radius)!important;border-color:var(--ryb-ui-line)!important;box-shadow:none!important}
.ryb-ui :is(.edit-option,.event-card,.camp-card,.result-grid-cell,.class-card){background-color:var(--ryb-ui-surface)!important;color:var(--ryb-ui-ink)!important}
.ryb-ui :is(.edit-option .label,.event-card .price,.event-card .name p,.camp-card p){color:var(--ryb-ui-muted)}
.ryb-ui :is(.dropdown,.dropdown ul,.session-info-bar){background-color:var(--ryb-ui-surface)!important;color:var(--ryb-ui-ink)!important;border-color:var(--ryb-ui-line)!important}
.ryb-ui .dropdown li{min-height:44px;padding-block:10px}
.ryb-ui .dropdown li:hover{background-color:var(--ryb-ui-tint)!important}
.ryb-ui :is(.no-content,.no-results,.empty-state){padding:32px 24px;border:1px solid var(--ryb-ui-line);border-radius:12px;background:var(--ryb-ui-paper);color:var(--ryb-ui-ink);text-align:center}
.ryb-ui :is(.error-message,.main-error-message){color:#a42632;font-size:14px;line-height:1.5}
.ryb-ui .error-message:empty{display:none}
.ryb-ui :is(input[type=checkbox],input[type=radio]){width:20px;min-width:20px;height:20px;accent-color:var(--ryb-ui-accent)}
.ryb-ui .checkbox-wrapper{align-items:flex-start;gap:10px}
.ryb-ui .checkbox-wrapper label{font-size:14px;line-height:1.6;color:var(--ryb-ui-muted)}
.ryb-connect-overlay .ryb-connect-modal{max-height:calc(100dvh - 32px);overflow:auto;background:var(--ryb-ui-surface)!important;color:var(--ryb-ui-ink)!important;border-radius:16px!important}
.ryb-ui .ryb-ui-theme-note{font-size:13px;color:var(--ryb-ui-muted)}
/* Explicit theme attributes allow the host to opt in independently of OS preference. */
.ryb-ui[data-ryb-theme=dark],.ryb-connect-overlay[data-ryb-theme=dark]{--ryb-ui-ink:#e8edf3;--ryb-ui-muted:#b7c4d0;--ryb-ui-line:#536371;--ryb-ui-surface:#172531;--ryb-ui-paper:#101c26;--ryb-ui-accent:color-mix(in srgb,var(--ryb-primary-color,#245b80) 60%,#fff);--ryb-ui-on-accent:#101c26;color-scheme:dark}
@media(prefers-color-scheme:dark){.ryb-ui:not([data-ryb-theme=light]),.ryb-connect-overlay:not([data-ryb-theme=light]){--ryb-ui-ink:#e8edf3;--ryb-ui-muted:#b7c4d0;--ryb-ui-line:#536371;--ryb-ui-surface:#172531;--ryb-ui-paper:#101c26;--ryb-ui-accent:color-mix(in srgb,var(--ryb-primary-color,#245b80) 60%,#fff);--ryb-ui-on-accent:#101c26;color-scheme:dark}}
/* Theme-dependent surfaces use the same tokens in both modes. */
.ryb-ui:not(.ryb-assessment){background-color:var(--ryb-ui-surface)!important}
.ryb-ui:not(.ryb-assessment) :is(.result-content,.box,.filter-top,.filter-controls,.day-column,.calendar-day,.class-info,.event-card .price-breakdown){background-color:var(--ryb-ui-surface);color:var(--ryb-ui-ink)}
.ryb-ui:not(.ryb-assessment) :is(.event-card .name h5,.event-card .price span,.event-card .bd-cell,.filter-controls .value,.day-column h3){color:var(--ryb-ui-ink)}
.ryb-assessment[data-ryb-theme=dark]{--ryb-assessment-ink:#e8edf3;--ryb-assessment-muted:#b7c4d0;--ryb-assessment-border:#536371;--ryb-assessment-surface:#172531;--ryb-assessment-soft:#101c26}
@media(max-width:767px){.ryb-ui:not(.ryb-assessment) :is(.filter-top,.filter-controls){gap:12px;flex-wrap:wrap}.ryb-ui .filter-controls>.edit-option{flex:1 1 140px;min-width:0}.ryb-ui:not(.ryb-assessment) .custom-funnel-filters{display:grid;grid-template-columns:1fr;gap:18px}.ryb-ui .ryb-form-options{gap:10px;flex-wrap:wrap}.ryb-connect-overlay .ryb-connect-modal{max-width:calc(100vw - 24px)}.ryb-ui:not(.ryb-assessment) .form-info{gap:18px}.ryb-ui:not(.ryb-assessment) .privacy-policy p{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){.ryb-ui *,.ryb-connect-overlay *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.ryb-ui :is(button,.button):active{transform:none!important}}

/* Calm welcome and selection screens without changing their steps or content. */
.ryb-ui#ryb-connect .wizard-stage{background:var(--ryb-ui-paper)!important}
.ryb-ui#ryb-connect .wizard-stage .bg-white{background:var(--ryb-ui-surface)!important}
.ryb-ui#ryb-connect .user-title .font{font-family:inherit!important;font-style:normal;color:var(--ryb-ui-accent)!important}
.ryb-ui#ryb-connect .user-type li{background:var(--ryb-ui-surface)!important;border:1px solid var(--ryb-ui-line)!important;border-radius:12px!important;min-height:88px;color:var(--ryb-ui-ink)!important;box-shadow:none!important}
.ryb-ui#ryb-connect .user-type li:hover{border-color:var(--ryb-ui-accent)!important;background:var(--ryb-ui-tint)!important;transform:none!important}
.ryb-ui#ryb-connect .user-type-label{color:var(--ryb-ui-ink)!important}
.ryb-ui#ryb-connect .user-type-icon{color:var(--ryb-ui-accent)!important}
.ryb-ui#ryb-connect .user-info{color:var(--ryb-ui-muted)!important}
.ryb-ui#ryb-connect :is(.child-title,.user-title){font-size:clamp(28px,3.4vw,42px)!important;line-height:1.15!important;letter-spacing:-.035em}
.ryb-ui .input-wrapper{min-width:0}
/* Usable horizontal category list when the optional carousel cannot load. */
.ryb-ui .owl-carousel:not(.owl-loaded){display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 0 16px}
.ryb-ui .owl-carousel:not(.owl-loaded)>.category-card{flex:0 0 min(300px,85vw);scroll-snap-align:start}
.ryb-ui .category-card[data-filter-url]{cursor:pointer}
.ryb-ui.custom-funnel.ryb-embed-form .wizard-stage{height:auto!important;min-height:0!important;padding:40px 24px!important;background:var(--ryb-ui-paper)!important}
.ryb-ui.custom-funnel.ryb-embed-form .wizard-stage .bg-white{width:min(100%,640px)!important;max-width:640px!important;padding:32px!important;border:1px solid var(--ryb-ui-line);border-radius:16px!important;background:var(--ryb-ui-surface)!important;box-shadow:none!important}
.ryb-ui.custom-funnel.ryb-embed-form .wizard-stage .bg-white .container-wrapper{max-width:none!important;width:100%!important;padding:0!important}
.ryb-ui.custom-funnel.ryb-embed-form .child-title{font-size:30px!important;margin:0 0 24px!important}
.ryb-ui.custom-funnel.ryb-embed-form .step-section-title{font-size:20px!important;margin:0 0 20px!important}
.ryb-ui.custom-funnel.ryb-embed-form .form-info{display:grid!important;gap:18px!important}
.ryb-ui.custom-funnel.ryb-embed-form .input-wrapper{display:flex!important;flex-direction:column;width:100%!important}
.ryb-ui.custom-funnel.ryb-embed-form .input-wrapper>label{font-size:14px!important;margin-bottom:7px!important}
.ryb-ui.custom-funnel.ryb-embed-form .input-wrapper :is(input,textarea){width:100%!important;padding:12px 14px!important}
.ryb-ui.custom-funnel.ryb-embed-form .form-box{padding:0!important;margin-bottom:24px!important}
.ryb-ui.custom-funnel.ryb-embed-form .step-control{margin:24px 0 0!important}
.ryb-ui.custom-funnel.ryb-embed-form .form-submit{width:100%!important;border-radius:8px!important;background:var(--ryb-ui-accent)!important;color:var(--ryb-ui-on-accent)!important}
@media(max-width:767px){.ryb-ui.custom-funnel.ryb-embed-form .wizard-stage{padding:24px 16px!important}.ryb-ui.custom-funnel.ryb-embed-form .wizard-stage .bg-white{padding:24px 20px!important}.ryb-ui.custom-funnel.ryb-embed-form .child-title{font-size:27px!important}}
.ryb-ui,.ryb-ui *,.ryb-ui *::before,.ryb-ui *::after{box-sizing:border-box}
.ryb-ui.custom-funnel.ryb-embed-form .wizard-stage{display:flex!important;justify-content:center!important;align-items:flex-start!important}
.ryb-ui:is(#class-finder,#ryb-connect) .result-grid-cell.enhanced-card h3 .class-name{font-family:var(--ryb-font-family,Geist,sans-serif)!important;font-size:16px!important;color:var(--ryb-ui-ink)!important;line-height:1.4}
.ryb-ui:is(#class-finder,#ryb-connect):not(.ryb-assessment) .result-grid-cell .control-button button.enroll-class{background:var(--ryb-ui-accent)!important;color:var(--ryb-ui-on-accent)!important;border:0!important;border-radius:8px!important;box-shadow:none!important;min-height:44px}
.ryb-ui:is(#class-finder,#ryb-connect) .result-grid-cell .class-start{background:var(--ryb-ui-tint)!important;color:var(--ryb-ui-ink)!important;border-color:var(--ryb-ui-line)!important;box-shadow:none!important}
.ryb-ui:is(#class-finder,#ryb-connect) .result-grid-cell :is(.class-tuition,.class-price,.class-time,.session-detail-item,.session-next-class){color:var(--ryb-ui-ink)!important}
.ryb-ui .owl-carousel:not(.owl-loaded)>.item{flex:0 0 min(300px,85vw);scroll-snap-align:start}

/* Camp listings share the saved partner accent, control scale and theme surfaces. */
.ryb-ui#class-finder.template-new-camps :is(.camp-row,.camps-filter-bar,.camps-filter-pill,.camps-filter-dropdown){background:var(--ryb-ui-surface)!important;border-color:var(--ryb-ui-line)!important;border-radius:12px!important;box-shadow:none!important;color:var(--ryb-ui-ink)!important}
.ryb-ui#class-finder.template-new-camps :is(.camp-card-left,.camp-card-right,.camp-row-options,.camps-month-header){background:var(--ryb-ui-surface)!important;border-color:var(--ryb-ui-line)!important}
.ryb-ui#class-finder.template-new-camps :is(.camp-row-name,.date-range,.sub-label,.amount,.camp-row-price,.camps-filter-dropdown li){color:var(--ryb-ui-ink)!important}
.ryb-ui#class-finder.template-new-camps :is(.weekday-range,.camp-row-desc,.camp-row-time,.camp-row-subtitle,.sub-time,.camp-options-header,.camp-count,.camps-month-chevron){color:var(--ryb-ui-muted)!important}
.ryb-ui#class-finder.template-new-camps :is(.camp-tag,.camps-month-count){background:var(--ryb-ui-tint)!important;color:var(--ryb-ui-ink)!important;border-color:var(--ryb-ui-line)!important}
.ryb-ui#class-finder.template-new-camps .camps-month-bar-accent{background:var(--ryb-ui-accent)!important}
.ryb-ui#class-finder.template-new-camps :is(.camps-filter-pill,.camp-month-pill){min-height:44px;border-radius:8px!important}
.ryb-ui#class-finder.template-new-camps .camps-filter-dropdown li{min-height:44px}
.ryb-ui#class-finder.template-new-camps :is(.camp-button.enroll,.camp-button.waitlist,.camp-month-pill.active){background:var(--ryb-ui-accent)!important;color:var(--ryb-ui-on-accent)!important;border:0!important;border-radius:8px!important;min-height:44px;box-shadow:none!important;font-weight:600}
.ryb-ui#class-finder.template-new-camps :is(.camp-row:hover,.camp-sub-option:hover,.camps-filter-dropdown li:hover){background:var(--ryb-ui-tint)!important;transform:none!important}
.ryb-ui .ryb-connect-overlay{--ryb-ui-ink:inherit;--ryb-ui-muted:inherit;--ryb-ui-line:inherit;--ryb-ui-surface:inherit;--ryb-ui-paper:inherit;--ryb-ui-accent:inherit;color-scheme:inherit}
.ryb-connect-overlay .ryb-connect-modal :is(h4,h5,.modal-title,.price,.class-ages,.class-gender){color:var(--ryb-ui-ink)!important;font-family:var(--ryb-font-family,Geist,sans-serif)!important}
.ryb-connect-overlay .ryb-connect-modal :is(p,.modal-description,.class-info-label){color:var(--ryb-ui-muted)!important}
.ryb-connect-overlay .ryb-connect-modal :is(.register-button,.already-registered){border-radius:8px!important;min-height:44px;background:var(--ryb-ui-accent)!important;color:var(--ryb-ui-on-accent)!important;box-shadow:none!important}
.ryb-ui:is(#class-finder,#ryb-connect,#ryb-connect-categories,.custom-funnel):not(.ryb-assessment) :is(h1,h2,h3,h4,h5,.main-title,.child-title,.child-subtitle,.step-section-title){color:var(--ryb-ui-ink)!important;font-family:var(--ryb-font-family,Geist,sans-serif)!important}
.ryb-ui#class-finder>.result-content{background:var(--ryb-ui-paper)!important;color:var(--ryb-ui-ink)!important}
.ryb-ui#class-finder .ryb-connect-modal :is(.modal-total-price,.modal-total-price span,.main-modal-data .text,.main-modal-data .text span,.close-modal){color:var(--ryb-ui-ink)!important}
.ryb-ui#class-finder .ryb-connect-modal .modal-price-suffix{color:var(--ryb-ui-muted)!important}
.ryb-ui#class-finder .ryb-connect-modal .already-registered-button{min-height:44px;border:1px solid var(--ryb-ui-line)!important;border-radius:8px!important;background:var(--ryb-ui-surface)!important;color:var(--ryb-ui-ink)!important;box-shadow:none!important}
/* Override the legacy calendar's highly specific static colors. */
.ryb-ui#class-finder.full-view .filter-controls .edit-option,.ryb-ui#class-finder.full-view .grid-results>div>h4{background:var(--ryb-ui-surface)!important;color:var(--ryb-ui-ink)!important;border-color:var(--ryb-ui-line)!important}
.ryb-ui#class-finder.full-view .filter-controls .edit-option :is(.label,.value,svg){color:var(--ryb-ui-ink)!important}
.ryb-ui#class-finder.full-view .filter-controls .edit-option .label{color:var(--ryb-ui-muted)!important}
.ryb-ui#class-finder.full-view .result-grid-cell.enhanced-card :is(.class-tuition span,.session-next-class span,.class-start span){color:var(--ryb-ui-ink)!important}
.ryb-ui#class-finder.full-view .result-grid-cell.enhanced-card .class-start{background:var(--ryb-ui-tint)!important;color:var(--ryb-ui-ink)!important;border-color:var(--ryb-ui-line)!important}
.ryb-ui#class-finder.full-view .grid-results .day-count{background:var(--ryb-ui-tint)!important;color:var(--ryb-ui-ink)!important}
.ryb-ui#class-finder.full-view .grid-results .empty-day>h4{color:var(--ryb-ui-muted)!important;opacity:1!important}
.ryb-ui#class-finder.full-view .grid-results .no-result{background:var(--ryb-ui-surface)!important;color:var(--ryb-ui-muted)!important;border-color:var(--ryb-ui-line)!important;opacity:1!important;border-radius:12px}

/* Consistent, gentle feedback for contact fields and customer actions. */
@media(hover:hover) and (pointer:fine){.ryb-ui:not(.ryb-assessment) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea):hover:not(:focus):not(:disabled){border-color:color-mix(in srgb,var(--ryb-ui-accent) 45%,var(--ryb-ui-line))}}
.ryb-ui:not(.ryb-assessment) :is(.form-submit,.enroll-class,.camp-button),.ryb-connect-overlay :is(.form-submit,.register-button,.already-registered-button){transition:filter .16s ease,background .16s ease,box-shadow .16s ease}
.ryb-ui :is(button,.button):disabled{transform:none!important;box-shadow:none!important}
.ryb-ui:not(.ryb-assessment) .ryb-field-label{line-height:1.5}
.ryb-ui.custom-funnel.ryb-embed-form .form-submit:hover:not(:disabled){filter:brightness(.94)}
@media(prefers-reduced-motion:reduce){.ryb-ui:not(.ryb-assessment) :is(.form-submit,.enroll-class,.camp-button),.ryb-connect-overlay :is(.form-submit,.register-button,.already-registered-button){transition:none}}
