/** ===== Top Bar ===== **/
.phbi-topbar {
    background-color: #f5a623;
    padding: 10px 0;
}

    .phbi-topbar a,
    .phbi-topbar span {
        color: #fff !important;
        text-decoration: none;
        font-size: 0.9rem;
    }

        .phbi-topbar a:hover {
            opacity: 0.85;
        }

    .phbi-topbar .contact-info i {
        margin-right: 5px;
    }

/** ===== Main Nav Bar ===== **/
.phbi-main-nav {
    background: #fff;
    padding: 12px 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

    .phbi-main-nav .nav-link {
        color: #2c3e50 !important;
        font-weight: 300 !important;
        font-size: 1.2rem;
        padding: 8px 16px !important;
        transition: color 0.2s;
    }

        .phbi-main-nav .nav-link:hover,
        .phbi-main-nav .nav-link.active {
            color: #f5a623 !important;
        }

.btn-enroll {
    font-weight: 700 ;
    font-size: 1.2rem;
    padding-top:5px;
    border-radius: 50px ;
    transition: background-color 0.2s;
    width:125px;
}

    .btn-enroll:hover {
        background-color: #e0951b ;
        color:white;
    }

.btn-register {
    background-color: white ;
    border: #f5a623 solid 2px ;
    color: #f5a623 ;
}
    .btn-register:hover {
        color: white ;
    }
.btn-login {
    background-color: #f5a623 ;
    border: none ;
    color: #fff ;
}

/** ===== Hamburger Toggle ===== **/
.phbi-toggler {
    border: none;
    background: transparent;
    font-size: 1.6rem;
    color: #f5a623;
    display: none;
    cursor: pointer;
}

/** ===== Mobile Styles ===== **/
@media (max-width: 991.98px) {
    /* Top bar stacks center */
    .phbi-topbar .topbar-inner {
        flex-direction: column !important;
        gap: 6px;
    }

    .phbi-topbar .contact-info {
        justify-content: center;
    }

    .phbi-topbar .topbar-right {
        justify-content: center;
    }

    /* Show hamburger */
    .phbi-toggler {
        display: block;
    }

    /* Collapsible nav */
    .phbi-nav-collapse {
        display: none;
        width: 100%;
        order: 3;
    }

        .phbi-nav-collapse.show {
            display: block;
        }

        /* Ensure the nav list is stacked on small screens */
        .phbi-nav-collapse .nav {
            flex-direction: column;
            width: 100%;
            padding-top: 10px;
            padding-left: 0;
            padding-right: 0;
            margin: 0;
        }

            /* Make each nav-item span full width and give a full-width separator */
            .phbi-nav-collapse .nav .nav-item {
                width: 100%;
                box-sizing: border-box;
                border-bottom: 1px solid #f0f0f0; /* full-width line */
                margin: 0;
                padding: 0;
            }

            /* Make links block-level so padding is inside full-width items and text sits left */
            .phbi-nav-collapse .nav .nav-link {
                display: block;
                width: 100%;
                padding: 12px 16px !important;
                text-align: left;
            }

    .phbi-main-nav .main-nav-inner {
        flex-wrap: wrap;
    }

    .btn-enroll-wrapper {
        display: none;
    }
    /* Show enroll as last nav item on mobile */
    .phbi-nav-collapse .mobile-enroll {
        display: block;
        padding: 12px 16px;
    }

}

@media (min-width: 992px) {
    .phbi-nav-collapse {
        display: flex !important;
    }

        .phbi-nav-collapse .mobile-enroll {
            display: none;
        }
}

/* Mobile slide-in nav + right blurred overlay */
@media (max-width: 767.98px) {
  /* Ensure nav collapse is fixed and off-canvas by default */
  #phbiNavCollapse {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 80vw; /* slide-in width */
    max-width: 420px;
    background: #fff;
    z-index: 1100;
    transform: translateX(-100%);
    transition: transform 320ms cubic-bezier(.22,.9,.39,1);
    box-shadow: 0 0 32px rgba(0,0,0,0.18);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1rem;
    will-change: transform;
  }

  /* Visible state */
  #phbiNavCollapse.show {
    transform: translateX(0);
  }

  /* Ensure nav content doesn't push layout when hidden */
  .phbi-main-nav .main-nav-inner {
    position: relative;
  }

  /* The overlay that covers the page (full viewport) */
  .nav-overlay {
    position: fixed;
    top: 0;
    left: 0; /* cover whole viewport */
    width: 100%; /* full-width overlay */
    height: 100vh;
    z-index: 1090; /* stays behind nav (1100) but above page content */
    background: rgba(0,0,0,0.18);
    backdrop-filter: blur(6px);
    transition: opacity 200ms ease;
    opacity: 0;
    pointer-events: none;
  }

  .nav-overlay.show {
    opacity: 1;
    pointer-events: auto;
  }

  /* Make toggler left-most and reduce default spacing on mobile */
  .phbi-toggler {
    font-size: 1.35rem;
    background: transparent;
    border: none;
    color: inherit;
  }

  /* Adjust logo spacing so toggler then logo appear correctly */
  .phbi-main-nav .logo {
    margin-left: 0.25rem;
  }

  /* Prevent page scroll when nav open (applied via JS) */
  body.mobile-nav-open {
    overflow: hidden;
    touch-action: none;
  }
}

/* Mobile: adjust ordering so logo is left and toggler sits after it */
@media (max-width: 767.98px) {
  /* Ensure the main nav inner uses flex ordering on mobile */
  .phbi-main-nav .main-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
  }

  /* Swap order: logo first (left), toggler after it */
  .phbi-toggler {
    order: 1; /* changed: put toggler after logo */
    margin-right: 0.5rem;
    display: inline-flex; /* ensure visible on mobile */
    align-items: center;
    justify-content: center;
  }

  /* Logo immediately before the toggler */
  .phbi-main-nav .logo {
    order: 0; /* changed: logo at far left */
    margin-left: 0;
    flex: 0 0 auto;
  }

  /* Keep other header controls to the right */
  .btn-enroll-wrapper,
  .phbi-main-nav .topbar-right,
  .phbi-main-nav .main-nav-inner > .btn-enroll-wrapper {
    order: 3;
  }

  /* Ensure the nav collapse itself doesn't shift ordering unexpectedly */
  #phbiNavCollapse {
    order: 2;
  }
}

/* Desktop layout: nav left, enroll button near right, logo at far right */
@media (min-width: 992px) {
  .phbi-main-nav .main-nav-inner {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  /* Make nav take available space on the left */
  #phbiNavCollapse {
    order: 1;
    display: flex !important;
    flex: 1 1 auto;
    justify-content: flex-start;
    align-items: center;
    background: transparent;
    box-shadow: none;
    transform: none;
    position: static;
    height: auto;
    width: auto;
    padding: 0;
  }

  /* Ensure list is horizontal and aligned left */
  #phbiNavCollapse .nav {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0;
  }

  /* Enroll button sits to the right of the nav */
  .btn-enroll-wrapper {
    order: 2;
    display: block;
    margin-left: 1rem;
    flex: 0 0 auto;
  }

  /* Logo at far right */
  .phbi-main-nav .logo {
    order: 3;
    margin-left: auto; /* pushes logo to the far right */
    flex: 0 0 auto;
  }

  /* Remove mobile-only visual adjustments */
  .phbi-toggler {
    display: none;
  }

  /* On desktop keep horizontal navigation without full-width borders */
  #phbiNavCollapse .nav .nav-item {
    border-bottom: none;
    width: auto;
  }
}
/* Desktop Dropdown Sub-menu Styling */
.phbi-main-nav .dropdown-menu {
    background-color: var(--orange, #F5A623); /* Fallback orange */
    padding: 0;
    border: none;
    border-radius: 4px;
    overflow: hidden;
}

    .phbi-main-nav .dropdown-menu .dropdown-item {
        color: #ffffff;
        padding: 12px 20px;
        font-size: 1.05rem;
        border-bottom: 2px solid #ffffff;
        transition: color 0.2s ease, background-color 0.2s ease;
    }

    .phbi-main-nav .dropdown-menu li:last-child .dropdown-item {
        border-bottom: none;
    }

    .phbi-main-nav .dropdown-menu .dropdown-item:hover,
    .phbi-main-nav .dropdown-menu .dropdown-item.active {
        color: #0b1f52; /* Dark blue */
        background-color: transparent;
    }

/* Mobile Accordion Sub-menu Styling */
.phbi-main-nav .collapse .nav.flex-column {
    background-color: var(--orange, #F5A623);
    border-radius: 4px;
    margin-top: 8px;
}

    .phbi-main-nav .collapse .nav.flex-column .nav-link {
        color: #ffffff !important;
        padding: 12px 20px;
        border-bottom: 2px solid #ffffff;
        font-size: 1.05rem;
    }

    .phbi-main-nav .collapse .nav.flex-column .nav-item:last-child .nav-link {
        border-bottom: none;
    }

    .phbi-main-nav .collapse .nav.flex-column .nav-link:hover,
    .phbi-main-nav .collapse .nav.flex-column .nav-link.active {
        color: #0b1f52 !important;
        background-color: transparent;
    }

/* Topbar bold text */
.phbi-topbar .topbar-inner,
.phbi-topbar .topbar-inner .contact-info,
.phbi-topbar .topbar-inner .contact-info span,
.phbi-topbar .topbar-inner .topbar-right,
.phbi-topbar .topbar-inner .topbar-right a,
.phbi-topbar .topbar-inner .topbar-right span {
    font-weight: 700; /* make text bolder in the top contact bar */
}

@media (max-width: 768px) {
    .contact-info {
        font-size: 1.05rem !important;
    }
}