/* LEKTIVO 2.0 — login, izolované styly bez zásahu do CMS. */
body.lektivo-login {
    background: #08182d;
    color:#f5f9ff;
}
body.lektivo-login::before, body.lektivo-login::after {
    display:none;
}
.lektivo-login #main-content {
    max-width:none;
    padding:0;
    margin:0;
}
.lektivo-login #main-content > .container {
    max-width:none;
}
.lk-login {
    display:grid;
    grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
    min-height:calc(100vh - 76px);
    min-height:calc(100dvh - 76px);
    isolation:isolate;
    background:#07172c;
}
.lk-login-visual {
    position:relative;
    min-height: 630px;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    background:#182c3c;
}
.lk-login-visual__photo {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position: 50% 45%;
}
.lk-login-visual__shade {
    position:absolute;
    inset:0;
    pointer-events:none;
    background: linear-gradient(180deg, rgba(5,17,31,.06) 0%, rgba(6,18,38,.18) 38%, rgba(6,17,33,.76) 70%, #08172a 100%),
        linear-gradient(90deg, rgba(4,14,27,.10), transparent 70%);
}
.lk-login-visual__content {
    position:relative;
    z-index:1;
    padding: clamp(34px, 5.7vw, 95px) clamp(32px, 5.5vw, 95px) clamp(40px, 5.6vw, 78px);
    max-width:900px;
    color:#fff;
}
.lk-login-eyebrow {
    display:inline-flex;
    gap:10px;
    align-items:center;
    font-size:.85rem;
    font-weight:600;
    letter-spacing:.055em;
    text-transform:uppercase;
    color:#cae7ff;
    margin-bottom:20px;
}
.lk-login-eyebrow__dot {
    width:8px;
    height:8px;
    display:inline-block;
    background:#48b9ff;
    border-radius:50%;
    box-shadow: 0 0 0 5px rgba(72,185,255,.13);
}
.lk-login-visual__content h2 {
    font-size:clamp(2.55rem, 3.7vw, 4.5rem);
    line-height:1.13;
    font-weight:750;
    letter-spacing:-.035em;
    text-wrap:balance;
    margin:0 0 16px;
    color:#fff;
    text-shadow:0 3px 28px rgba(0,0,0,.25);
}
.lk-login-visual__content h2 span {
    color:#8dd2ff;
}
.lk-login-visual__content > p {
    max-width:560px;
    font-size:clamp(1rem, 1.24vw, 1.25rem);
    line-height:1.55;
    color:#dbe8f8;
    margin:0 0 36px;
}
.lk-login-benefits {
    display:flex;
    justify-content:space-between;
    gap:18px;
    max-width:720px;
    border-top:1px solid rgba(240,248,255,.22);
    padding-top:24px;
}
.lk-login-benefit {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:.91rem;
    font-weight:650;
    line-height:1.4;
}
.lk-login-benefit i {
    display:grid;
    place-items:center;
    flex:0 0 44px;
    height:44px;
    font-size:1.4rem;
    color:#b3e8ff;
    background:rgba(13,104,202,.38);
    border-radius:13px;
    box-shadow:inset 0 0 0 1px rgba(131,204,254,.22);
}
.lk-login-benefit small {
    font-size:.85rem;
    font-weight:400;
    color:#cbd8e6;
}
.lk-login-form-side {
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:48px clamp(25px, 4vw, 82px);
    background:radial-gradient(ellipse at 95% 18%, #153c69 0%, rgba(21,60,105,0) 47%),
        radial-gradient(ellipse at -15% 98%, rgba(26,97,173,.20), transparent 52%),
        linear-gradient(140deg,#081b33,#071224);
}
.lk-login-form-shell {
    width:min(100%, 490px);
    margin-inline:auto;
}
.lk-login-welcome {
    text-align:center;
    margin-bottom:26px;
}
.lk-login-welcome__badge {
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    margin:0 auto 15px;
    border-radius:19px;
    background:linear-gradient(155deg, rgba(48,146,245,.20), rgba(79,182,236,.08));
    border:1px solid rgba(108,181,246,.25);
    color:#81c7ff;
    font-size:1.65rem;
}
.lk-login-welcome h1 {
    font-size:clamp(1.8rem, 2.4vw, 2.35rem);
    letter-spacing:-.035em;
    margin:0 0 8px;
    font-weight:730;
    color:#fff;
}
.lk-login-welcome p {
    font-size:.96rem;
    line-height:1.6;
    color:#aebed2;
    margin:0 auto;
    max-width:360px;
}
/* Override dřívější globální .glass-card hover (formulář se nesmí posouvat). */
.lk-login-card.glass-card, .lk-login-card.glass-card:hover {
    width:100%;
    transform:none;
    border-radius:22px;
    padding:clamp(22px, 3vw, 38px);
    background:rgba(17,39,67,.69);
    border:1px solid rgba(144,185,228,.19);
    box-shadow:0 22px 70px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.04);
    -webkit-backdrop-filter:blur(24px);
    backdrop-filter:blur(24px);
}
.lk-login-card .form-animated.active {
    display:block;
    opacity:1;
    transform:none;
}
.lk-login-field {
    margin-bottom:24px;
}
.lk-login-field label {
    display:inline-block;
    color:#edf5ff;
    font-size:.92rem;
    font-weight:640;
    margin-bottom:9px;
}
.lk-login-field__label-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}
.lk-login-field__label-row a {
    color:#7ac7ff;
    font-size:.85rem;
    text-decoration:none;
    margin-bottom:9px;
    white-space:nowrap;
}
.lk-login-field__label-row a:hover {
    color:#b2e1ff;
    text-decoration:underline;
}
.lk-login-input-wrap {
    position:relative;
}
.lk-login-input-wrap > i {
    position:absolute;
    left:17px;
    top:50%;
    transform:translateY(-50%);
    color:#a7c1df;
    font-size:1.1rem;
    pointer-events:none;
    z-index:2;
}
.lk-login-input-wrap .form-control {
    height:54px;
    width:100%;
    padding:14px 47px 14px 50px;
    color:#f5fbff;
    border:1px solid rgba(156,194,228,.28);
    border-radius:12px;
    background:rgba(214,233,255,.06);
    font-size:1rem;
    box-shadow:none;
}
.lk-login-input-wrap .form-control::placeholder {
    color:#91a4bb;
    opacity:1;
}
.lk-login-input-wrap .form-control:hover {
    border-color:rgba(163,205,249,.45);
}
.lk-login-input-wrap .form-control:focus {
    border-color:#67b4ff;
    background:rgba(214,233,255,.09);
    box-shadow:0 0 0 3px rgba(63,152,245,.17);
}
.lk-login-show-password {
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#aec9e4;
    font-size:1.2rem;
}
.lk-login-show-password:hover, .lk-login-show-password:focus-visible {
    background:rgba(145,189,236,.15);
    color:#fff;
    outline:none;
}
.lk-login-turnstile {
    margin:2px 0 23px;
    min-height: auto;
    max-width:100%;
}
.lk-login-turnstile iframe {
    max-width:100%;
}
.lk-login-submit.btn.btn-primary {
    width:100%;
    min-height:54px;
    display:flex;
    gap:9px;
    align-items:center;
    justify-content:center;
    font-size:1rem;
    font-weight:690;
    border:0;
    border-radius:12px;
    box-shadow:0 8px 26px rgba(9,92,199,.25);
    background:linear-gradient(100deg,#1874f5,#308dff);
    color:#fff;
}
.lk-login-submit.btn.btn-primary:not(:disabled):hover {
    background:#338cff;
    transform:translateY(-1px);
    box-shadow:0 10px 30px rgba(9,92,199,.40);
}
.lk-login-submit.btn.btn-primary:disabled {
    opacity:.72;
    cursor:wait;
    transform:none;
    box-shadow:none;
}
.lk-login-signup {
    margin:23px 0 22px;
    text-align:center;
    color:#aebed2;
    font-size:.92rem;
}
.lk-login-signup a {
    color:#83ceff;
    text-decoration:none;
    font-weight:650;
}
.lk-login-signup a:hover {
    text-decoration:underline;
    color:#bbebff;
}
.lk-login-trust {
    border-top:1px solid rgba(155,194,236,.12);
    padding-top:19px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    color:#93a9c0;
    font-size:.83rem;
}
.lk-login-trust i {
    color:#71d6c9;
    font-size:1.15rem;
}
.lk-login a:focus-visible,.lk-login button:focus-visible {
    outline:2px solid #7dd3fc;
    outline-offset:3px;
}
@media (max-width:1199.98px) {
    .lk-login {
        grid-template-columns:minmax(0, 51fr) minmax(0, 49fr);
    }
    .lk-login-visual__content {
        padding-inline:38px;
    }
    .lk-login-benefits {
        flex-wrap:wrap;
    }
    .lk-login-benefit {
        font-size:.84rem;
    }
    .lk-login-visual__content h2 {
        font-size:clamp(2.1rem, 3.5vw, 3.2rem);
    }
}
@media (max-width:991.98px) {
    .lk-login {
        grid-template-columns:1fr;
        min-height:calc(100dvh - 70px);
    }
    .lk-login-visual {
        min-height:290px;
        max-height:360px;
    }
    .lk-login-visual__photo {
        object-position:50% 37%;
    }
    .lk-login-visual__content {
        padding:25px 35px;
    }
    .lk-login-visual__content h2 {
        font-size:clamp(1.7rem,4.2vw,2.5rem);
        margin-bottom:8px;
    }
    .lk-login-visual__content > p {
        font-size:.95rem;
        margin-bottom:0;
    }
    .lk-login-eyebrow {
        margin-bottom:9px;
        font-size:.72rem;
    }
    .lk-login-benefits {
        display:none;
    }
    .lk-login-form-side {
        padding:36px 20px 48px;
    }
}
@media (max-width:575.98px) {
    .lk-login-visual {
        min-height:190px;
        max-height:215px;
    }
    .lk-login-visual__content {
        padding:20px;
    }
    .lk-login-visual__content h2 {
        font-size:1.7rem;
    }
    .lk-login-visual__content > p {
        display:none;
    }
    .lk-login-form-side {
        padding:30px 17px 44px;
    }
    .lk-login-welcome {
        margin-bottom:19px;
    }
    .lk-login-welcome__badge {
        width:48px;
        height:48px;
        border-radius:13px;
        font-size:1.3rem;
        margin-bottom:12px;
    }
    .lk-login-card.glass-card,.lk-login-card.glass-card:hover {
        padding:21px 17px;
    }
    .lk-login-field {
        margin-bottom:19px;
    }
}
@media (prefers-reduced-motion:reduce) {
    .lk-login * {
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
    }
}
