/* Sidebar (jzv2) styles moved from `style.css` and `overrides.css` */

/* Close button / pill */
#jzv2-close{
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:6px;
  border-radius:12px;
  background:linear-gradient(180deg,#071226 0%, #0f2b3b 100%);
  border:1px solid rgba(255,255,255,0.04);
  color:var(--text);
  box-shadow:0 8px 20px rgba(2,6,23,.45), inset 0 1px rgba(255,255,255,0.02);
  transition:transform .12s ease, background .14s ease, box-shadow .14s ease;
}
#jzv2-close:hover{ transform:translateY(-2px); background:linear-gradient(180deg,#0b2a3a 0%, #15394a 100%); box-shadow:0 12px 30px rgba(2,6,23,.6); }
#jzv2-close:active{ transform:translateY(0); box-shadow:0 6px 14px rgba(2,6,23,.55); }
#jzv2-close:focus{ outline:2px solid rgba(98,211,255,.18); outline-offset:3px; }
.jzv2-sidebar.jzv2-open #jzv2-close{ background:linear-gradient(90deg,#0b3250 0%, #062036 100%); color:#cfe6ff; box-shadow:0 10px 30px rgba(6,40,60,.6); }

/* Sidebar layout helpers (moved from overrides.css) */
.jzv2-sidebar-inner { max-height: 100vh; min-height: 0; overflow: hidden; display:flex; flex-direction:column; min-height:0 }
.jzv2-side-menu-wrap { flex: 1 1 auto; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; max-height: calc(100vh - 140px); touch-action: pan-y; -ms-touch-action: pan-y; }
.jzv2-side-menu { max-height: none; overflow: auto; -webkit-overflow-scrolling: touch; touch-action: pan-y; -ms-touch-action: pan-y; }
@media (max-width:480px){ .jzv2-side-menu-wrap { max-height: calc(100vh - 120px); } }

.jzv2-news { order:1 }
.jzv2-foot { order:2; margin-top:12px; text-align:center }
.jzv2-foot .jzv2-copy{ display:block; text-align:center; margin:0.6rem auto 0; }
.jzv2-actions.compact { display:flex; justify-content:center; align-items:center; margin-bottom:12px }
.jzv2-actions.compact .btn { padding:12px 18px; border-radius:12px; width:auto; max-width:260px; min-width:160px; font-weight:800; display:inline-flex; justify-content:center; align-items:center; text-align:center; margin:0 auto }
.jzv2-actions.compact .btn.cta-btn { background:linear-gradient(90deg,#62d3ff,#8be6ff); color:#041124; box-shadow:0 10px 30px rgba(98,211,255,0.12) }
@media (max-width:480px){ .jzv2-actions.compact .btn { padding:10px 14px; border-radius:10px; max-width:220px; min-width:120px } }

.jzv2-header{ position: relative; display:block; text-align:left; margin-bottom:12px; overflow:visible }
.jzv2-header .brand{ display:inline-block; margin:0; padding-left:6px; position:relative; background:none; box-shadow:none; filter:none; transform:none }
/* reduce size when shown in sidebar header area – keeps main header unaffected */
.jzv2-sidebar .jzv2-header .brand{
  font-size:1rem; /* slightly smaller than main header branding */
  line-height:1.2;
}
/* if a custom logo image is used inside sidebar, cap its height */
.jzv2-sidebar .jzv2-header .custom-logo-link,
.jzv2-sidebar .jzv2-header .custom-logo{
  max-height:32px;
  width:auto;
}
.jzv2-header .brand::before,
.jzv2-header .brand::after{ content:none !important; display:none !important }
.jzv2-header .brand:hover,
.jzv2-header .brand:focus,
.jzv2-header .brand:focus-visible,
.jzv2-header .brand:active{ background:none; box-shadow:none; filter:none; transform:none; outline:none }
/* maintain reduced sizing for interactive states too */
.jzv2-sidebar .jzv2-header .brand:hover,
.jzv2-sidebar .jzv2-header .brand:focus,
.jzv2-sidebar .jzv2-header .brand:focus-visible,
.jzv2-sidebar .jzv2-header .brand:active{
  font-size:1rem;
}
.jzv2-header #jzv2-close{ position:absolute; right:4px; top:4px; transform:translateY(-2px); z-index:11000; }

/* Search inside sidebar */
.jzv2-search-form{margin-bottom:18px}
.jzv2-search-input-wrap{display:flex;gap:8px;align-items:center}
.jzv2-search-input-wrap input[type="search"]{flex:1;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.04);color:var(--text);box-shadow:0 8px 30px rgba(2,6,23,0.45);outline:none}
.jzv2-search-input-wrap input[type="search"]::placeholder{color:rgba(255,255,255,0.42)}
.jzv2-search-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;background:linear-gradient(90deg,#62d3ff,#8be6ff);border:0;color:#041124;font-weight:800;box-shadow:0 8px 28px rgba(98,211,255,0.12);cursor:pointer}
.jzv2-search-btn svg{filter:drop-shadow(0 2px 6px rgba(6,40,60,0.35));}
.jzv2-search-suggestions{margin-top:8px;background:linear-gradient(180deg,#061426,#081a2a);border:1px solid rgba(255,255,255,0.04);border-radius:12px;padding:6px;box-shadow:0 18px 40px rgba(2,6,23,0.6);max-height:320px;overflow:auto}
.jzv2-search-suggestions .item{padding:10px 12px;border-radius:10px;color:var(--text);cursor:pointer;margin-bottom:6px;background:rgba(255,255,255,0.01);}
.jzv2-search-suggestions .item[aria-selected="true"], .jzv2-search-suggestions .item:hover{background:rgba(98,211,255,0.06);}

/* ensure vertical scroll available on narrow desktops/tablets
   (but not on phones; phones get special handling further down) */
@media (max-width:980px){
  .jzv2-sidebar .jzv2-sidebar-inner{overflow-y:auto !important; -webkit-overflow-scrolling:touch;}
  .jzv2-sidebar .jzv2-side-menu-wrap{flex:0 0 auto !important; max-height:none !important; overflow:visible !important;}
}

/* general mobile adjustments for all phones */
@media (max-width:640px){
  .jzv2-sidebar { width: 100vw !important; left: 0 !important; }
  .jzv2-side-menu-wrap { padding: 0 8px !important; }
  .jzv2-side-menu a { white-space: normal !important; word-break: break-word !important; font-size: 0.95rem !important; padding-left: 14px !important; padding-right: 14px !important; }

  /* on phones we don't want the outer container to scroll, only the menu
     wrapper should handle vertical overflow; this keeps the indicator next
     to menu items instead of running the full height of sidebar */
  .jzv2-sidebar .jzv2-sidebar-inner{
    overflow-y: visible !important;
    -webkit-overflow-scrolling: unset !important;
  }
  .jzv2-sidebar .jzv2-side-menu-wrap{
    flex: 1 1 auto !important;
    max-height: calc(100vh - 120px) !important;
    overflow: auto !important;
  }

  /* modern vertical scrollbar indicator only for the menu region
     keeps native scrolling, avoids JS, and doesn't affect desktop */
  .jzv2-side-menu-wrap {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.25) transparent;
  }
  .jzv2-side-menu-wrap::-webkit-scrollbar {
    width: 6px;
  }
  .jzv2-side-menu-wrap::-webkit-scrollbar-track {
    background: transparent;
  }
  .jzv2-side-menu-wrap::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.25);
    border-radius: 3px;
    border: 1px solid rgba(255,255,255,.1);
  }
}

/* ultra narrow phones: further shrink text/padding */
@media (max-width:360px){
  .jzv2-sidebar { width: 100vw !important; left: 0 !important; }
  .jzv2-side-menu a { font-size: 0.85rem !important; padding-left: 16px !important; padding-right: 16px !important; }
  .jzv2-side-menu-wrap { padding: 0 6px !important; }
}

/* even smaller devices under 300px width */
@media (max-width:300px){
  .jzv2-sidebar { width: 100vw !important; }
  .jzv2-side-menu a { font-size: 0.75rem !important; padding-left: 12px !important; padding-right: 12px !important; }
  .jzv2-side-menu-wrap { padding: 0 4px !important; }
}

/* --------------------------------------------------
   Nested submenu appearance inside mobile sidebar
   handles WP-activated current/ancestor classes
   and keeps look modern without duplication.
-------------------------------------------------- */

/* reset any default list styling inside sidebar submenus */
.jzv2-side-menu li ul{
  list-style:none;margin:0;padding:0;
}

/* indent children and give a pill background */
.jzv2-side-menu li li > a{
  display:block;position:relative;
  padding:10px 14px 10px 28px;
  border-radius:10px;
  background:rgba(255,255,255,0.01);
  transition:background .12s ease,transform .12s ease;
}
/* ensure parent links are positioned so absolute button inside stays put */
.jzv2-side-menu li > a{
  position:relative;
}
/* button existing in link will appear on the right side */
.jzv2-sub-toggle{
  cursor:pointer;
  background:transparent; border:none; color:var(--muted);
  padding:6px; font-size:1rem;
}
.jzv2-side-menu li li > a:hover,
.jzv2-side-menu li li > a:focus{
  background:rgba(98,211,255,0.06);
  transform:translateX(2px);
}

/* hide by default to avoid duplicates when styling in WP output
   only hide when parent isn’t marked "open" and the list isn’t explicitly
   un-hidden, giving priority to the rules below */
.jzv2-side-menu li:not(.open) ul,
.jzv2-side-menu li ul[hidden]{
  display:none;
}

/* show submenu when parent is active/ancestor or manually opened via JS
   also include legacy .jzv2-sub-open state; hover/focus no longer auto-show */
.jzv2-side-menu li.current-menu-ancestor > ul,
.jzv2-side-menu li.current_page_ancestor > ul,
.jzv2-side-menu li.open > ul,
.jzv2-side-menu li.jzv2-sub-open > ul,
.jzv2-side-menu li > ul:not([hidden]){
  display:block !important;
  max-height:1000px !important; /* override legacy collapse */
  opacity:1 !important;
}

/* highlight active and ancestor links cleanly */
.jzv2-side-menu a.current-menu-item,
.jzv2-side-menu a.current_page_item,
.jzv2-side-menu li.current-menu-ancestor > a,
.jzv2-side-menu li.current_page_ancestor > a{
  background:linear-gradient(90deg,var(--brand) 0%, rgba(98,211,255,.12) 100%);
  color:#061426 !important; font-weight:800;
}

/* arrow indicator for parents with children */
.jzv2-side-menu li.menu-item-has-children > a::after{
  content:'▸';position:absolute;right:14px;top:50%;transform:translateY(-50%);
  font-size:0.8rem;transition:transform .2s ease;
}
.jzv2-side-menu li.menu-item-has-children.current-menu-ancestor > a::after,
.jzv2-side-menu li.menu-item-has-children.open > a::after{
  transform:translateY(-50%) rotate(90deg);
}

/* optional JS toggle class to expand submenu, but CSS handles ancestor states */



