/* LEKTIVO 2.0 – veřejná navigace a mobilní offcanvas */
.lk-nav-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
    background: rgba(7, 19, 39, .96);
    border-bottom: 1px solid rgba(143, 174, 214, .13);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    color: #eef6ff;
}
.lk-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    min-height: 76px;
    max-width: 1560px;
    padding-inline: clamp(18px, 4.1vw, 72px);
    gap: 18px;
}
.lk-nav .lk-nav-brand {
    flex: 0 0 auto;
    margin: 0 clamp(10px, 4vw, 74px) 0 0;
    padding: 0;
    line-height: 1;
}
.lk-nav-brand img {
    display: block;
    max-width: 100%;
    width: 156px;
    height: auto;
    max-height: 48px;
    object-fit: contain;
}
.lk-nav .lk-nav-links {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: clamp(4px, 1.2vw, 21px);
}
.lk-nav .lk-nav-links .nav-link {
    padding: 11px 9px;
    color: #c9d7e9;
    font-size: .95rem;
    font-weight: 500;
    white-space: nowrap;
    transition: color .16s ease;
}
.lk-nav .lk-nav-links .nav-link:hover,
.lk-nav .lk-nav-links .nav-link:focus-visible,
.lk-nav .lk-nav-links .nav-link.active {
    color: #68c0ff;
}
.lk-nav :is(a, button):focus-visible,
.lk-mobile-nav :is(a, button):focus-visible {
    outline: 2px solid #7dd3fc;
    outline-offset: 3px;
}
.lk-nav-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    gap: 13px;
    margin-left: auto;
}
.lk-nav-actions a {
    text-decoration: none;
    white-space: nowrap;
    font-size: .91rem;
    font-weight: 600;
}
.lk-nav-login {
    color: #d4e4fa;
    padding: 11px 12px;
    border-radius: 11px;
}
.lk-nav-login:hover {
    color: #fff;
    background: rgba(255,255,255,.055);
}
.lk-nav-signup {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(86, 179, 251, .42);
    color: #eaf6ff;
    padding: 10px 17px;
    border-radius: 12px;
    background: linear-gradient(135deg,#1b75ef,#0e5dca);
    box-shadow: 0 6px 19px rgba(16, 87, 196, .23);
}
.lk-nav-signup:hover {
    color: #fff;
    background: #257fec;
}
.lk-nav-toggler {
    display: inline-grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(181,211,247,.30);
    border-radius: 12px;
    background: rgba(255,255,255,.055);
    color: #d5e9ff;
    font-size: 1.55rem;
    cursor: pointer;
}
.lk-nav-toggler:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
}
/* Desktopový přepínač jazyků */
.lk-nav .lk-nav-language-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .4rem .7rem;
    border: 1px solid rgba(181,211,247,.3);
    border-radius: .65rem;
    background: rgba(255,255,255,.08);
    color: #eaf6ff;
    font-weight: 600;
    text-decoration: none;
}
.lk-nav .lk-nav-language-btn:hover,
.lk-nav .lk-nav-language-btn:focus {
    background: rgba(255,255,255,.15);
    border-color: #7dd3fc;
    color: #fff;
}
.lk-nav .lk-nav-language .dropdown-menu {
    min-width: 10rem;
    padding: .4rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    box-shadow: 0 12px 30px rgba(0,0,0,.2);
}
.lk-nav .lk-nav-language .dropdown-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #1f2937;
    background: transparent;
    border-radius: .4rem;
}
.lk-nav .lk-nav-language .dropdown-item:hover,
.lk-nav .lk-nav-language .dropdown-item:focus {
    color:#111827;
    background:#eff6ff;
}
.lk-nav .lk-nav-language .dropdown-item.active {
    color:#fff;
    background:#2563eb;
}

/* Mobilní vysouvací panel: mimo sticky header kvůli z-indexu Bootstrap backdropu. */
.lk-mobile-nav.offcanvas {
    --bs-offcanvas-width: min(360px, 88vw);
    --bs-offcanvas-bg: #0b1d34;
    --bs-offcanvas-color: #edf6ff;
    z-index: 1050;
    border-left: 1px solid rgba(150,189,238,.18);
    border-radius: 22px 0 0 22px;
    background: radial-gradient(ellipse at 100% 0%,rgba(31,92,168,.27),transparent 60%),#0b1d34;
    box-shadow: -14px 0 55px rgba(0,0,0,.24);
    color: #edf6ff;
}
.lk-mobile-nav-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 24px 23px;
    border-bottom: 1px solid rgba(166,207,253,.12);
}
.lk-mobile-nav-eyebrow {
    display: block;
    margin-bottom: 6px;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #65b7ff;
}
.lk-mobile-nav .offcanvas-title {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.3;
}
.lk-mobile-nav-close {
    display: grid;
    place-items: center;
    flex: 0 0 39px;
    height: 39px;
    width: 39px;
    border: 1px solid rgba(190,222,255,.20);
    border-radius: 11px;
    background: rgba(255,255,255,.07);
    color: #e6f3ff;
    cursor: pointer;
}
.lk-mobile-nav-close:hover {
    background: rgba(255,255,255,.14);
}
.lk-mobile-nav-body {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding: 22px 17px 30px;
}
.lk-mobile-nav-links {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.lk-mobile-nav-link {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 57px;
    padding: 13px 15px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #d2e4f8;
    text-decoration: none;
    font-weight: 600;
    transition: background .16s ease, color .16s ease;
}
.lk-mobile-nav-link > .bi:first-child {
    flex: 0 0 22px;
    font-size: 1.18rem;
    color: #91bce5;
}
.lk-mobile-nav-link > span {
    flex: 1;
}
.lk-mobile-nav-chevron {
    font-size: .83rem;
    color: #7796b8;
}
.lk-mobile-nav-link:hover,
.lk-mobile-nav-link:focus-visible {
    color: #fff;
    background: rgba(112,165,230,.12);
}
.lk-mobile-nav-link.active {
    color: #fff;
    background: rgba(34,119,233,.20);
    border-color: rgba(102,176,255,.23);
}
.lk-mobile-nav-link.active > .bi:first-child {
    color: #78c7ff;
}
.lk-mobile-nav-languages {
    padding: 24px 6px 0;
    border-top: 1px solid rgba(166,207,253,.12);
}
.lk-mobile-nav-languages h3 {
    margin: 0 0 14px;
    color: #9db7d4;
    font-size: .79rem;
    font-weight: 700;
    letter-spacing: .02em;
}
.lk-mobile-nav-language-options {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
}
.lk-mobile-nav-language {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 45px;
    border: 1px solid rgba(161,202,249,.16);
    border-radius: 11px;
    background: rgba(255,255,255,.035);
    color: #c5d9ee;
    font-size: .83rem;
    font-weight: 700;
    text-decoration: none;
}
.lk-mobile-nav-language:hover {
    color: #fff;
    background: rgba(255,255,255,.09);
}
.lk-mobile-nav-language.active {
    color: #fff;
    border-color: rgba(93,167,255,.53);
    background: rgba(26,100,206,.27);
}

/* Tablet: klasická navigace zmizí, CTA ale zůstanou v horním řádku. */
@media (max-width: 991.98px) {
    .lk-nav {
        min-height: 70px;
        gap: 10px;
        padding-inline: clamp(14px, 3vw, 32px);
    }
    .lk-nav .lk-nav-brand {
        margin-right: auto;
    }
    .lk-nav-brand img {
        width: 133px;
    }
    .lk-nav-actions {
        margin-left: auto;
        gap: 8px;
    }
    .lk-nav-login {
        padding: 9px 11px;
        border: 1px solid rgba(181,211,247,.19);
    }
    .lk-nav-signup {
        padding: 9px 12px;
    }
}

/* Telefon: dvě čisté řádky místo tlačítek namačkaných přes logo. */
@media (max-width: 575.98px) {
    .lk-nav {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        row-gap: 9px;
        min-height: 0;
        padding: 11px 15px 12px;
    }
    .lk-nav .lk-nav-brand {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        margin: 0;
    }
    .lk-nav-brand img {
        width: 120px;
        max-height: 38px;
    }
    .lk-nav-actions {
        display: contents;
    }
    .lk-nav-toggler {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        width: 39px;
        height: 39px;
    }
    .lk-nav-login {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
    }
    .lk-nav-signup {
        grid-column: 2;
        grid-row: 2;
        justify-self: end;
    }
    .lk-nav-actions > .lk-nav-login,
    .lk-nav-actions > .lk-nav-signup {
        min-height: 37px;
        padding: 7px 12px;
        font-size: .82rem;
    }
    .lk-nav-signup .bi {
        display: none;
    }
}
@media (max-width: 350px) {
    .lk-nav {
        padding-inline: 11px;
    }
    .lk-nav-brand img {
        width: 106px;
    }
    .lk-nav-actions > .lk-nav-login,
    .lk-nav-actions > .lk-nav-signup {
        padding-inline: 9px;
        font-size: .76rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .lk-nav *, .lk-mobile-nav * {
        transition-duration: .01ms !important;
    }
}
