.body:has(.login--atelier) {
    background:#151515;
    color:var(--vernissage-white-text);
    margin-top:0;
    padding-bottom:0;
}
.body:has(.login--atelier) > .container { width:100%; max-width:none; padding:0; }
#main-content .login--atelier {
    width:min(1120px,calc(100% - 96px));
    max-width:none;
    margin:0 auto;
    padding:72px 0 88px;
}
.login--atelier .login-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
    align-items:start;
    gap:96px;
    width:100%;
    max-width:none;
    margin:0;
}
.login--atelier .login-row::before,
.login--atelier .login-row::after { content:none; }
.login--atelier .login-row:not(:has(.new-customer)) { grid-template-columns:minmax(0,480px); justify-content:center; }
#main-content .login--atelier .page-heading {
    margin:0 0 36px;
    color:var(--vernissage-white-text);
    font:400 42px/1.15 var(--vernissage-font-brand);
    letter-spacing:0;
    text-align:left;
    text-transform:none;
}
.login--atelier .login-form { float:none; width:100%; margin:0; padding:0; }
.login--atelier .form-field { margin:0 0 24px; }
#main-content .login--atelier .form-label { margin-bottom:10px; color:#ddd; font:400 14px/1.4 var(--vernissage-font-text); }
#main-content .login--atelier .form-input {
    min-height:50px;
    height:50px;
    padding:12px 14px;
    background:#202020;
    color:var(--vernissage-white-text);
    border:1px solid #ffffff40;
    border-radius:2px;
    font:400 16px/1.5 var(--vernissage-font-text);
    letter-spacing:0;
    transition:border-color 150ms ease,background 150ms ease;
    color-scheme:dark;
}
#main-content .login--atelier .form-input:hover { border-color:#ffffff85; }
#main-content .login--atelier .form-input:focus { background:#252525; border-color:var(--vernissage-white-text); box-shadow:0 0 0 1px #fff; outline:none; }
.loginAtelier-passwordLabel { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.loginAtelier-password { position:relative; }
#main-content .login--atelier .loginAtelier-password .form-input { padding-right:52px; }
.login--atelier .loginAtelier-toggle {
    position:absolute;
    top:3px;
    right:3px;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:2px;
    color:#aaa;
    background:transparent;
    cursor:pointer;
}
.login--atelier .loginAtelier-toggle:hover { color:var(--vernissage-white-text); background:#ffffff0d; }
.login--atelier .loginAtelier-eyeOff { display:none; }
.login--atelier .loginAtelier-toggle[aria-pressed="true"] .loginAtelier-eye { display:none; }
.login--atelier .loginAtelier-toggle[aria-pressed="true"] .loginAtelier-eyeOff { display:block; }
#main-content .login--atelier .forgot-password {
    margin:0;
    padding:0;
    color:#bbb;
    font:400 13px/1.5 var(--vernissage-font-text);
    text-decoration:underline;
    text-underline-offset:3px;
    white-space:nowrap;
}
#main-content .login--atelier .forgot-password:hover { color:var(--vernissage-white-text); }
.login--atelier .form-actions { display:block; margin:28px 0 0; text-align:left; }
#main-content .login--atelier .form-actions .button--primary {
    display:block;
    width:100%;
    min-height:50px;
    margin:0;
    padding:12px 18px;
    border:2px solid transparent !important;
    border-radius:2px;
    color:var(--vernissage-white-text);
    background:linear-gradient(#000,#000) padding-box,linear-gradient(115deg,#104b7b,#ee2229 40%,#f1b418) border-box !important;
    font:600 15px/1.4 var(--vernissage-font-text);
    letter-spacing:0;
    text-transform:none;
}
#main-content .login--atelier .form-actions .button--primary:hover { background:linear-gradient(115deg,#104b7b,#ee2229 40%,#f1b418) border-box !important; }
.login--atelier :is(a,button,input[type="submit"]):focus-visible { outline:2px solid var(--vernissage-white-text); outline-offset:4px; }
#main-content .login--atelier .new-customer {
    float:none;
    width:100%;
    min-width:0;
    margin:0;
    padding:36px;
    background:radial-gradient(ellipse at 20% 0%,#ffffff80,transparent 75%),#deddd8;
    color:#151515;
}
#main-content .login--atelier .panel-title { margin:0 0 16px; color:#151515; font:400 28px/1.25 var(--vernissage-font-brand); letter-spacing:0; }
#main-content .login--atelier .new-customer-intro { margin:0; color:#59564f; font:400 15px/1.6 var(--vernissage-font-text); }
.login--atelier .new-customer-fact-list { list-style:none; margin:24px 0 28px; padding:0; }
#main-content .login--atelier .new-customer-fact { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; column-gap:12px; padding:10px 0; border-bottom:1px solid #1515151f; color:#333; font:400 14px/1.5 var(--vernissage-font-text); }
.login--atelier .new-customer-fact::before {
    content:"";
    width:20px;
    height:20px;
    background:#151515;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M6.5 11.2L9.4 14.1L15.5 7.9' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M6.5 11.2L9.4 14.1L15.5 7.9' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
#main-content .login--atelier .new-customer-fact:first-child { border-top:1px solid #1515151f; }
#main-content .login--atelier .loginAtelier-register {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    margin:0;
    padding:12px 18px;
    border:1px solid #151515;
    border-radius:2px;
    background:transparent;
    color:#151515;
    font:600 14px/1.4 var(--vernissage-font-text);
    letter-spacing:0;
    text-decoration:none;
    text-transform:none;
}
#main-content .login--atelier .loginAtelier-register:hover { background:#151515; color:var(--vernissage-white-text); }
#main-content .login--atelier .loginAtelier-register:focus-visible { outline-color:#151515; }
#main-content .login--atelier .form-inlineMessage { color:#ffb4ab; font:400 13px/1.5 var(--vernissage-font-text); margin-top:8px; }
#main-content .login--atelier .form-field--error .form-input { border-color:#e47770; }
.login--atelier .alertBox { margin-bottom:24px; }
body:has(.login--atelier) .footer .footerTrust { background:#000; color:var(--vernissage-white-text); }
body:has(.login--atelier) .footerTrust .footerTrust__copy strong { color:var(--vernissage-white-text); }
body:has(.login--atelier) .footerTrust .footerTrust__copy > span { color:#aaa; }
@media(max-width:1000px) {
    #main-content .login--atelier { width:calc(100% - 64px); padding:56px 0 64px; }
    .login--atelier .login-row { gap:48px; grid-template-columns:minmax(0,1fr) minmax(280px,.9fr); }
    #main-content .login--atelier .new-customer { padding:28px; }
}
@media(max-width:700px) {
    #main-content .login--atelier { width:calc(100% - 40px); padding:40px 0 48px; }
    .login--atelier .login-row { grid-template-columns:minmax(0,1fr); gap:40px; }
    #main-content .login--atelier .page-heading { font-size:32px; margin-bottom:28px; }
    #main-content .login--atelier .new-customer { padding:28px 24px; }
    #main-content .login--atelier .panel-title { font-size:25px; }
}
@media(max-width:359px) {
    .login--recovery .g-recaptcha { transform:scale(.89); transform-origin:top left; margin-bottom:11px; }
}
@media(prefers-reduced-motion:reduce) { #main-content .login--atelier .form-input { transition:none; } }

#main-content .login--recovery {
    width:min(560px,calc(100% - 96px));
    padding:64px 0 80px;
}
#main-content .login--recovery .page-heading { margin-bottom:22px; }
#main-content .login--recoveryRequest {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,440px);
    align-items:start;
    gap:80px;
    width:min(1040px,calc(100% - 96px));
    padding:96px 0 80px;
}
.loginRecovery-welcome { padding-top:24px; }
#main-content .login--recoveryRequest .page-heading { max-width:440px; font-size:46px; line-height:1.16; text-wrap:balance; }
#main-content .login--recoveryRequest .loginRecovery-intro { max-width:360px; margin-bottom:0; font-size:17px; line-height:1.7; }
.loginRecovery-fields { min-width:0; padding-top:24px; }
.loginRecovery-fields .loginRecovery-back { margin:12px 0 0; }
.loginRecovery-fields .form-actions { margin-top:24px; }
.loginRecovery-fields .g-recaptcha + br { display:none; }
.loginRecovery-back {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    margin:0 0 22px;
    color:#bdbdb8;
    font:400 13px/1.4 var(--vernissage-font-text);
    text-decoration:none;
}
.loginRecovery-back:hover { color:var(--vernissage-white-text); text-decoration:underline; text-underline-offset:4px; }
#main-content .login--recovery .loginRecovery-intro { margin:0 0 32px; color:#bdbdb8 !important; font:400 16px/1.65 var(--vernissage-font-text); }
.login--recovery .form { margin:0; }
.login--recovery .form-row { margin:0; display:block; }
.login--recovery .form-row .form-field { width:100%; padding:0; float:none; }
.login--recovery .g-recaptcha { max-width:100%; margin:20px 0; }
.login--recovery .alertBox { border-radius:2px; }
@media(min-width:701px) and (max-width:1000px) {
    #main-content .login--recoveryRequest { grid-template-columns:minmax(0,1fr); width:min(560px,calc(100% - 64px)); gap:32px; padding-top:56px; }
    .loginRecovery-welcome,.loginRecovery-fields { padding-top:0; }
    #main-content .login--recoveryRequest .page-heading { font-size:42px; }
    #main-content .login--recoveryRequest .loginRecovery-intro { max-width:480px; }
}
@media(max-width:700px) {
    #main-content .login--recovery { width:calc(100% - 40px); padding:32px 0 48px; }
    #main-content .login--recovery .page-heading { font-size:32px; line-height:1.2; overflow-wrap:anywhere; }
    .loginRecovery-back { margin-bottom:18px; }
    #main-content .login--recovery .loginRecovery-intro { font-size:15px; margin-bottom:28px; }
    #main-content .login--recoveryRequest { grid-template-columns:minmax(0,1fr); gap:28px; }
    .loginRecovery-welcome,.loginRecovery-fields { padding-top:0; }
    #main-content .login--recoveryRequest .page-heading { font-size:36px; max-width:340px; margin-bottom:20px; }
    #main-content .login--recoveryRequest .loginRecovery-intro { font-size:16px; margin-bottom:0; }
}
