.body:has(.login--atelier) {
    background:#151515;
    color:#f5f5f5;
    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:#f5f5f5;
    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:#fff;
    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:#fff; 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:#fff; 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:#fff; }
.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:#fff;
    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 #fff; 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 { padding:10px 0; border-bottom:1px solid #1515151f; color:#333; font:400 14px/1.5 var(--vernissage-font-text); }
#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:#fff; }
#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:#fff; }
body:has(.login--atelier) .footerTrust .footerTrust__copy strong { color:#fff; }
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(prefers-reduced-motion:reduce) { #main-content .login--atelier .form-input { transition:none; } }
