/* LOOKTAXI professional header — isolated selectors to avoid legacy CSS conflicts */
.lt-site-header{
    position:fixed;
    inset:0 0 auto 0;
    z-index:1000;
    height:80px;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(228,231,236,.92);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    transition:box-shadow .2s ease, background .2s ease;
}
.lt-site-header.is-scrolled{
    background:rgba(255,255,255,.985);
    box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.lt-header-inner{
    height:100%;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    column-gap:34px;
}
.lt-brand{
    display:inline-flex;
    align-items:center;
    gap:11px;
    min-width:max-content;
    color:#0b1220;
    font-size:22px;
    font-weight:850;
    letter-spacing:-.045em;
    line-height:1;
}
.lt-brand-mark{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#0b1220;
    color:#c8ff42;
    font-size:15px;
    font-weight:900;
    box-shadow:0 5px 14px rgba(11,18,32,.10);
}
.lt-brand-name{white-space:nowrap}

.lt-nav{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:28px;
}
.lt-nav > a{
    color:#475467;
    font-size:13px;
    font-weight:650;
    line-height:1;
    white-space:nowrap;
    transition:color .15s ease, background .15s ease, transform .15s ease;
}
.lt-nav > a:not(.lt-book-button):hover{
    color:#0b1220;
}
.lt-nav .lt-book-button{
    min-height:44px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#0b1220;
    color:#fff;
    font-weight:800;
    box-shadow:0 8px 20px rgba(11,18,32,.10);
}
.lt-nav .lt-book-button:hover{
    transform:translateY(-1px);
    background:#182235;
}

.lt-header-tools{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    min-width:max-content;
}
.lt-language{
    position:relative;
}
.lt-language-button{
    appearance:none;
    border:1px solid transparent;
    outline:none;
    min-width:82px;
    height:42px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:999px;
    background:#edf9f1;
    color:#253041;
    font-size:13px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.lt-language-button:hover{
    background:#e5f6eb;
}
.lt-language-button:focus-visible{
    border-color:#9bddaf;
    box-shadow:0 0 0 4px rgba(31,182,92,.12);
}
.lt-language-flag{
    width:19px;
    display:inline-flex;
    justify-content:center;
    flex:0 0 19px;
    font-size:15px;
    line-height:1;
}
.lt-language-code{
    letter-spacing:.02em;
}
.lt-language-arrow{
    width:10px;
    height:7px;
    flex:0 0 auto;
    transition:transform .18s ease;
}
.lt-language.is-open .lt-language-arrow{
    transform:rotate(180deg);
}
.lt-language-menu[hidden]{
    display:none !important;
}
.lt-language-menu{
    position:absolute;
    top:calc(100% + 11px);
    right:0;
    width:194px;
    padding:8px;
    border:1px solid #e5e9ef;
    border-radius:16px;
    background:#fff;
    box-shadow:0 20px 55px rgba(15,23,42,.16);
}
.lt-language-menu::before{
    content:"";
    position:absolute;
    top:-6px;
    right:24px;
    width:11px;
    height:11px;
    transform:rotate(45deg);
    background:#fff;
    border-left:1px solid #e5e9ef;
    border-top:1px solid #e5e9ef;
}
.lt-language-menu > a{
    position:relative;
    z-index:1;
    min-height:43px;
    padding:0 11px;
    display:flex;
    align-items:center;
    gap:10px;
    border-radius:10px;
    color:#344054;
    font-size:13px;
    font-weight:650;
    white-space:nowrap;
}
.lt-language-menu > a:hover{
    background:#f7f8fa;
}
.lt-language-menu > a.is-active{
    background:#eaf8ef;
    color:#087443;
    font-weight:800;
}
.lt-language-name{
    flex:1 1 auto;
}
.lt-language-check{
    margin-left:auto;
    color:#1eae58;
    font-size:13px;
    font-weight:900;
}
.lt-menu-button{
    display:none;
    appearance:none;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid #e4e7ec;
    border-radius:11px;
    background:#fff;
    cursor:pointer;
}
.lt-menu-button span{
    display:block;
    width:19px;
    height:2px;
    margin:5px auto;
    border-radius:10px;
    background:#0b1220;
    transition:transform .18s ease, opacity .18s ease;
}
.lt-menu-button.is-open span:first-child{
    transform:translateY(3.5px) rotate(45deg);
}
.lt-menu-button.is-open span:last-child{
    transform:translateY(-3.5px) rotate(-45deg);
}

/* Keep main content clear of fixed header */
body > main{
    padding-top:80px;
}

/* Remove legacy hero compensation now that main owns the offset */
body > main .hero{
    padding-top:65px;
}

@media (max-width:1080px){
    .lt-header-inner{column-gap:20px}
    .lt-nav{gap:20px}
    .lt-nav > a{font-size:12.5px}
    .lt-nav .lt-book-button{padding-inline:15px}
}

@media (max-width:920px){
    .lt-site-header{height:72px}
    .lt-header-inner{
        grid-template-columns:auto 1fr auto;
        column-gap:12px;
    }
    .lt-brand{font-size:20px}
    .lt-brand-mark{width:32px;height:32px}
    .lt-header-tools{
        grid-column:3;
    }
    .lt-menu-button{
        display:block;
    }
    .lt-nav{
        position:fixed;
        top:72px;
        left:0;
        right:0;
        z-index:999;
        display:none;
        padding:12px 18px 18px;
        background:#fff;
        border-bottom:1px solid #e4e7ec;
        box-shadow:0 18px 38px rgba(15,23,42,.10);
        flex-direction:column;
        align-items:stretch;
        gap:3px;
    }
    .lt-nav.is-open{
        display:flex;
    }
    .lt-nav > a{
        min-height:44px;
        padding:0 12px;
        display:flex;
        align-items:center;
        border-radius:10px;
        font-size:14px;
    }
    .lt-nav > a:not(.lt-book-button):hover{
        background:#f7f8fa;
    }
    .lt-nav .lt-book-button{
        margin-top:7px;
        min-height:46px;
        width:100%;
    }
    body > main{
        padding-top:72px;
    }
    body > main .hero{
        padding-top:48px;
    }
}

@media (max-width:520px){
    .lt-brand{font-size:18px;gap:8px}
    .lt-brand-mark{width:30px;height:30px;border-radius:9px}
    .lt-language-button{
        height:40px;
        min-width:75px;
        padding-inline:10px;
    }
    .lt-language-menu{
        width:182px;
        right:-2px;
    }
    .lt-menu-button{
        width:40px;
        height:40px;
    }
}
