
:root{
    --lah-login-green:#2dae1c;
    --lah-login-navy:#082657;
}

.lah-login-shell,
.lah-ticket-login{
    max-width:1180px;
    margin:40px auto;
    padding:0 18px;
    font-family:inherit;
}

.lah-login-shell{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(360px,1fr);
    gap:28px;
    align-items:stretch;
}

.lah-login-info,
.lah-login-form,
.lah-ticket-login,
body.login #loginform,
body.login #lostpasswordform,
body.login #registerform{
    background:#ffffff!important;
    border:1px solid #dce4ee!important;
    border-radius:22px!important;
    box-shadow:0 18px 50px rgba(8,38,87,.12)!important;
}

.lah-login-info{
    padding:34px;
    background:linear-gradient(135deg,rgba(45,174,28,.08),#fff)!important;
}

.lah-login-info img{
    max-width:270px;
    height:auto;
    display:block;
    margin:0 0 28px;
}

.lah-login-info h2{
    margin:0 0 14px;
    color:var(--lah-login-navy);
    font-size:clamp(30px,4vw,46px);
    line-height:1.06;
    font-weight:950;
}

.lah-login-info p{
    color:#52637a;
    font-size:17px;
    line-height:1.6;
    margin:0 0 22px;
}

.lah-login-info ul{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:12px;
}

.lah-login-info li{
    color:var(--lah-login-navy);
    font-weight:900;
    font-size:16px;
}

.lah-login-form,
.lah-ticket-login form{
    padding:34px;
}

.lah-login-form h3{
    margin:0 0 22px;
    color:var(--lah-login-navy);
    font-size:30px;
    line-height:1.1;
    font-weight:950;
}

.lah-login-form label,
.lah-ticket-login label{
    display:block;
    margin:0 0 16px;
    color:var(--lah-login-navy);
    font-weight:850;
}

.lah-login-form input[type="text"],
.lah-login-form input[type="password"],
.lah-login-form input[type="email"],
.lah-ticket-login input[type="text"],
.lah-ticket-login input[type="password"],
.lah-ticket-login input[type="email"],
body.login input[type="text"],
body.login input[type="password"],
body.login input[type="email"]{
    width:100%!important;
    min-height:54px!important;
    border:1px solid #d6e0eb!important;
    border-radius:14px!important;
    padding:0 16px!important;
    background:#fff!important;
    color:#243046!important;
    font-size:16px!important;
    box-shadow:none!important;
    outline:none!important;
}

.lah-login-form input:focus,
.lah-ticket-login input:focus,
body.login input:focus{
    border-color:var(--lah-login-green)!important;
    box-shadow:0 0 0 4px rgba(45,174,28,.12)!important;
}

.lah-login-remember,
.lah-ticket-login .login-remember label{
    display:flex!important;
    align-items:center;
    gap:9px;
    color:#52637a!important;
    font-weight:700!important;
}

.lah-login-remember input,
.lah-ticket-login input[type="checkbox"]{
    width:17px!important;
    height:17px!important;
    min-height:17px!important;
    accent-color:var(--lah-login-green);
}

.lah-login-form button,
.lah-login-button,
.lah-ticket-login input[type="submit"],
body.login .button-primary{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:54px!important;
    border:0!important;
    border-radius:14px!important;
    background:var(--lah-login-green)!important;
    color:#fff!important;
    font-size:17px!important;
    font-weight:950!important;
    text-decoration:none!important;
    cursor:pointer!important;
    box-shadow:0 12px 24px rgba(45,174,28,.22)!important;
    transition:.18s ease!important;
}

.lah-login-form button:hover,
.lah-login-button:hover,
.lah-ticket-login input[type="submit"]:hover,
body.login .button-primary:hover{
    background:var(--lah-login-navy)!important;
    color:#fff!important;
    transform:translateY(-1px);
}

.lah-login-links{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    justify-content:center;
    margin-top:18px;
}

.lah-login-links a,
.lah-ticket-login a,
body.login #nav a,
body.login #backtoblog a{
    color:var(--lah-login-navy)!important;
    font-weight:850;
    text-decoration:none!important;
}

.lah-login-links a:hover,
.lah-ticket-login a:hover,
body.login #nav a:hover,
body.login #backtoblog a:hover{
    color:var(--lah-login-green)!important;
}

.lah-login-error{
    background:#fff1f0;
    border:1px solid #ffd1cc;
    color:#c0392b;
    border-radius:12px;
    padding:12px 14px;
    margin-bottom:18px;
    font-weight:800;
}

.lah-turnstile-wrap{
    margin:16px 0 18px;
    min-height:65px;
}

/* Styling for existing wp_login_form() output, like the ticketsystem login */
.lah-ticket-login{
    max-width:760px;
    padding:30px;
}

.lah-ticket-login > p:first-child{
    margin:0 0 22px;
    color:var(--lah-login-navy);
    font-size:24px;
    font-weight:950;
}

.lah-ticket-login form{
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    background:transparent!important;
}

.lah-ticket-login .login-submit{
    margin-top:18px!important;
}

/* WordPress wp-login.php page */
body.login{
    background:
        radial-gradient(circle at top left, rgba(45,174,28,.12), transparent 35%),
        linear-gradient(135deg,#f7fafc,#eef4f8)!important;
}

body.login #login{
    width:min(92vw,430px)!important;
    padding:6vh 0 0!important;
}

body.login h1 a{
    width:300px!important;
    height:90px!important;
    background-size:contain!important;
    background-position:center!important;
    margin-bottom:18px!important;
}

body.login #loginform,
body.login #lostpasswordform,
body.login #registerform{
    padding:30px!important;
}

body.login label{
    color:var(--lah-login-navy)!important;
    font-weight:850!important;
}

body.login .forgetmenot{
    float:none!important;
    margin:0 0 16px!important;
}

body.login .submit{
    margin:0!important;
}

body.login .message,
body.login .notice,
body.login #login_error{
    border-left:4px solid var(--lah-login-green)!important;
    border-radius:12px!important;
    box-shadow:0 8px 22px rgba(8,38,87,.08)!important;
}

@media(max-width:800px){
    .lah-login-shell{
        grid-template-columns:1fr;
        margin:24px auto;
    }

    .lah-login-info,
    .lah-login-form,
    .lah-ticket-login{
        padding:24px;
        border-radius:18px!important;
    }

    .lah-login-info img{
        max-width:235px;
    }
}

@media(max-width:520px){
    .lah-login-shell,
    .lah-ticket-login{
        padding:0 12px;
    }

    .lah-login-info,
    .lah-login-form,
    .lah-ticket-login{
        padding:20px;
    }

    .lah-login-form h3{
        font-size:26px;
    }
}
