/* Client Mode header contrast contract.
   Non-homepage routes retain a readable light header. Regional Modern overlays
   one contained translucent navigation surface on the hero. */
.client-public-shell .client-site-header {
    --client-header-ink: #0a1c2b;
    --client-header-copy: #29465b;
    --client-header-muted: #526c7d;
    --client-header-line: #c9d9e3;
    border-bottom-color: var(--client-header-line);
    background: rgba(250, 253, 255, .985);
    color: var(--client-header-ink);
    box-shadow: 0 .45rem 1.7rem rgba(6, 24, 39, .09);
}

.client-public-shell .client-site-header__brand,
.client-public-shell .client-site-header__name,
.client-public-shell .client-site-header__link,
.client-public-shell .client-site-header__menu,
.client-public-shell .client-account__portal,
.client-public-shell .client-account__profile,
.client-public-shell .client-account__logout button {
    color: var(--client-header-ink);
}

.client-public-shell .client-site-header__link { color: var(--client-header-copy); }
.client-public-shell .client-site-header__link:hover,
.client-public-shell .client-site-header__link:focus-visible { color: var(--isp-brand, var(--client-brand, #0b6eb8)); }
.client-public-shell .client-site-header__mark { border-color: var(--client-header-line); background: #f3f8fb; color: var(--isp-brand, var(--client-brand, #0b6eb8)); }
.client-public-shell .client-site-header__account { border-left-color: var(--client-header-line); }
.client-public-shell .client-account__portal { border-color: #9fb4c2; background: #fff; color: var(--client-header-ink); }
.client-public-shell .client-account__register { border-color: var(--isp-brand, var(--client-brand, #0b6eb8)); background: var(--isp-brand, var(--client-brand, #0b6eb8)); color: #fff; }
.client-public-shell .client-account__profile:hover,
.client-public-shell .client-account__logout button:hover { background: #edf4f8; color: #07324e; }
.client-public-shell .client-site-header__menu { border-color: #94aabb; background: #fff; }

/* Regional Modern / Premium Telecom homepage */
.client-homepage-active.client-preset--premium .client-site-header {
    position: absolute;
    z-index: 90;
    top: .72rem;
    right: max(.75rem, calc((100% - 85rem) / 2));
    left: max(.75rem, calc((100% - 85rem) / 2));
    width: auto;
    min-height: 4.8rem;
    border: 1px solid rgba(151, 214, 241, .25);
    border-radius: .72rem;
    background: rgba(3, 17, 34, .82);
    color: #f3fbff;
    box-shadow: 0 .9rem 2.8rem rgba(0, 7, 18, .34);
    backdrop-filter: blur(18px) saturate(135%);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
}

.client-homepage-active.client-preset--premium .client-site-header__inner { width: 100%; min-height: 4.8rem; padding: .48rem 1rem; }
.client-homepage-active.client-preset--premium .client-site-header__brand { flex: 0 0 auto; min-width: 16.5rem; gap: .88rem; }
.client-homepage-active.client-preset--premium .client-site-header__brand img { height: 2.7rem; max-width: 13.5rem; filter: drop-shadow(0 .35rem 1rem rgba(0, 0, 0, .3)); }
.client-homepage-active.client-preset--premium .client-site-header__mark {
    width: 2.7rem;
    height: 2.7rem;
    border-color: rgba(81, 196, 238, .42);
    background: radial-gradient(circle at 35% 30%, rgba(75, 218, 247, .32), transparent 55%), rgba(5, 42, 68, .8);
    color: #31c9e8;
}
.client-homepage-active.client-preset--premium .client-site-header__name { color: #fff; font-size: 1.68rem; font-weight: 950; letter-spacing: .13em; }
.client-homepage-active.client-preset--premium .client-site-header__panel { display: grid; width: min(100%, 57rem); margin-left: auto; grid-template-columns: minmax(0, 1fr) auto; gap: 1.15rem; }
.client-homepage-active.client-preset--premium .client-site-header__nav { display: flex; gap: clamp(.85rem, 1.6vw, 1.7rem); align-items: center; justify-content: center; }
.client-homepage-active.client-preset--premium .client-site-header__link {
    position: relative;
    padding: .45rem .08rem;
    color: rgba(237, 248, 254, .86);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}
.client-homepage-active.client-preset--premium .client-site-header__link::after {
    position: absolute;
    right: 50%;
    bottom: .14rem;
    left: 50%;
    height: 2px;
    border-radius: 999px;
    background: #25c8e9;
    content: "";
    transition: right .18s ease, left .18s ease;
}
.client-homepage-active.client-preset--premium .client-site-header__link:hover,
.client-homepage-active.client-preset--premium .client-site-header__link:focus-visible { color: #fff; }
.client-homepage-active.client-preset--premium .client-site-header__link:hover::after,
.client-homepage-active.client-preset--premium .client-site-header__link:focus-visible::after { right: 0; left: 0; }
.client-homepage-active.client-preset--premium .client-site-header__account { border-left-color: rgba(184, 228, 246, .19); justify-self: end; }
.client-homepage-active.client-preset--premium .client-account__portal {
    min-height: 3rem;
    padding-inline: 1.2rem;
    border-color: #0b78ff;
    border-radius: .48rem;
    background: linear-gradient(135deg, #118ee8, #075de8);
    color: #fff;
    box-shadow: 0 .55rem 1.35rem rgba(0, 104, 224, .3);
}
.client-homepage-active.client-preset--premium .client-account__register { min-height: 2.7rem; padding-inline: 1rem; border-color: #22c8e8; border-radius: .48rem; background: #22c8e8; color: #032033; }
.client-homepage-active.client-preset--premium .client-account__profile,
.client-homepage-active.client-preset--premium .client-account__logout button,
.client-homepage-active.client-preset--premium .client-site-header__menu { color: #f3fbff; }
.client-homepage-active.client-preset--premium .client-account__avatar { background: #22c8e8; color: #032033; }
.client-homepage-active.client-preset--premium .client-account__identity small { color: #82def3; }
.client-homepage-active.client-preset--premium .client-site-header__menu { border-color: rgba(181, 228, 244, .42); background: rgba(7, 36, 57, .58); }
.client-homepage-active.client-homepage-no-hero.client-preset--premium .client-site-header { position: relative; top: auto; right: auto; left: auto; width: min(calc(100% - 1.5rem), 85rem); margin: .75rem auto; }

@media (max-width: 1040px) {
    .client-homepage-active.client-preset--premium .client-site-header__brand { min-width: 11rem; }
    .client-homepage-active.client-preset--premium .client-site-header__name { font-size: 1.18rem; }
    .client-homepage-active.client-preset--premium .client-site-header__link { font-size: .72rem; }
}

@media (max-width: 899px) {
    .client-public-shell #mobileMenu.client-site-header__panel,
    .client-public-shell #mobileMenu.client-site-header__panel.menu-closed,
    .client-public-shell #mobileMenu.client-site-header__panel.menu-open { border-top: 1px solid var(--client-header-line); background: #fff; color: var(--client-header-ink); box-shadow: 0 1.5rem 3rem rgba(6, 24, 39, .15); }
    .client-homepage-active.client-preset--premium .client-site-header { right: .65rem; left: .65rem; }
    .client-homepage-active.client-preset--premium .client-site-header__brand { min-width: 0; }
    .client-homepage-active.client-preset--premium #mobileMenu.client-site-header__panel,
    .client-homepage-active.client-preset--premium #mobileMenu.client-site-header__panel.menu-closed,
    .client-homepage-active.client-preset--premium #mobileMenu.client-site-header__panel.menu-open {
        position: fixed;
        top: calc(.5rem + 3.75rem + .45rem);
        right: max(.5rem, env(safe-area-inset-right));
        bottom: auto;
        left: max(.5rem, env(safe-area-inset-left));
        display: flex;
        width: auto;
        max-height: calc(100svh - 6.5rem);
        padding: .75rem;
        overflow-x: hidden;
        overflow-y: auto;
        border: 1px solid rgba(146, 218, 242, .26);
        border-radius: .82rem;
        background: rgba(3, 24, 41, .97);
        color: #f5fbff;
        box-shadow: 0 1.5rem 3.4rem rgba(0, 8, 18, .42);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }
    .client-homepage-active.client-preset--premium #mobileMenu .client-site-header__nav { display: grid; width: 100%; gap: .1rem; }
    .client-homepage-active.client-preset--premium #mobileMenu .client-site-header__link { width: 100%; padding: .8rem .7rem; border-bottom: 1px solid rgba(173, 224, 242, .14); color: #eaf8fd; text-align: left; }
    .client-homepage-active.client-preset--premium #mobileMenu .client-site-header__link::after { display: none; }
    .client-homepage-active.client-preset--premium #mobileMenu .client-site-header__account {
        width: 100%;
        min-width: 0;
        padding-inline: 0;
        border-top-color: rgba(173, 224, 242, .18);
    }
    .client-homepage-active.client-preset--premium #mobileMenu .client-account,
    .client-homepage-active.client-preset--premium #mobileMenu .client-account > a,
    .client-homepage-active.client-preset--premium #mobileMenu .client-account__logout button {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 560px) {
    .client-homepage-active.client-preset--premium .client-site-header { top: .5rem; right: .5rem; left: .5rem; min-height: 3.75rem; }
    .client-homepage-active.client-preset--premium .client-site-header__inner { min-height: 3.75rem; padding-block: .35rem; }
    .client-homepage-active.client-preset--premium .client-site-header__brand img { height: 1.9rem; max-width: 8rem; }
    .client-homepage-active.client-preset--premium .client-site-header__mark { width: 1.95rem; height: 1.95rem; }
    .client-homepage-active.client-preset--premium .client-site-header__name { max-width: 7.5rem; overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
}

@media (prefers-reduced-transparency: reduce) {
    .client-homepage-active.client-preset--premium .client-site-header,
    .client-homepage-active.client-preset--premium #mobileMenu.client-site-header__panel { background: #061d30; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
