/* Shared presentation of native RSForm/RSEvents registrations. No field visibility or pricing rules. */
#userForm.os-registration{box-sizing:border-box;max-width:1000px;width:100%;margin:0 auto 36px;color:#294039;font-size:16px;line-height:1.55}
#userForm.os-registration .os-registration-title{margin:0 0 24px;padding:0;color:#245747;font-size:clamp(24px,3vw,32px);line-height:1.3;font-weight:600;letter-spacing:0;text-transform:none}
#userForm.os-registration .formContainer,#userForm.os-registration .formRow,#userForm.os-registration .formSpan12{box-sizing:border-box;width:100%;margin:0;padding:0;float:none}
#userForm.os-registration .os-registration-course{margin:0 0 24px!important;padding:22px 26px!important;border:1px solid #c6d8cf;border-radius:10px;background:#fff}
#userForm.os-registration .os-registration-course-title{margin:0;padding:0;font-size:22px;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none;color:#245747}
#userForm.os-registration .os-registration-section{margin:0 0 24px;padding:26px;border:1px solid #c6d8cf;border-radius:12px;background:#edf4f0}
#userForm.os-registration .os-registration-section-title{margin:0 0 20px;padding:0;color:#245747;font-size:21px;line-height:1.4;font-weight:600;letter-spacing:0;text-transform:none}
#userForm.os-registration .os-registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;align-items:start}
#userForm.os-registration .os-registration-grid>.rsform-block{grid-column:1/-1;min-width:0;margin:0!important;padding:0!important;float:none;clear:none}
#userForm.os-registration .os-registration-grid>.os-registration-half{grid-column:auto}
#userForm.os-registration .formControlLabel{display:block;width:auto;float:none;margin:0 0 7px;padding:0;font-size:16px;line-height:1.5;font-weight:600;color:#294039}
#userForm.os-registration :is(.formControls,.formBody){margin:0;padding:0;width:auto;float:none;min-width:0}
#userForm.os-registration :is(input.rsform-input-box,textarea.rsform-text-box,select.rsform-select-box,#number,#numberinp){box-sizing:border-box;width:100%;max-width:100%;min-height:48px;height:auto!important;margin:0;padding:11px 13px;border:1px solid #749382;border-radius:7px;background-color:#fff;box-shadow:none;color:#294039;font:inherit;font-size:16px;line-height:1.5}
#userForm.os-registration select.rsform-select-box{padding-right:32px}
#userForm.os-registration textarea.rsform-text-box{min-height:120px;resize:vertical}
#userForm.os-registration :is(input.rsform-radio,input.rsform-checkbox){appearance:auto;position:static;width:19px;height:19px;min-height:0;margin:0;flex:none;accent-color:#245747;cursor:pointer}
#userForm.os-registration .rsfp-fieldset{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;border:0;min-width:0}
#userForm.os-registration .rsfp-fieldset>label{display:inline-flex;align-items:center;gap:10px;min-height:46px;box-sizing:border-box;margin:0;padding:9px 15px;border:1px solid #749382;border-radius:7px;background:#fff;color:#294039;font-size:16px;line-height:1.5;cursor:pointer}
#userForm.os-registration .rsfp-fieldset>label:has(input:checked){background:#dcebe3;border-color:#245747;color:#193e32}
#userForm.os-registration .formDescription{margin:6px 0 0;color:#4b6056;font-size:14px;line-height:1.5}
#userForm.os-registration .formDescription:empty{display:none}
#userForm.os-registration .formValidation .formError{display:block;margin-top:7px;color:#902e35;font-size:14px;font-weight:600;line-height:1.5}
#userForm.os-registration .rsform-error{border-color:#902e35!important}
#userForm.os-registration .os-registration-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#userForm.os-registration .rsform-block-rseprotickets .formBody{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}
#userForm.os-registration .rsform-block-rseprotickets .formBody>br,#userForm.os-registration .rsform-block-rseprotickets .rs_clear{display:none}
#userForm.os-registration :is(#number,#numberinp){width:78px;flex:0 0 78px}
#userForm.os-registration #RSEProTickets{flex:1 1 300px;min-width:0}
#userForm.os-registration :is(#grandtotalcontainer,#tdescription,#paymentinfocontainer){box-sizing:border-box;flex-basis:100%;width:100%;font-size:14px;line-height:1.55}
#userForm.os-registration #grandtotalcontainer{padding:14px 16px;border:1px solid #c6d8cf;border-radius:7px;background:#fff;color:#245747;font-size:18px;font-weight:600}
#userForm.os-registration #tdescription{color:#4b6056}
#userForm.os-registration .os-registration-confirmation .rsform-type-checkboxgroup{padding:0 0 18px!important;border-bottom:1px solid #c6d8cf}
#userForm.os-registration .os-registration-confirmation a{color:#245747;text-decoration:underline;text-underline-offset:3px}
#userForm.os-registration .rsform-block-txt-plz-wait{font-size:14px;line-height:1.5;color:#4b6056}
#userForm.os-registration .rsform-block-txt-plz-wait :is(p,span){font-family:inherit!important;font-size:inherit!important;line-height:inherit;margin:0}
#userForm.os-registration button.rsform-submit-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;max-width:100%;margin:0;padding:12px 24px;border:1px solid #245747;border-radius:8px;background:#245747;background-image:none;box-shadow:none;color:#fff;text-shadow:none;font:inherit;font-size:16px;font-weight:600;line-height:1.4;text-transform:uppercase;white-space:normal;cursor:pointer}
#userForm.os-registration button.rsform-submit-button:hover{background:#193e32;border-color:#193e32;color:#fff}
#userForm.os-registration button.rsform-submit-button:disabled{opacity:.65;cursor:wait}
#userForm.os-registration :is(input,textarea,select,button,a):focus-visible{outline:3px solid #245747;outline-offset:3px;box-shadow:none}
#userForm.os-registration .rsfp-fieldset>label:focus-within{outline:3px solid #245747;outline-offset:2px}
@media(max-width:650px){#userForm.os-registration .os-registration-grid{grid-template-columns:minmax(0,1fr);gap:18px}#userForm.os-registration .os-registration-section{padding:18px;margin-bottom:18px}#userForm.os-registration .os-registration-course{padding:18px!important;margin-bottom:18px!important}#userForm.os-registration .os-registration-course-title{font-size:19px}#userForm.os-registration .os-registration-section-title{font-size:20px}#userForm.os-registration #RSEProTickets{flex-basis:100%;width:100%}#userForm.os-registration button.rsform-submit-button{width:100%}}

#userForm.os-registration .os-registration-quantity{flex:0 0 90px;min-width:0}
#userForm.os-registration .os-registration-quantity-label{display:block;margin:0 0 5px;color:#4b6056;font-size:13px;font-weight:600}
#userForm.os-registration .rsform-block-rseprotickets .formBody{align-items:flex-end}
#userForm.os-registration .os-registration-quantity :is(#number,#numberinp){width:100%}

/* Compact consent rows: keep native checkbox names, values and validation. */
#userForm.os-registration .os-registration-confirmation .os-registration-consent-block{padding:0!important;border:0}
#userForm.os-registration .os-registration-consent{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border:1px solid #c6d8cf;border-radius:8px;background:#fff}
#userForm.os-registration .os-registration-consent>input.rsform-checkbox{margin-top:3px;flex:none}
#userForm.os-registration .os-registration-consent-text{min-width:0;flex:1}
#userForm.os-registration .os-registration-consent-label{display:block;margin:0;padding:0;min-height:24px;font-size:16px;line-height:1.55;font-weight:400;color:#294039;cursor:pointer}
#userForm.os-registration .os-registration-consent:has(input:focus-visible){outline:3px solid #245747;outline-offset:3px}
#userForm.os-registration .os-registration-consent>input:focus-visible{outline:none}
/* Existing Regular Labs dialog: above the fixed menu, with a separate persistent close bar. */
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"]{z-index:11000;--main-margin:0px;--close-button-size:44px}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] [data-modals-element="overlay"]{backdrop-filter:none;background:rgba(21,39,31,.65)}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] [data-modals-element="container"]{position:absolute;inset:24px;width:calc(100% - 48px);max-width:960px;height:calc(100% - 48px);max-height:840px;margin:auto;padding:0;box-sizing:border-box;border:1px solid #c6d8cf;border-radius:14px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] [data-modals-element="main"]{box-sizing:border-box;width:100%;height:100%;min-height:0;margin:0;padding:64px 0 0;flex:1;max-width:100%;overflow:hidden}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] :is([data-modals-element="center"],[data-modals-element="slides"],[data-modals-element="slide"],[data-modals-element="slide-container"],[data-modals-element="slide-content"],[data-modals-element="slide-content-inner"]){box-sizing:border-box;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-height:0;margin:0;padding:0;border-radius:0}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] [data-modals-element="slide-content"]{background:#fff;overflow:hidden}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] iframe{display:block;border:0;width:100%;height:100%}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] [data-modals-element="close-bar"]{position:absolute;inset:0 0 auto;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;height:64px;padding:8px 12px;box-sizing:border-box;border-bottom:1px solid #c6d8cf;background:#edf4f0;z-index:3}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] [data-modals-element="close-bar"]:before{content:"Lecture du document";margin-right:auto;color:#245747;font-size:15px;font-weight:600}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] button[data-modals-element="close"]{position:static;display:block;width:116px;height:44px;min-height:44px;padding:0 12px 0 32px;border:1px solid #245747;border-radius:7px;background-color:#245747;background-size:16px 16px;background-position:12px center;background-repeat:no-repeat;color:#fff;opacity:1;filter:none;cursor:pointer}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] button[data-modals-element="close"]:after{content:"Fermer";color:#fff;font-size:15px;font-weight:600;line-height:42px}
[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] button[data-modals-element="close"]:focus-visible{outline:3px solid #245747;outline-offset:3px}
@media(max-width:650px){[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] [data-modals-element="container"]{inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);max-height:none;border-radius:12px}[data-modals-element="modal"][id^="rl_modal_os-registration-policy-"] [data-modals-element="close-bar"]:before{font-size:13px}}
#userForm.os-registration .os-registration-quantity{flex-basis:182px}
#userForm.os-registration .os-registration-quantity-controls{display:flex;align-items:stretch;gap:6px}
#userForm.os-registration .os-registration-quantity-controls :is(#number,#numberinp){width:82px;flex:1 1 82px;min-width:0;text-align:center}
#userForm.os-registration .os-registration-step{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 44px;width:44px;min-height:48px;padding:0;margin:0;border:1px solid #749382;border-radius:7px;background:#fff;color:#245747;font:inherit;font-size:22px;cursor:pointer}
#userForm.os-registration .os-registration-step:hover{background:#dcebe3}
/* Keep Google's protection and legal links; only neutralize the inline badge colour. */
#userForm.os-registration .grecaptcha-badge{filter:grayscale(1)}
@media(min-width:651px){#userForm.os-registration .os-registration-grid>.rsform-type-recaptchav2{grid-column:1;align-self:center}#userForm.os-registration .os-registration-grid>.rsform-type-submitbutton{grid-column:2;align-self:center;justify-self:end}}

#userForm.os-registration .os-registration-consent-label>label{display:inline;margin:0;font:inherit;cursor:pointer}
#userForm.os-registration .os-registration-consent-label>a{display:inline-block;max-width:100%;vertical-align:top}
@media(max-width:360px){#userForm.os-registration .grecaptcha-badge{zoom:.875}}

/* Membership help and the native one-ticket controls. */
#userForm.os-registration #os-registration-membership{scroll-margin-top:130px}
#userForm.os-registration .os-registration-membership-help{margin:0 0 10px}
#userForm.os-registration .os-registration-tariff-help{flex-basis:100%;margin:0}
#userForm.os-registration .os-registration-login{margin:12px 0 0}
#userForm.os-registration :is(.os-registration-single-quantity[hidden],.os-registration-login[hidden]){display:none!important}
#userForm.os-registration :is(.os-registration-tariff-help,.os-registration-login) a{color:#245747;text-decoration:underline;text-underline-offset:3px}

/* Optional native login: a shared module in a compact same-origin view. */
#userForm.os-registration .os-registration-join{margin:12px 0 0}
#userForm.os-registration .os-registration-join[hidden]{display:none!important}
#userForm.os-registration .os-registration-join a{color:#245747;text-decoration:underline;text-underline-offset:3px}
html.os-login-dialog-open{overflow:hidden}
.os-login-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:620px;height:min(430px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #c6d8cf;border-radius:14px;background:#fff;color:#294039;box-shadow:0 12px 36px rgba(21,39,31,.2);overflow:hidden}
.os-login-dialog[open]{display:flex;flex-direction:column}
.os-login-dialog::backdrop{background:rgba(21,39,31,.65)}
.os-login-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;min-height:68px;padding:10px 16px;box-sizing:border-box;border-bottom:1px solid #c6d8cf;background:#edf4f0}
.os-login-dialog-header h2{margin:0;padding:0;color:#245747;font-size:21px;line-height:1.4;font-weight:600;text-transform:none;letter-spacing:0}
.os-login-dialog-close{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:106px;min-height:44px;margin:0;padding:8px 12px;border:1px solid #245747;border-radius:7px;background:#245747;color:#fff;font:inherit;font-size:16px;line-height:1.4;cursor:pointer}
.os-login-dialog-close>span{font-size:25px;line-height:1}
.os-login-dialog-close:hover{background:#193e32}
.os-login-dialog-close:focus-visible{outline:3px solid #245747;outline-offset:3px}
.os-login-dialog-frame{display:block;flex:1;width:100%;min-height:0;margin:0;border:0;background:#fff}
.os-login-dialog-frame[hidden],.os-login-dialog-loading[hidden]{display:none}
.os-login-dialog-loading{padding:24px;margin:0;color:#294039;font-size:16px}
body.os-login-frame{box-sizing:border-box;min-height:0;margin:0;padding:24px;background:#fff;color:#294039;font-size:16px;line-height:1.55}
@media(max-width:400px){.os-login-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);height:min(430px,calc(100dvh - 20px))}.os-login-dialog-header{padding-inline:12px}body.os-login-frame{padding:12px}}
