/*
Theme Name: BrightHub Child
Theme URI: http://brighthub.casethemes.net
Author: Case-Themes
Author URI: https://casethemes.net/
Description: BrightHub is a sleek WordPress theme crafted for SaaS and tech startups. It comes with beautifully designed homepage layouts, versatile inner pages, and feature-focused sections to showcase your product, pricing, and customer success stories. Fully responsive and easily customizable, BrightHub ensures your site looks stunning on any device. Launch your next SaaS project with BrightHub and have all the essentials you need in one powerful theme.
Version: 1.0.4
License: ThemeForest
License URI: https://themeforest.net/licenses
Template: brighthub
Text Domain: brighthub-child
Tags: saas, startup, business, consulting, consultant, agency, company, advertising, corporate, finance, financial, multipurpose, accountant, marketing, software, modern
Requires at least: 5.8 or Higher
Requires PHP: 7.4 or Higher
Tested up to: 6.4.1

Copyright (c) 2025 Case-Themes. All rights reserved.
This theme is licensed under the GPL-2.0+ license.
*/

/* =============================================
   Custom Header
   ============================================= */
#pxl-header-elementor.pxl-header-custom {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: #090D13;
    transition: transform 0.35s ease, top 0.35s ease;
}

#pxl-header-elementor.pxl-header-custom.header-hidden {
    transform: translateY(-100%);
}

.pxl-header-custom-inner {
    border-bottom: none;
}

/* Mobile menu bg */
.pxl-hc-mobile-menu {
    background: #181D27;
}

/* =============================================
   Prevent double headers (main + sticky) on some browsers
   Theme's Elementor header may render both "main" and "sticky" blocks.
   We keep only one visible at a time.
   ============================================= */
#pxl-header-elementor .pxl-header-elementor-sticky {
    display: none !important;
}
#pxl-header-elementor .pxl-header-elementor-sticky.pxl-header-fixed {
    display: block !important;
}
#pxl-header-elementor .pxl-header-elementor-main.pxl-header-fixed {
    display: none !important;
}

.pxl-header-custom-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
    height: 72px;
    display: flex;
    align-items: center;
    position: relative;
}

/* Logo */
.pxl-hc-logo a {
    display: flex;
    align-items: center;
}

.pxl-hc-logo img {
    height: 32px;
    width: auto;
}

/* Nav */
.pxl-hc-nav {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.pxl-hc-menu {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pxl-hc-menu > li > a {
    color: rgba(255,255,255,0.85);
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}

.pxl-hc-menu > li > a:hover,
.pxl-hc-menu > li.current-menu-item > a {
    color: #fff;
}

/* Right side */
.pxl-hc-right {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
}

/* Language switcher dropdown */
.pxl-hc-lang-dropdown {
    position: relative;
}

.pxl-hc-lang-trigger {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.35) !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    line-height: 1 !important;
}

.pxl-hc-lang-trigger:hover {
    background: transparent !important;
    border-color: rgba(255,255,255,0.6) !important;
    color: #fff !important;
}

.pxl-hc-lang-trigger svg {
    transition: transform 0.2s;
}

.pxl-hc-lang-dropdown.open .pxl-hc-lang-trigger svg {
    transform: rotate(180deg);
}

.pxl-hc-lang-menu {
    display: none;
    flex-direction: column;
    gap: 8px;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 100%;
    background: #090D13;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 8px;
    overflow: hidden;
    list-style: none;
    margin: 0;
    padding: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}

.pxl-hc-lang-dropdown.open .pxl-hc-lang-menu {
    display: flex;
}

.pxl-hc-lang-menu .lang-item a {
    display: block;
    padding: 7px 12px;
    color: rgba(255,255,255,0.75);
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.15s;
    text-align: center;
}

.pxl-hc-lang-menu .lang-item a:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
}

/* Contact sales link */
.pxl-hc-btn-text {
    color: rgba(255,255,255,0.85);
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
    white-space: nowrap;
}

.pxl-hc-btn-text:hover {
    color: #fff;
}

/* Dashboard button */
.pxl-hc-btn-outline {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s;
    line-height: 1;
}

.pxl-hc-btn-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.6);
    color: #fff;
}

/* Header floats over content */
#pxl-wapper {
    padding-top: 0;
}

/* Hide default page title */
#pxl-ptit__default {
    display: none !important;
}

/* Account for WordPress admin bar */
.admin-bar #pxl-header-elementor.pxl-header-custom {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar #pxl-header-elementor.pxl-header-custom {
        top: 46px;
    }
}

/* Mobile toggle - hidden on desktop */
.pxl-hc-mobile-toggle {
    display: none !important;
}

/* Mobile toggle icon bars (force visible even if overridden) */
.pxl-hc-mobile-toggle {
    color: #fff;
    position: relative;
}
.pxl-hc-mobile-toggle span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background: currentColor !important;
    border-radius: 2px !important;
}

/* Unicode fallback only when spans fail (mobile uses real bars below) */
.pxl-hc-mobile-toggle::before {
    content: none;
    display: none;
}

@media (max-width: 991px) {
    .pxl-hc-mobile-toggle {
        display: flex !important;
    }
}

/* Mobile menu - hidden by default */
.pxl-hc-mobile-menu {
    display: none;
    background: #090D13;
    padding: 16px 32px 24px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.pxl-hc-mobile-nav {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}

.pxl-hc-mobile-nav li a {
    display: block;
    padding: 10px 0;
    color: rgba(255,255,255,0.75);
    font-size: 15px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.pxl-hc-mobile-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 8px;
}

/* Mobile lang dropdown opens upward */
.pxl-hc-mobile-actions .pxl-hc-lang-dropdown .pxl-hc-lang-menu {
    bottom: calc(100% + 8px);
    top: auto;
}

/* Mobile open state */
#pxl-header-elementor.pxl-header-custom.mobile-open .pxl-hc-mobile-menu {
    display: block;
}

@media (max-width: 991px) {
    .pxl-hc-nav { display: none; }
    .pxl-hc-btn-text,
    .pxl-hc-btn-outline,
    .pxl-hc-lang-dropdown { display: none; }
    .pxl-hc-mobile-toggle {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        align-self: center;
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        box-sizing: border-box;
        gap: 5px;
    }
    .pxl-hc-mobile-toggle span {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        flex-shrink: 0;
        margin: 0 !important;
        background: currentColor !important;
        border-radius: 2px !important;
    }
    .pxl-hc-mobile-toggle::before {
        content: none !important;
        display: none !important;
    }
    .pxl-hc-mobile-actions .pxl-hc-lang-dropdown {
        display: flex;
    }

    /* Mobile language switcher（抽屉内两个语言按钮之间留空） */
    .pxl-hc-mobile-actions .pxl-hc-lang {
        display: flex;
        align-items: center;
    }
    .pxl-hc-mobile-actions .pxl-hc-lang ul,
    .pxl-hc-mobile-actions .pxl-hc-lang ul.pll-languages-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 0 !important;
        gap: 0 !important;
        row-gap: 10px;
    }
    .pxl-hc-mobile-actions .pxl-hc-lang li {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .pxl-hc-mobile-actions .pxl-hc-lang li + li {
        margin-inline-start: 20px !important;
    }
    .pxl-hc-lang li {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .pxl-hc-lang a {
        display: inline-block;
        padding: 6px 10px;
        border: 1px solid rgba(255,255,255,0.35);
        border-radius: 6px;
        color: #fff;
        text-decoration: none;
        text-transform: uppercase;
        font-size: 12px;
        line-height: 1;
    }
    .pxl-hc-lang .current-lang a,
    .pxl-hc-lang a:hover {
        background: rgba(255,255,255,0.12);
        border-color: rgba(255,255,255,0.55);
    }
}

/* =============================================
   Language Switcher - Float (for Elementor header pages) */
.pxl-lang-switcher-float {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    display: flex;
    align-items: center;
    gap: 5px;
}

.pxl-lang-switcher-float .lang-item {
    list-style: none;
    display: inline-block;
}

.pxl-lang-switcher-float .lang-item a {
    display: inline-block;
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
    background: rgba(0,0,0,0.5);
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 3px;
    text-decoration: none;
    transition: all 0.2s;
}

.pxl-lang-switcher-float .lang-item a:hover,
.pxl-lang-switcher-float .lang-item.current-lang a {
    background: #fff;
    color: #333;
    border-color: #fff;
}

/* Language Switcher - Default header */
.pxl-lang-switcher {
    display: flex;
    align-items: center;
    margin-left: 20px;
}

.pxl-lang-switcher .lang-item {
    list-style: none;
    display: inline-block;
}

.pxl-lang-switcher .lang-item a {
    display: inline-block;
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 3px;
    margin-left: 0;
    margin-right: 0;
    text-decoration: none;
    transition: all 0.2s;
}

.pxl-lang-switcher ul {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pxl-lang-switcher .lang-item a:hover,
.pxl-lang-switcher .lang-item.current-lang a {
    background: #333;
    color: #fff;
    border-color: #333;
}

.pxl-posts__item-editor {
    display: none !important;
}

/* Single post: compensate for fixed header */
body.single-post #pxl-main {
    padding-top: 100px !important;
}

/* =============================================
   Default header mobile fixes
   ============================================= */
#pxl-nav-mobile .pxl-nav-mobile-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    box-sizing: border-box !important;
}

#pxl-nav-mobile .pxl-nav-mobile-button .pxl-icon-line,
#pxl-nav-mobile .pxl-nav-mobile-button .pxl-icon-line::before,
#pxl-nav-mobile .pxl-nav-mobile-button .pxl-icon-line::after {
    background: #ffffff !important;
}

/* Fallback explicit bars in case theme animation styles collapse lines */
#pxl-nav-mobile .pxl-nav-mobile-button .pxl-icon-line {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    position: relative !important;
}

@media (max-width: 991px) {
    .pxl-lang-switcher ul {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
        column-gap: 0 !important;
    }
    .pxl-lang-switcher li + li {
        margin-inline-start: 20px !important;
    }
    .pxl-lang-switcher li {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .pxl-lang-switcher .lang-item a {
        display: inline-block !important;
        padding: 6px 10px !important;
        border-radius: 6px !important;
        border: 1px solid rgba(255,255,255,0.35) !important;
        background: transparent !important;
        color: #fff !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
    }
}