/* FPPTI Jabar Theme 1.11.2
 * Mobile navigation cleanup.
 * - one hamburger only, beside the account controls
 * - one dedicated vertical menu panel
 * - no desktop flex/grid leakage inside the mobile panel
 * - About submenu is an accordion
 */

.fppti_mobile_menu_panel_v3,
.fppti_mobile_menu_backdrop_v3 { display:none; }

@media (max-width: 767px) {
  /* Keep the old horizontal journal navigation completely hidden on phones. */
  html body.openlib-journal-page .openlib_journal_header__navrow,
  html body.openlib-journal-page .openlib_journal_header__navrow_inner,
  html body.openlib-journal-page .openlib_journal_nav,
  html body.openlib-journal-page .openlib_journal_search {
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  /* Hamburger belongs to the same account row as Dark / Login / Register. */
  html body.openlib-journal-page .openlib_journal_header__account {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    gap:5px !important;
  }
  html body.openlib-journal-page .openlib_journal_nav_toggle {
    position:static !important;
    inset:auto !important;
    transform:none !important;
    display:inline-flex !important;
    flex:0 0 36px !important;
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    margin:0 0 0 2px !important;
    padding:0 !important;
    border-radius:10px !important;
    z-index:100004 !important;
  }

  /* Dedicated panel. It is deliberately independent from OJS desktop nav classes. */
  .fppti_mobile_menu_panel_v3 {
    position:fixed !important;
    z-index:100003 !important;
    display:none !important;
    width:min(300px, calc(100vw - 24px)) !important;
    max-height:calc(100dvh - 86px) !important;
    margin:0 !important;
    padding:8px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    border:1px solid #D7E3F1 !important;
    border-radius:16px !important;
    background:#FFFFFF !important;
    box-shadow:0 18px 44px rgba(15,23,42,.20) !important;
  }
  .fppti_mobile_menu_panel_v3.is-open { display:block !important; }

  .fppti_mobile_menu_panel_v3 *,
  .fppti_mobile_menu_panel_v3 *::before,
  .fppti_mobile_menu_panel_v3 *::after { box-sizing:border-box !important; }

  .fppti_mobile_menu_list,
  .fppti_mobile_submenu {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }
  .fppti_mobile_menu_item {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:both !important;
  }
  .fppti_mobile_menu_item + .fppti_mobile_menu_item { margin-top:2px !important; }

  .fppti_mobile_menu_row {
    display:flex !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
    gap:4px !important;
  }

  .fppti_mobile_menu_link,
  .fppti_mobile_menu_search,
  .fppti_mobile_submenu_link {
    font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    text-decoration:none !important;
  }
  .fppti_mobile_menu_link,
  .fppti_mobile_menu_search {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    color:#334155 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    text-align:left !important;
    white-space:normal !important;
  }
  .fppti_mobile_menu_link .fa,
  .fppti_mobile_menu_search .fa {
    flex:0 0 16px !important;
    width:16px !important;
    color:#56708E !important;
    text-align:center !important;
  }
  .fppti_mobile_menu_link:hover,
  .fppti_mobile_menu_link:focus,
  .fppti_mobile_menu_search:hover,
  .fppti_mobile_menu_search:focus {
    background:#F1F6FF !important;
    color:#004AAC !important;
    outline:0 !important;
  }
  .fppti_mobile_menu_item.is-current > .fppti_mobile_menu_row > .fppti_mobile_menu_link,
  .fppti_mobile_menu_link[aria-current="page"] {
    background:linear-gradient(135deg,#004AAC 0%,#216FDB 100%) !important;
    color:#FFFFFF !important;
    box-shadow:0 6px 15px rgba(0,74,172,.18) !important;
  }
  .fppti_mobile_menu_item.is-current > .fppti_mobile_menu_row > .fppti_mobile_menu_link .fa,
  .fppti_mobile_menu_link[aria-current="page"] .fa { color:#FFFFFF !important; }

  .fppti_mobile_submenu_toggle {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 42px !important;
    width:42px !important;
    min-width:42px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    color:#64748B !important;
    cursor:pointer !important;
  }
  .fppti_mobile_submenu_toggle:hover,
  .fppti_mobile_submenu_toggle:focus {
    background:#F1F6FF !important;
    color:#004AAC !important;
    outline:0 !important;
  }
  .fppti_mobile_submenu_toggle .fa {
    transition:transform .18s ease !important;
  }
  .fppti_mobile_menu_item.is-expanded .fppti_mobile_submenu_toggle .fa {
    transform:rotate(180deg) !important;
  }

  .fppti_mobile_submenu {
    display:none !important;
    padding:4px 0 6px 18px !important;
  }
  .fppti_mobile_menu_item.is-expanded > .fppti_mobile_submenu {
    display:block !important;
  }
  .fppti_mobile_submenu li {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
  }
  .fppti_mobile_submenu_link {
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:38px !important;
    margin:0 !important;
    padding:8px 10px !important;
    border-radius:8px !important;
    color:#64748B !important;
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:600 !important;
    white-space:normal !important;
  }
  .fppti_mobile_submenu_link:hover,
  .fppti_mobile_submenu_link:focus,
  .fppti_mobile_submenu_link[aria-current="page"] {
    background:#F4F7FB !important;
    color:#004AAC !important;
    outline:0 !important;
  }

  .fppti_mobile_menu_search {
    width:100% !important;
    margin-top:6px !important;
    border-top:1px solid #E2E8F0 !important;
    border-radius:0 0 10px 10px !important;
  }

  .fppti_mobile_menu_backdrop_v3 {
    position:fixed !important;
    inset:0 !important;
    z-index:100002 !important;
    display:none !important;
    background:rgba(15,23,42,.12) !important;
    backdrop-filter:blur(1px);
  }
  .fppti_mobile_menu_backdrop_v3.is-open { display:block !important; }

  body.fppti-mobile-menu-open { overflow:hidden !important; }

  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_panel_v3 {
    border-color:#40536D !important;
    background:#172338 !important;
    box-shadow:0 18px 44px rgba(0,0,0,.38) !important;
  }
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_link,
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_search {
    color:#E2E8F0 !important;
  }
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_link .fa,
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_search .fa,
  html[data-openlib-color-mode="dark"] .fppti_mobile_submenu_toggle {
    color:#AFC0D5 !important;
  }
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_link:hover,
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_link:focus,
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_search:hover,
  html[data-openlib-color-mode="dark"] .fppti_mobile_submenu_toggle:hover {
    background:#22324A !important;
    color:#93C5FD !important;
  }
  html[data-openlib-color-mode="dark"] .fppti_mobile_submenu_link {
    color:#CBD5E1 !important;
  }
  html[data-openlib-color-mode="dark"] .fppti_mobile_submenu_link:hover,
  html[data-openlib-color-mode="dark"] .fppti_mobile_submenu_link[aria-current="page"] {
    background:#22324A !important;
    color:#93C5FD !important;
  }
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_search {
    border-top-color:#40536D !important;
  }
  html[data-openlib-color-mode="dark"] .fppti_mobile_menu_backdrop_v3 {
    background:rgba(0,0,0,.24) !important;
  }
}

@media (min-width: 768px) {
  .fppti_mobile_menu_panel_v3,
  .fppti_mobile_menu_backdrop_v3 { display:none !important; }
}

/* 1.11.3: Search is always a visible final action in the mobile hamburger panel. */
@media (max-width: 767px) {
  html body.openlib-journal-page .fppti_mobile_menu_panel_v3 > .fppti_mobile_menu_search {
    display:flex !important;
    align-items:center !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:44px !important;
    margin:6px 0 0 !important;
    padding:0 12px !important;
    border-top:1px solid #E2E8F0 !important;
    color:#334155 !important;
  }
  html body.openlib-journal-page .fppti_mobile_menu_panel_v3 > .fppti_mobile_menu_search .fa {
    display:inline-block !important;
  }
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .fppti_mobile_menu_panel_v3 > .fppti_mobile_menu_search {
    border-top-color:#40536D !important;
    color:#E2E8F0 !important;
  }
}
