/* ==========================================================================
   TEKTAR MENU / SIDEBAR — CANONICAL OWNER
   v1.9.54.1 / Cleanup Phase 7.1
   This file is the FINAL visual owner of:
   - desktop sidebar
   - logo/slogan block
   - primary navigation
   - search block
   - mobile menu button / overlay / offcanvas
   ========================================================================== */

:root{
  --tektar-menu-width:330px;
  --tektar-menu-gap:18px;
  --tektar-menu-radius:28px;
  --tektar-mobile-menu-width:min(360px,88vw);
}

/* ---------- Desktop shell + sidebar ---------- */
@media (min-width:901px){
  html,body{overflow-x:hidden}
  .tektar-site-shell{
    width:min(1440px,calc(100% - 32px))!important;
    max-width:1440px!important;
    margin:16px auto!important;
    display:grid!important;
    grid-template-columns:var(--tektar-menu-width) minmax(0,1fr)!important;
    column-gap:var(--tektar-menu-gap)!important;
    align-items:start!important;
    overflow:visible!important;
    background:transparent!important;
  }

  #tektar-sidebar.tektar-sidebar{
    position:sticky!important;
    top:16px!important;
    left:auto!important;
    z-index:40!important;
    display:block!important;
    width:var(--tektar-menu-width)!important;
    min-width:var(--tektar-menu-width)!important;
    max-width:var(--tektar-menu-width)!important;
    height:auto!important;
    min-height:calc(100vh - 32px)!important;
    max-height:calc(100vh - 32px)!important;
    margin:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    overflow:hidden!important;
    border:1px solid rgba(4,84,49,.10)!important;
    border-radius:var(--tektar-menu-radius)!important;
    background:linear-gradient(180deg,#fff 0%,#fdfefd 70%,#f4f8f6 100%)!important;
    box-shadow:0 22px 54px rgba(5,45,27,.13)!important;
  }
  .admin-bar #tektar-sidebar.tektar-sidebar{
    top:48px!important;
    max-height:calc(100vh - 64px)!important;
  }

  #tektar-sidebar>.tektar-sidebar-inner{
    position:relative!important;
    top:auto!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:auto!important;
    min-height:calc(100vh - 34px)!important;
    max-height:calc(100vh - 34px)!important;
    padding:24px 22px 20px!important;
    overflow:hidden!important;
  }

  #tektar-sidebar .tektar-brand{
    flex:0 0 auto!important;
    min-height:142px!important;
    margin:0!important;
    padding:6px 8px 20px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    overflow:visible!important;
  }
  #tektar-sidebar .custom-logo-link{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    max-width:100%!important;
  }
  #tektar-sidebar .custom-logo{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:216px!important;
    max-height:94px!important;
    object-fit:contain!important;
    filter:drop-shadow(0 8px 13px rgba(0,0,0,.13))!important;
  }
  #tektar-sidebar .tektar-text-logo{
    font-size:38px!important;
    line-height:1!important;
  }
  #tektar-sidebar .tektar-slogan{
    display:block!important;
    margin:10px 0 0!important;
    color:#667068!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.01em!important;
  }

  #tektar-sidebar .tektar-nav{
    position:relative!important;
    z-index:2!important;
    flex:1 1 auto!important;
    min-height:0!important;
    margin:0!important;
    padding:2px 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(0,120,58,.24) transparent!important;
  }
  #tektar-sidebar .tektar-nav::-webkit-scrollbar{width:4px!important}
  #tektar-sidebar .tektar-nav::-webkit-scrollbar-track{background:transparent!important}
  #tektar-sidebar .tektar-nav::-webkit-scrollbar-thumb{background:rgba(0,120,58,.24)!important;border-radius:10px!important}

  #tektar-sidebar .tektar-menu,
  #tektar-sidebar .tektar-menu ul{
    display:block!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
  }
  #tektar-sidebar .tektar-menu-item{
    display:block!important;
    margin:0 0 5px!important;
    padding:0!important;
  }
  #tektar-sidebar .tektar-menu-link{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:45px!important;
    gap:11px!important;
    margin:0!important;
    padding:6px 11px!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:13px!important;
    background:transparent!important;
    color:#404642!important;
    font-size:14px!important;
    font-weight:650!important;
    line-height:1.25!important;
    white-space:normal!important;
    transform:none!important;
    transition:background .22s ease,color .22s ease,transform .22s ease!important;
  }
  #tektar-sidebar .tektar-menu-link::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    border-radius:inherit!important;
    background:linear-gradient(90deg,rgba(0,168,90,.16),rgba(0,168,90,.035))!important;
    opacity:0!important;
    transition:opacity .22s ease!important;
  }
  #tektar-sidebar .tektar-menu-link:hover,
  #tektar-sidebar .current-menu-item>.tektar-menu-link,
  #tektar-sidebar .current_page_item>.tektar-menu-link{
    color:#087339!important;
    background:rgba(0,120,58,.065)!important;
    transform:translateX(2px)!important;
  }
  #tektar-sidebar .tektar-menu-link:hover::before,
  #tektar-sidebar .current-menu-item>.tektar-menu-link::before,
  #tektar-sidebar .current_page_item>.tektar-menu-link::before{opacity:1!important}

  #tektar-sidebar .tektar-menu-icon{
    position:relative!important;
    z-index:2!important;
    flex:0 0 31px!important;
    width:31px!important;
    height:31px!important;
    display:grid!important;
    place-items:center!important;
    color:#07904a!important;
    line-height:0!important;
  }
  #tektar-sidebar .tektar-menu-icon-core{display:grid!important;place-items:center!important}
  #tektar-sidebar .tektar-menu-icon svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
  }
  #tektar-sidebar .tektar-menu-text{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  #tektar-sidebar .tektar-menu-shine{display:none!important}

  #tektar-sidebar .tektar-search{
    flex:0 0 auto!important;
    margin:12px 0 0!important;
    padding:12px 0 0!important;
    border-top:1px solid rgba(0,70,40,.10)!important;
  }
  #tektar-sidebar .tektar-search-form{
    width:100%!important;
    height:44px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    border:1px solid rgba(0,120,58,.13)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 7px 20px rgba(20,60,35,.055)!important;
  }
  #tektar-sidebar .tektar-search-form button{
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    padding:11px!important;
  }
  #tektar-sidebar .tektar-search-form input{
    min-width:0!important;
    width:100%!important;
    font-size:13px!important;
  }
  #tektar-sidebar .tektar-sidebar-art{display:none!important}

  .tektar-main-panel{
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }
  body>.tektar-mobile-toggle,
  body>.tektar-menu-overlay,
  .tektar-mobile-toggle,
  .tektar-menu-overlay{
    display:none!important;
  }
}

/* ---------- Compact desktop ---------- */
@media (min-width:901px) and (max-width:1180px){
  :root{--tektar-menu-width:300px;--tektar-menu-gap:12px}
  .tektar-site-shell{width:calc(100% - 20px)!important;margin:10px auto!important}
  #tektar-sidebar>.tektar-sidebar-inner{padding:20px 18px 16px!important}
  #tektar-sidebar .tektar-brand{min-height:126px!important;padding-bottom:16px!important}
  #tektar-sidebar .custom-logo{max-width:192px!important;max-height:82px!important}
  #tektar-sidebar .tektar-menu-link{min-height:42px!important;font-size:13.5px!important}
}

/* ---------- Mobile offcanvas ---------- */
@media (max-width:900px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  html.tektar-menu-open,
  body.tektar-menu-open{overflow:hidden!important}
  body.tektar-menu-open{
    position:fixed!important;
    inset:var(--tektar-lock-y,0) 0 auto 0!important;
    width:100%!important;
  }

  .tektar-site-shell{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    display:block!important;
    overflow:visible!important;
    border-radius:0!important;
  }
  .tektar-main-panel{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  body>.tektar-mobile-toggle{
    position:fixed!important;
    z-index:10020!important;
    left:max(14px,env(safe-area-inset-left))!important;
    top:max(14px,env(safe-area-inset-top))!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    min-width:112px!important;
    height:56px!important;
    padding:0 16px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,#123d2a,#082a1b)!important;
    color:#fff!important;
    box-shadow:0 15px 34px rgba(0,0,0,.27)!important;
    cursor:pointer!important;
  }
  body>.tektar-mobile-toggle span{
    display:block!important;
    width:4px!important;
    height:27px!important;
    border-radius:4px!important;
    background:linear-gradient(#70ffc0,#28df87)!important;
    box-shadow:0 0 10px rgba(65,247,157,.25)!important;
  }
  body>.tektar-mobile-toggle b{
    display:block!important;
    margin-left:4px!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1!important;
  }

  body>.tektar-menu-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:10010!important;
    display:block!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    background:rgba(4,20,12,.50)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
    transition:opacity .24s ease,visibility .24s ease!important;
  }

  body>#tektar-sidebar.tektar-sidebar{
    position:fixed!important;
    z-index:10015!important;
    left:0!important;
    top:0!important;
    display:block!important;
    width:var(--tektar-mobile-menu-width)!important;
    min-width:0!important;
    max-width:88vw!important;
    height:var(--tektar-mobile-vh,100dvh)!important;
    min-height:0!important;
    max-height:var(--tektar-mobile-vh,100dvh)!important;
    margin:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0 24px 24px 0!important;
    background:linear-gradient(180deg,#fff 0%,#fbfdfc 68%,#f1f7f4 100%)!important;
    box-shadow:20px 0 55px rgba(0,0,0,.30)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(-104%,0,0)!important;
    transition:transform .28s cubic-bezier(.2,.75,.2,1),opacity .2s ease,visibility .2s ease!important;
  }
  .admin-bar body>#tektar-sidebar.tektar-sidebar{top:0!important}

  body>#tektar-sidebar>.tektar-sidebar-inner{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    padding:max(18px,env(safe-area-inset-top)) 18px calc(16px + env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }

  #tektar-sidebar .tektar-brand{
    flex:0 0 auto!important;
    min-height:0!important;
    margin:0!important;
    padding:4px 8px 16px!important;
    text-align:center!important;
  }
  #tektar-sidebar .custom-logo-link{display:inline-flex!important;justify-content:center!important}
  #tektar-sidebar .custom-logo{
    width:auto!important;
    height:auto!important;
    max-width:190px!important;
    max-height:82px!important;
    object-fit:contain!important;
  }
  #tektar-sidebar .tektar-slogan{
    display:block!important;
    margin:7px 0 0!important;
    color:#68716c!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.2!important;
  }

  #tektar-sidebar .tektar-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0 2px 4px 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    scrollbar-width:thin!important;
  }
  #tektar-sidebar .tektar-menu,
  #tektar-sidebar .tektar-menu ul{
    display:block!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  #tektar-sidebar .tektar-menu-item{
    display:block!important;
    margin:0 0 3px!important;
    padding:0!important;
  }
  #tektar-sidebar .tektar-menu-link{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:42px!important;
    gap:9px!important;
    padding:5px 9px!important;
    overflow:hidden!important;
    border-radius:12px!important;
    color:#39413c!important;
    background:transparent!important;
    font-size:14px!important;
    font-weight:650!important;
    line-height:1.2!important;
    white-space:normal!important;
    transform:none!important;
  }
  #tektar-sidebar .tektar-menu-link::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    border-radius:inherit!important;
    background:linear-gradient(90deg,rgba(0,168,90,.16),rgba(0,168,90,.03))!important;
    opacity:0!important;
  }
  #tektar-sidebar .tektar-menu-link:hover,
  #tektar-sidebar .current-menu-item>.tektar-menu-link,
  #tektar-sidebar .current_page_item>.tektar-menu-link{
    color:#087339!important;
    background:rgba(0,120,58,.06)!important;
  }
  #tektar-sidebar .current-menu-item>.tektar-menu-link::before,
  #tektar-sidebar .current_page_item>.tektar-menu-link::before{opacity:1!important}

  #tektar-sidebar .tektar-menu-icon{
    position:relative!important;
    z-index:2!important;
    flex:0 0 29px!important;
    width:29px!important;
    height:29px!important;
    display:grid!important;
    place-items:center!important;
    color:#098f4a!important;
  }
  #tektar-sidebar .tektar-menu-icon svg{display:block!important;width:17px!important;height:17px!important}
  #tektar-sidebar .tektar-menu-text{position:relative!important;z-index:2!important;min-width:0!important}

  #tektar-sidebar .tektar-search{
    flex:0 0 auto!important;
    margin:9px 0 0!important;
    padding:9px 0 0!important;
    border-top:1px solid rgba(0,70,40,.10)!important;
  }
  #tektar-sidebar .tektar-search-form{
    width:100%!important;
    height:41px!important;
    margin:0!important;
    border-radius:11px!important;
  }
  #tektar-sidebar .tektar-search-form button{
    width:41px!important;
    height:41px!important;
    padding:10px!important;
  }
  #tektar-sidebar .tektar-search-form input{font-size:13px!important}
  #tektar-sidebar .tektar-sidebar-art{display:none!important}

  body.tektar-menu-open>.tektar-menu-overlay{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.tektar-menu-open>#tektar-sidebar.tektar-sidebar{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }
}

/* Very short mobile screens: menu remains scrollable rather than shrinking away. */
@media (max-width:900px) and (max-height:720px){
  #tektar-sidebar .tektar-brand{padding-bottom:10px!important}
  #tektar-sidebar .custom-logo{max-width:165px!important;max-height:68px!important}
  #tektar-sidebar .tektar-slogan{margin-top:4px!important;font-size:11px!important}
  #tektar-sidebar .tektar-menu-link{min-height:38px!important;padding:3px 8px!important;font-size:13px!important}
  #tektar-sidebar .tektar-menu-icon{width:26px!important;height:26px!important;flex-basis:26px!important}
  #tektar-sidebar .tektar-menu-icon svg{width:16px!important;height:16px!important}
  #tektar-sidebar .tektar-search{margin-top:6px!important;padding-top:6px!important}
}

@media (prefers-reduced-motion:reduce){
  #tektar-sidebar,
  .tektar-menu-overlay,
  .tektar-mobile-toggle,
  #tektar-sidebar .tektar-menu-link{transition:none!important}
}


/* ==========================================================================
   PHASE 7.1 — MENU VISIBILITY / HEIGHT REGRESSION FIX
   ========================================================================== */

/* Legacy animation layer used opacity:0 on every menu link.
   Navigation must never depend on an animation to become visible. */
#tektar-sidebar .tektar-menu-link,
body.tektar-legacy-visual #tektar-sidebar .tektar-menu-link{
  opacity:1!important;
  visibility:visible!important;
  animation:none!important;
  transform:none!important;
}

/* Make the desktop sidebar content-sized, with viewport only as a ceiling.
   This prevents the "menu card stretches forever" regression. */
@media (min-width:901px){
  #tektar-sidebar.tektar-sidebar{
    min-height:0!important;
    height:auto!important;
    max-height:calc(100vh - 32px)!important;
    align-self:start!important;
  }
  .admin-bar #tektar-sidebar.tektar-sidebar{
    max-height:calc(100vh - 64px)!important;
  }
  #tektar-sidebar>.tektar-sidebar-inner{
    min-height:0!important;
    height:auto!important;
    max-height:inherit!important;
  }
  #tektar-sidebar .tektar-nav{
    flex:0 1 auto!important;
    max-height:calc(100vh - 260px)!important;
  }
}

/* Header markup keeps toggle and overlay inside .tektar-site-shell.
   Do not require them to be direct children of BODY. */
@media (max-width:900px){
  .tektar-mobile-toggle{
    position:fixed!important;
    z-index:10020!important;
    left:max(14px,env(safe-area-inset-left))!important;
    top:max(14px,env(safe-area-inset-top))!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .tektar-menu-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:10010!important;
    display:block!important;
  }
  #tektar-sidebar.tektar-sidebar{
    position:fixed!important;
    z-index:10015!important;
    left:0!important;
    top:0!important;
    width:var(--tektar-mobile-menu-width)!important;
    max-width:88vw!important;
    height:var(--tektar-mobile-vh,100dvh)!important;
    min-height:0!important;
    max-height:var(--tektar-mobile-vh,100dvh)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(-104%,0,0)!important;
  }
  body.tektar-menu-open .tektar-menu-overlay{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.tektar-menu-open #tektar-sidebar.tektar-sidebar{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }
}

/* ========================================================================== 
   v1.9.84.0 — GLOBAL DESKTOP FOLLOW-ME SIDEBAR
   Keep primary navigation visible throughout every desktop page, regardless
   of document/content height or transformed/overflowing page modules.
   ========================================================================== */
@media (min-width:901px){
  .tektar-site-shell{
    position:relative!important;
    grid-template-columns:var(--tektar-menu-width) minmax(0,1fr)!important;
    overflow:visible!important;
  }
  .tektar-main-panel{
    grid-column:2!important;
    min-width:0!important;
    width:100%!important;
  }
  #tektar-sidebar.tektar-sidebar{
    position:fixed!important;
    top:16px!important;
    left:max(16px,calc((100vw - 1440px)/2))!important;
    z-index:1000!important;
    width:var(--tektar-menu-width)!important;
    min-width:var(--tektar-menu-width)!important;
    max-width:var(--tektar-menu-width)!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100vh - 32px)!important;
    margin:0!important;
    transform:none!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
  }
  body.admin-bar #tektar-sidebar.tektar-sidebar{
    top:48px!important;
    max-height:calc(100vh - 64px)!important;
  }
  #tektar-sidebar>.tektar-sidebar-inner{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:inherit!important;
    overflow:hidden!important;
  }
  #tektar-sidebar .tektar-nav{
    min-height:0!important;
    max-height:calc(100vh - 260px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
  }
  body.admin-bar #tektar-sidebar .tektar-nav{
    max-height:calc(100vh - 292px)!important;
  }
}
