
    /* =========================================================
       PREMOCKS HEADER – new styling (Bootstrap 4.5)
       Change the colours here and the whole header follows.
       ========================================================= */
    :root {
        --pm-ink: #0f1226;
        --pm-ink-2: #4b5069;
        --pm-muted: #8b90a8;
        --pm-bg: #f6f5ff;
        --pm-line: #e8e6f5;
        --pm-brand: #5b3df5;
        --pm-brand-dark: #2a1a8f;
        --pm-accent: #ff7a2f;
        --pm-pink: #ff4d8d;
    }

    .app { padding-top: 74px; }

    /* NOTE: do NOT add backdrop-filter / transform / filter on .single-header,
       it would break the fixed slide menu inside it. */
    .single-header {
        position: fixed;
        top: 0; left: 0; right: 0;
        height: 75px;
        background-color: #ffffff;
        border-bottom: 1px solid var(--pm-line);
        z-index: 1000;
        padding: 0 96px;
        display: flex;
        align-items: center;
        font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
        -webkit-font-smoothing: antialiased;
    }

    /* ---------- Logo ---------- */
    .navbar-brand img { max-height: 36px; margin-right: 8px; }

    /* ---------- Desktop pill menu ---------- */
    .header-nav {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        margin: 0 auto !important;
        padding: 5px;
        background: var(--pm-bg);
        border: 1px solid var(--pm-line);
        border-radius: 999px;
    }

    .header-nav .nav-link {
        color: var(--pm-ink-2);
        font-weight: 600;
        font-size: 14px;
        padding: 8px 20px !important;
        border-radius: 999px;
        border: none !important;
        background: transparent;
        display: flex;
        align-items: center;
        transition: all .2s ease;
    }
    .header-nav .nav-link:hover {
        color: var(--pm-brand);
        background: #fff;
        text-decoration: none;
    }
    .header-nav > .nav-item.active-theme > .nav-link,
    .header-nav .nav-link.active {
        background: var(--pm-ink);
        color: #fff;
    }
    .pm-ico, .pm-arrow { display: none; }   /* mobile-only bits */

    /* ---------- Right side actions ---------- */
    .header-actions { display: flex; align-items: center; gap: 10px; }

    .action-icon-search {
        width: 42px; height: 40px;
        display: inline-flex; align-items: center; justify-content: center;
        color: var(--pm-muted);
        font-size: 18px; padding: 0;
        border-radius: 999px;
        border: 1px solid var(--pm-line);
        background: #fff;
        transition: all .2s;
    }
    .action-icon-search i { display: block; line-height: 1; }
    .action-icon-search:hover { color: var(--pm-brand); border-color: var(--pm-brand); text-decoration: none; }

    .header-login-btn,
    .header-subscription-btn {
        height: 40px;
        display: inline-flex; align-items: center; justify-content: center;
        border-radius: 999px;
        font-size: 14px; font-weight: 700;
        padding: 0 22px;
        text-decoration: none !important;
        white-space: nowrap;
        transition: all .25s ease;
    }
    .header-login-btn {
        color: var(--pm-ink) !important;
        background: #fff;
        border: 1px solid var(--pm-line);
    }
    .header-login-btn:hover { border-color: var(--pm-brand); color: var(--pm-brand) !important; }
    .header-subscription-btn {
        color: #fff !important;
        background: var(--pm-brand);
        border: 1px solid var(--pm-brand);
        box-shadow: 0 10px 24px -10px rgba(91,61,245,.8);
    }
    .header-subscription-btn:hover {
        background: var(--pm-brand-dark);
        border-color: var(--pm-brand-dark);
        transform: translateY(-2px);
    }

    /* Avatar */
    .avatar-container {
        width: 38px; height: 38px;
        border-radius: 50%;
        overflow: hidden; cursor: pointer;
        border: 2px solid var(--pm-brand);
        flex-shrink: 0;
    }
    .avatar-container img { width: 100%; height: 100%; object-fit: cover; }
    .guest-avatar { color: #000; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }

    .header-user-menu {
        min-height: 40px;
        display: inline-flex; align-items: center; gap: 10px;
        padding: 4px 14px 4px 4px;
        cursor: pointer;
        border: 1px solid var(--pm-line);
        border-radius: 999px;
        background: #fff;
        transition: border-color .2s;
    }
    .header-user-menu:hover { border-color: var(--pm-brand); }
    .header-user-menu .avatar-container { width: 30px; height: 30px; border: 1px solid var(--pm-line); }
    .header-user-name { color: var(--pm-ink); font-size: 14px; font-weight: 600; line-height: 1; }
    .header-user-chevron { color: var(--pm-ink); font-size: 11px; line-height: 1; }

    .dropdown-menu {
        border: 1px solid var(--pm-line);
        border-radius: 16px;
        padding: 8px;
        box-shadow: 0 20px 40px -16px rgba(60,40,160,.3);
        margin-top: 10px;
    }
    .dropdown-menu .dropdown-item { border-radius: 10px; font-size: 14px; font-weight: 600; padding: 9px 14px; }
    .dropdown-menu .dropdown-item:hover { background: rgba(91,61,245,.08); color: var(--pm-brand); }

    .dropdown.dropdown-animated.scale-left .dropdown-menu { top: 46px !important; max-width: 230px; }
    .input-affix .prefix-icon { left: 12px; top: 52% !important; }

    /* Mobile search bar */
    .mobile-search-form { position: relative; width: 100%; }
    .mobile-search-input {
        width: 100%; height: 42px;
        border: 1px solid var(--pm-line);
        background: var(--pm-bg);
        border-radius: 999px;
        padding: 0 16px 0 42px;
        font-size: 14px; color: var(--pm-ink);
        outline: none; margin-bottom: 0;
        transition: all .2s;
    }
    .mobile-search-input:focus { border-color: var(--pm-brand); background: #fff; box-shadow: 0 0 0 3px rgba(91,61,245,.12); }
    .mobile-search-icon-inside {
        position: absolute; left: 15px; top: 55%;
        transform: translateY(-50%);
        color: var(--pm-muted); font-size: 18px; pointer-events: none;
    }

    /* Hamburger */
    .navbar-toggler.pm-toggler {
        width: 44px; height: 44px; padding: 0;
        border: 1px solid var(--pm-line);
        background: #fff;
        border-radius: 14px;
        display: none;               /* shown only below 992px */
        flex-direction: column; align-items: center; justify-content: center;
        outline: 0; cursor: pointer;
    }
    @media (max-width: 991.98px) { .navbar-toggler.pm-toggler { display: flex !important; } }
    @media (min-width: 992px)   { .navbar-toggler.pm-toggler { display: none !important; } }
    .pm-toggler:focus { box-shadow: 0 0 0 3px rgba(91,61,245,.2); }
    .pm-toggler span { display: block; width: 20px; height: 2px; background: var(--pm-ink); border-radius: 2px; }
    .pm-toggler span + span { margin-top: 5px; }
    .pm-toggler span:nth-child(2) { width: 14px; align-self: flex-end; margin-right: 12px; }

    .pm-overlay { display: none; }

    /* =========================================================
       DESKTOP (>= 992px)
       ========================================================= */
    @media (min-width: 992px) {
        .navbar { width: 100%; }
        .navbar-expand-lg .navbar-collapse {
            display: flex !important;
            flex: 1;
            flex-basis: auto;
            justify-content: center;
            margin: 0 20px;
        }
        .action-icon-search.d-lg-block { display: inline-flex !important; }
    }

    /* =========================================================
       MOBILE / TABLET (< 992px)  →  SLIDE MENU FROM RIGHT
       ========================================================= */
    @media (max-width: 991.98px) {
        .app { padding-top: 112px; }

        .single-header {
            padding: 10px 14px 12px;
            height: auto;
            flex-wrap: wrap;
        }
        .navbar {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            padding: 0;
        }
        .navbar-brand { order: 1; margin-right: auto; }
        .navbar-toggler { order: 2; margin-left: auto; }
        .header-actions { order: 3; width: 100%; margin-top: 10px; gap: 10px; }
        .mobile-search-form { flex-grow: 1; }
        .action-icon-search { display: none !important; }
        .avatar-container { width: 38px; height: 38px; border: 1px solid #d9d6ee !important; }

        /* Overlay */
        .pm-overlay {
            display: block;
            position: fixed; top: 0; left: 0; right: 0; bottom: 0;
            z-index: 1040;
            background: rgba(15,18,38,.55);
            opacity: 0; visibility: hidden;
            transition: opacity .3s, visibility .3s;
        }
        .pm-overlay.show { opacity: 1; visibility: visible; }

        /* Drawer */
        .navbar-collapse {
            order: 4;
            position: fixed;
            top: 0; right: 0; bottom: 0; left: auto;
            z-index: 1050;
            width: 330px; max-width: 88vw;
            height: 100vh;
            margin: 0; padding: 0;
            display: flex !important;
            flex-direction: column;
            align-items: stretch;
            background: #fff;
            border-radius: 28px 0 0 28px;
            box-shadow: -30px 0 60px -20px rgba(15,18,38,.4);
            transform: translateX(105%);
            visibility: hidden;
            transition: transform .38s cubic-bezier(.22,.8,.26,1), visibility .38s;
            overflow-y: auto; overflow-x: hidden;
        }
        .navbar-collapse.open { transform: translateX(0); visibility: visible; }

        /* Header of drawer */
        .mobile-menu-close {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 18px 20px;
            border-bottom: 1px solid var(--pm-line);
        }
        .mobile-logo-img { max-height: 34px; }
        .pm-close {
            width: 40px; height: 40px;
            border-radius: 12px;
            border: 1px solid var(--pm-line);
            background: var(--pm-bg);
            font-size: 22px; line-height: 1; color: var(--pm-ink);
            transition: .2s;
        }
        .pm-close:hover { background: var(--pm-ink); color: #fff; }

        /* User card */
        .pm-user {
            display: flex; align-items: center;
            margin: 16px 16px 6px; padding: 14px;
            border-radius: 20px; color: #fff;
            background: linear-gradient(135deg, #1b1260, #3d22c9);
            position: relative; overflow: hidden;
        }
        .pm-user:after {
            content: ""; position: absolute; right: -30px; top: -30px;
            width: 110px; height: 110px; border-radius: 50%;
            background: rgba(255,255,255,.1);
        }
        .pm-user .pm-av {
            width: 46px; height: 46px; border-radius: 50%; overflow: hidden;
            margin-right: 12px; flex: none;
            background: linear-gradient(135deg, var(--pm-pink), var(--pm-accent));
            display: flex; align-items: center; justify-content: center;
            font-size: 20px; border: 2px solid rgba(255,255,255,.6);
        }
        .pm-user .pm-av img { width: 100%; height: 100%; object-fit: cover; }
        .pm-user strong { display: block; font-size: 15px; line-height: 1.25; }
        .pm-user small { color: #cfc8ff; font-weight: 600; font-size: 12px; }
        .pm-user .pm-login-link {
            margin-left: auto; position: relative; z-index: 1;
            background: #fff; color: var(--pm-brand-dark) !important;
            font-weight: 700; font-size: 13px; padding: 8px 16px;
            border-radius: 999px; text-decoration: none !important;
        }

        /* Links */
        .header-nav {
            display: block;
            width: 100%;
            margin: 0 !important;
            padding: 10px 14px;
            background: none; border: 0; border-radius: 0;
        }
        .header-nav .nav-item { width: 100%; border: 0; margin-bottom: 4px; opacity: 0; transform: translateX(18px); transition: .4s; }
        .navbar-collapse.open .header-nav .nav-item { opacity: 1; transform: none; }
        .navbar-collapse.open .header-nav .nav-item:nth-child(1) { transition-delay: .12s; }
        .navbar-collapse.open .header-nav .nav-item:nth-child(2) { transition-delay: .18s; }
        .navbar-collapse.open .header-nav .nav-item:nth-child(3) { transition-delay: .24s; }

        .header-nav .nav-link {
            padding: 12px 14px !important;
            font-size: 15px; font-weight: 700;
            color: var(--pm-ink);
            border-radius: 16px;
        }
        .header-nav .nav-link:hover { background: var(--pm-bg); }
        .header-nav > .nav-item.active-theme > .nav-link,
        .header-nav .nav-link.active { background: rgba(91,61,245,.1); color: var(--pm-brand); }
        .header-nav .nav-link span:not(.pm-ico):not(.pm-arrow) { flex: 1; }

        .pm-ico {
            display: inline-flex; align-items: center; justify-content: center;
            width: 38px; height: 38px; border-radius: 12px; margin-right: 12px;
            font-size: 17px; background: var(--pm-bg); flex: none;
        }
        .pm-arrow { display: block; margin-left: auto; color: var(--pm-muted); font-size: 18px; }

        /* Subscription button inside drawer */
        .pm-drawer-cta { padding: 6px 18px 0; }
        .pm-drawer-cta .header-subscription-btn { display: flex !important; width: 100%; height: 48px; }

        /* Footer of drawer */
        .pm-drawer-foot {
            margin-top: auto; padding: 18px 22px 26px;
            border-top: 1px solid var(--pm-line);
        }
        .pm-drawer-foot a.pm-fl {
            display: block; padding: 8px 0;
            font-weight: 600; font-size: 14px; color: var(--pm-ink-2);
        }
        .pm-drawer-foot a.pm-fl:hover { color: var(--pm-brand); text-decoration: none; }
        .pm-drawer-foot a.pm-out { color: #e5484d; font-weight: 700; }
    }