/* Jongen Login 1.1.0 - scoped module styles */
.jg-login-page{
    --jg-navy:#062f52;
    --jg-blue:#075783;
    --jg-red:#8cc9e8;
    --jg-ink:#172837;
    --jg-muted:#687987;
    --jg-line:#dfe7ed;
    --jg-soft:#f4f7f9;
    --jg-white:#ffffff;
    width:100vw;
    margin-left:calc(50% - 50vw);
    padding-bottom:54px;
    background:#f5f8fa;
    color:var(--jg-ink);
}
.jg-login-page *{box-sizing:border-box}

/* Blendet die zusätzliche Theme-Seitenüberschrift nur auf der Loginseite aus. */
body:has(.jg-login-page) h1.page-header,
body:has(.jg-login-page) .page-header h1,
body:has(.jg-login-page) main > .container > h1:first-child{
    display:none!important;
}

.jg-login-hero{
    position:relative;
    overflow:hidden;
    width:100%;
    padding:82px 24px 64px;
    margin-bottom:40px;
    text-align:center;
    color:#fff;
    background:radial-gradient(circle at 85% 12%,rgba(31,132,183,.3),transparent 31%),linear-gradient(125deg,#031d33,#063f69 58%,#075f91);
}
.jg-login-hero:before{
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:44px 44px;
}
.jg-login-hero__inner,
.jg-login-content{
    width:min(1170px,calc(100% - 48px));
    margin-inline:auto;
}
.jg-login-hero__inner{position:relative;z-index:2}
.jg-login-hero__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#8cc9e8;
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
}
.jg-login-hero__eyebrow:before{content:"";width:32px;height:2px;background:currentColor}
.jg-login-hero h1{
    margin:12px 0;
    color:#fff;
    font-size:clamp(2.4rem,5vw,4.4rem);
    font-weight:800;
    letter-spacing:-.045em;
}
.jg-login-hero p{
    max-width:750px;
    margin:auto;
    color:rgba(255,255,255,.76);
    line-height:1.7;
    font-size:1.05rem;
}
.jg-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.jg-login-card{
    display:flex;
    flex-direction:column;
    padding:28px;
    background:#fff;
    border:1px solid var(--jg-line);
    border-radius:18px;
    box-shadow:0 12px 35px rgba(18,52,75,.06);
}
.jg-login-card__head{padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--jg-line)}
.jg-login-kicker{display:block;margin-bottom:6px;color:var(--jg-red);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.jg-login-card h2{margin:0;color:var(--jg-navy);font-weight:800}
.jg-login-intro{margin:0 0 22px;color:var(--jg-muted);line-height:1.7}
.jg-login-page .form-floating{margin-bottom:16px}
.jg-login-page .form-control{min-height:58px;color:var(--jg-ink);background:var(--jg-soft);border:1px solid var(--jg-line);border-radius:10px;box-shadow:none}
.jg-login-page .form-control:focus{background:#fff;border-color:var(--jg-blue);box-shadow:0 0 0 .2rem rgba(7,87,131,.13)}
.jg-login-page .form-floating>label{color:var(--jg-muted)}
.jg-login-forgot{display:inline-flex;margin:0 0 20px;color:var(--jg-blue);font-weight:700;text-decoration:none}
.jg-login-forgot:hover{color:var(--jg-red);text-decoration:underline}
.jg-login-page .form-check{margin-bottom:22px}
.jg-login-page .form-check-input:checked{background-color:var(--jg-red);border-color:var(--jg-red)}
.jg-login-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:14px 22px;
    color:#fff!important;
    background:var(--jg-red);
    border:0;
    border-radius:10px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
    transition:.2s;
}
.jg-login-button:hover{color:#fff;background:#c10512;transform:translateY(-2px)}
.jg-login-notice{display:flex;flex-direction:column;gap:5px;padding:17px 18px;margin-bottom:20px;background:#eef5f8;border-left:4px solid var(--jg-blue);border-radius:8px;color:var(--jg-muted);line-height:1.55}
.jg-login-notice strong{color:var(--jg-navy)}
.jg-login-checklist{list-style:none;padding:0;margin:0 0 24px}
.jg-login-checklist li{position:relative;padding-left:28px;margin-bottom:12px;line-height:1.55}
.jg-login-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--jg-red);font-weight:900}
.jg-login-security{margin-top:auto;padding:16px 18px;color:var(--jg-muted);background:var(--jg-soft);border-left:4px solid var(--jg-red);border-radius:8px;line-height:1.55}
@media(max-width:991px){.jg-login-grid{grid-template-columns:1fr}}
@media(max-width:575px){
    .jg-login-hero{padding:58px 18px 48px}
    .jg-login-hero__inner,.jg-login-content{width:calc(100% - 28px)}
    .jg-login-card{padding:20px}
}
