/*
Biogurukul LMS Complete Perfect Mobile Menu v2.2.0
Author: Abhishek Das
*/

:root{
  --bgk-mm-edge:0.1mm;
  --bgk-mm-blue:#2357f5;
  --bgk-mm-dark:#111827;
  --bgk-mm-muted:#667085;
  --bgk-mm-border:#e5eaf3;
  --bgk-mm-card:#ffffff;
}

/* Hide custom mobile UI on desktop */
.bgk-mobile-menu-toggle,
.bgk-mobile-menu-overlay,
.bgk-mobile-menu-panel,
.bgk-mobile-bottom-nav{
  display:none;
}

@media(max-width: 900px){
  html.bgk-mm-open,
  body.bgk-mm-open{
    overflow:hidden!important;
    touch-action:none;
  }

  body{
    padding-bottom:74px!important;
  }

  /* Avoid duplicate ugly theme menu on mobile */
  body.bgk-mobile-menu-ready .main-navigation,
  body.bgk-mobile-menu-ready .primary-navigation,
  body.bgk-mobile-menu-ready .site-navigation,
  body.bgk-mobile-menu-ready nav.main-navigation,
  body.bgk-mobile-menu-ready nav.primary-menu-wrapper,
  body.bgk-mobile-menu-ready .mega-menu-wrap,
  body.bgk-mobile-menu-ready .desktop-menu,
  body.bgk-mobile-menu-ready .header-menu,
  body.bgk-mobile-menu-ready .primary-menu{
    max-width:100%!important;
  }

  /* Toggle button */
  .bgk-mobile-menu-toggle{
    display:flex!important;
    position:fixed;
    top:calc(10px + env(safe-area-inset-top, 0px));
    right:calc(var(--bgk-mm-edge) + 10px);
    width:48px;
    height:48px;
    z-index:100002;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:16px!important;
    background:rgba(17,24,39,.92)!important;
    backdrop-filter:blur(14px);
    box-shadow:0 18px 38px rgba(16,24,40,.22);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    padding:0!important;
    cursor:pointer;
  }
  .bgk-mobile-menu-toggle span{
    display:block;
    width:22px;
    height:2.5px;
    border-radius:999px;
    background:#fff;
    transition:.2s ease;
  }
  .bgk-mm-open .bgk-mobile-menu-toggle span:nth-child(1){
    transform:translateY(7.5px) rotate(45deg);
  }
  .bgk-mm-open .bgk-mobile-menu-toggle span:nth-child(2){
    opacity:0;
  }
  .bgk-mm-open .bgk-mobile-menu-toggle span:nth-child(3){
    transform:translateY(-7.5px) rotate(-45deg);
  }

  /* Overlay */
  .bgk-mobile-menu-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:100000;
    background:rgba(15,23,42,.48);
    backdrop-filter:blur(5px);
    opacity:0;
    pointer-events:none;
    transition:.22s ease;
  }
  .bgk-mm-open .bgk-mobile-menu-overlay{
    opacity:1;
    pointer-events:auto;
  }

  /* Panel */
  .bgk-mobile-menu-panel{
    display:flex;
    flex-direction:column;
    position:fixed;
    top:var(--bgk-mm-edge);
    right:var(--bgk-mm-edge);
    bottom:calc(70px + var(--bgk-mm-edge));
    width:min(90vw,390px);
    max-width:calc(100vw - 0.2mm);
    z-index:100001;
    background:#fff;
    border:1px solid var(--bgk-mm-border);
    border-radius:26px 0 0 26px;
    box-shadow:-22px 0 58px rgba(16,24,40,.22);
    transform:translateX(110%);
    transition:transform .26s cubic-bezier(.2,.9,.2,1);
    overflow:hidden;
  }
  .bgk-mm-open .bgk-mobile-menu-panel{
    transform:translateX(0);
  }

  .bgk-mobile-menu-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:18px 16px 14px;
    background:linear-gradient(135deg,#eff5ff,#fff9e9);
    border-bottom:1px solid var(--bgk-mm-border);
  }
  .bgk-mobile-menu-brand{
    display:block;
    color:var(--bgk-mm-dark);
    font-size:20px;
    font-weight:1000;
    letter-spacing:-.035em;
    line-height:1;
  }
  .bgk-mobile-menu-head small{
    display:block;
    margin-top:5px;
    color:var(--bgk-mm-muted);
    font-weight:850;
    font-size:12px;
  }
  .bgk-mobile-menu-close{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0!important;
    border-radius:14px!important;
    background:#111827!important;
    color:#fff!important;
    font-size:30px!important;
    line-height:1!important;
    padding:0!important;
  }

  .bgk-mobile-menu-search{
    padding:12px 14px;
    border-bottom:1px solid var(--bgk-mm-border);
  }
  .bgk-mobile-menu-search input{
    width:100%!important;
    border:1px solid #dbe3f2!important;
    border-radius:999px!important;
    padding:12px 14px!important;
    font-size:16px!important;
    background:#f8fafc!important;
    color:#111827!important;
    outline:0;
  }

  .bgk-mobile-menu-quick{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    padding:12px 14px;
    border-bottom:1px solid var(--bgk-mm-border);
  }
  .bgk-mobile-menu-quick a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    background:#f4f7ff;
    border:1px solid #e2eaff;
    border-radius:14px;
    color:#18223a!important;
    text-decoration:none!important;
    font-weight:1000;
    font-size:13px;
    text-align:center;
  }
  .bgk-mobile-menu-quick a:first-child{
    background:var(--bgk-mm-blue);
    color:#fff!important;
    border-color:var(--bgk-mm-blue);
  }

  .bgk-mobile-menu-content{
    display:block;
    padding:10px 10px 16px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    flex:1;
  }
  .bgk-mobile-menu-content ul,
  .bgk-mobile-menu-content li{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
  }
  .bgk-mobile-menu-content a{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:48px;
    padding:12px 14px!important;
    border-radius:16px;
    color:#111827!important;
    text-decoration:none!important;
    font-weight:950;
    font-size:15px;
    line-height:1.2;
  }
  .bgk-mobile-menu-content a:hover,
  .bgk-mobile-menu-content a:focus{
    background:#f3f6ff;
  }
  .bgk-mobile-menu-content .current-menu-item > a,
  .bgk-mobile-menu-content .current_page_item > a,
  .bgk-mobile-menu-content a[aria-current="page"]{
    background:#eaf0ff;
    color:#163fc4!important;
  }

  /* Submenu accordion */
  .bgk-mobile-menu-content li{
    position:relative;
    border-bottom:1px solid #f1f4fa;
  }
  .bgk-mobile-menu-content li.menu-item-has-children > a,
  .bgk-mobile-menu-content li.page_item_has_children > a{
    padding-right:52px!important;
  }
  .bgk-mm-sub-toggle{
    position:absolute;
    top:5px;
    right:4px;
    width:38px;
    height:38px;
    border:0!important;
    border-radius:12px!important;
    background:#f4f7ff!important;
    color:#111827!important;
    font-size:18px!important;
    font-weight:1000!important;
    line-height:1!important;
    padding:0!important;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:2;
  }
  .bgk-mm-sub-toggle:before{
    content:"⌄";
    transition:.2s;
  }
  li.bgk-mm-sub-open > .bgk-mm-sub-toggle:before{
    transform:rotate(180deg);
  }
  .bgk-mobile-menu-content .sub-menu,
  .bgk-mobile-menu-content .children{
    display:none!important;
    padding:0 0 8px 12px!important;
    background:#fbfcff;
    border-radius:0 0 16px 16px;
  }
  .bgk-mobile-menu-content li.bgk-mm-sub-open > .sub-menu,
  .bgk-mobile-menu-content li.bgk-mm-sub-open > .children{
    display:block!important;
  }
  .bgk-mobile-menu-content .sub-menu a,
  .bgk-mobile-menu-content .children a{
    min-height:42px;
    font-size:14px;
    color:#344054!important;
    padding-left:18px!important;
  }

  .bgk-mm-no-results{
    display:none;
    padding:14px;
    color:#667085;
    font-weight:900;
    text-align:center;
  }

  .bgk-mobile-menu-foot{
    padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));
    border-top:1px solid var(--bgk-mm-border);
    background:#fff;
  }
  .bgk-mobile-menu-foot a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    border-radius:999px;
    background:#111827;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:1000;
  }

  /* Bottom nav */
  .bgk-mobile-bottom-nav{
    display:grid!important;
    grid-template-columns:repeat(4,1fr);
    gap:6px;
    position:fixed;
    left:var(--bgk-mm-edge);
    right:var(--bgk-mm-edge);
    bottom:var(--bgk-mm-edge);
    z-index:99998;
    min-height:66px;
    padding:7px 7px calc(7px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(16px);
    border:1px solid var(--bgk-mm-border);
    border-radius:24px 24px 0 0;
    box-shadow:0 -14px 40px rgba(16,24,40,.14);
  }
  .bgk-mobile-bottom-nav a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    color:#344054!important;
    text-decoration:none!important;
    font-weight:950;
    font-size:11px;
    border-radius:16px;
    min-width:0;
  }
  .bgk-mobile-bottom-nav a span{
    display:block;
    font-size:18px;
    line-height:1;
  }
  .bgk-mobile-bottom-nav a b{
    display:block;
    font-size:11px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
  }
  .bgk-mobile-bottom-nav a.bgk-bottom-test{
    background:var(--bgk-mm-blue);
    color:#fff!important;
    box-shadow:0 10px 24px rgba(35,87,245,.26);
  }

  /* Header friendliness */
  header,
  .site-header,
  .main-header,
  .header,
  .elementor-location-header{
    max-width:100%!important;
    overflow:visible!important;
  }

  /* Prevent any old menu from widening screen */
  .menu,
  .nav-menu,
  .primary-menu,
  .mega-menu,
  .elementor-nav-menu{
    max-width:100%!important;
  }
}

/* Very small mobile */
@media(max-width:420px){
  .bgk-mobile-menu-panel{
    width:calc(100vw - 0.2mm);
    border-radius:22px 0 0 22px;
  }
  .bgk-mobile-menu-quick{
    grid-template-columns:1fr;
  }
  .bgk-mobile-bottom-nav{
    min-height:62px;
  }
}
