/* Canonical public header layout shared by home, series, episode and listing pages. */
.app > .app-header {
    position: sticky;
    top: 0;
    z-index: 1020;
    width: 100vw;
    min-height: 64px;
    margin-left: calc(50% - 50vw);
    border-bottom: 1px solid rgba(255, 255, 255, 0);
    background: rgba(0, 0, 0, 0);
    transition: background-color .18s ease, border-color .18s ease, backdrop-filter .18s ease;
}

.app > .app-header.is-scrolled {
    border-bottom-color: rgba(255, 255, 255, .06);
    background: rgba(0, 0, 0, .82);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.app > .app-header .navbar {
    width: min(100%, 1460px);
    min-height: 64px;
    margin: 0 auto;
    padding-right: 24px;
    padding-left: 24px;
}

/* Shared public header adjustments. */
.app-header .header-search {
    flex: 0 1 360px;
    max-width: 360px;
    margin-left: auto;
    margin-right: 30px;
    order: 30;
}

.app-header .navbar-user {
    margin-left: 0 !important;
    order: 40;
}

.app-header .catshort-locale-picker,
.app-header .nav-item.dropdown:not(.catshort-locale-picker),
.app-header .navbar-nav > .nav-item {
    order: 35;
}

.app-header .catshort-locale-picker .nav-link {
    display: inline-flex;
    width: 38px;
    height: 38px;
    padding: 0;
    align-items: center;
    justify-content: center;
}

.app-header .catshort-locale-picker .nav-link::after {
    display: none;
}

.app-header .catshort-locale-picker .nav-link .fas {
    margin: 0;
    color: #d5d5da;
    font-size: 15px;
}

.app-header .catshort-locale-picker .nav-link:hover .fas,
.app-header .catshort-locale-picker.show .nav-link .fas {
    color: #fff;
}

.app-header .nav-menu .wrapper .button {
    background: rgba(255, 255, 255, .035);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.app-header .nav-menu .wrapper .button:hover,
.app-header .nav-menu .wrapper .button:focus-within,
.app-header .nav-menu .wrapper .button.active {
    background: color-mix(in srgb, var(--theme-color) 18%, rgba(255, 255, 255, .045) 82%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.app-header .nav-menu .wrapper .button .icon {
    background: transparent;
}

.app-header .header-search .app-search {
    border: 1px solid rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .045) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.app-header .header-search .app-search:focus-within,
.app-header .header-search .app-search.result {
    border-color: rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .07) !important;
}

@media (max-width: 767.98px) {
    .app > .app-header,
    .app > .app-header .navbar {
        min-height: 73px;
    }
    .app > .app-header {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        margin-left: 0;
    }
    .app {
        padding-top: 73px;
    }
    body:has(.episode-short-page) .app {
        padding-top: 0;
    }
    .app > .app-header .navbar {
        padding-right: 16px;
        padding-left: 16px;
    }
    .app-header .header-search {
        flex-basis: 100%;
        max-width: none;
        margin-right: 0;
        margin-left: 0;
        order: 60;
    }
    .app-header .header-search:not(.d-none) {
        position: fixed;
        z-index: 1095;
        top: 0;
        right: 0;
        left: 0;
        display: flex !important;
        min-height: 73px;
        padding: 10px 14px;
        align-items: center;
        background: rgba(5, 5, 8, .94);
        box-shadow: 0 12px 38px rgba(0, 0, 0, .55), inset 0 -1px 0 rgba(255, 255, 255, .08);
        -webkit-backdrop-filter: blur(30px) saturate(1.25);
        backdrop-filter: blur(30px) saturate(1.25);
    }
    .app-header .header-search:not(.d-none) .app-search {
        width: 100%;
        border-color: rgba(255, 255, 255, .14);
        background: rgba(17, 17, 22, .96) !important;
        box-shadow: 0 8px 30px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .05);
    }
    .app-header .header-search:not(.d-none) input {
        color: #fff;
    }
    .app-header .navbar-user { margin-left: auto !important; }
}
