/* ORYN GLOBAL MENU V5.8 — HARD RESET / INDEX.HTML REFERENCE
   One responsive two-column global menu on every HTML/PHP page.
   Oryn Business has NO special active/current/hover/focus/tap design. */
:root{
  --oryn-cream:#FFEFD5;
  --oryn-menu-bg:#0b0b0c;
  --oryn-menu-card-top:rgba(255,255,255,.070);
  --oryn-menu-card-bottom:rgba(255,255,255,.030);
  --oryn-menu-card-hover-top:rgba(255,255,255,.115);
  --oryn-menu-card-hover-bottom:rgba(255,255,255,.060);
  --oryn-menu-border:rgba(255,239,213,.22);
  --oryn-menu-border-hover:rgba(255,255,255,.32);
  --oryn-menu-text:#fff;
  --oryn-menu-hover-text:#fff;
}

body.menu-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

/* Full-screen menu: ALWAYS two columns, from phone to desktop. */
#main-header .glass-nav #menuList,
header .glass-nav #menuList,
.forum-menu{
  box-sizing:border-box!important;
  position:fixed!important;
  inset:0!important;
  z-index:100001!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:
    max(88px,calc(env(safe-area-inset-top) + 72px))
    max(16px,env(safe-area-inset-right))
    max(76px,calc(env(safe-area-inset-bottom) + 54px))
    max(16px,env(safe-area-inset-left))!important;
  list-style:none!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:minmax(48px,auto)!important;
  align-content:center!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:9px 14px!important;
  max-width:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.035),transparent 32%),
    linear-gradient(180deg,rgba(14,14,15,.998),rgba(7,7,8,.998))!important;
  backdrop-filter:blur(20px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(110%)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-4px)!important;
  transform-origin:50% 0!important;
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease!important;
}

/* Keep the actual grid at the same visual width everywhere. */
#main-header .glass-nav #menuList::before,
header .glass-nav #menuList::before,
.forum-menu::before{
  content:"";
  display:none!important;
}

#main-header .glass-nav #menuList.show,
header .glass-nav #menuList.show,
.forum-menu.show{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}

/* Limit the two-column grid width without changing the full-screen background. */
#menuList,
.forum-menu{
  padding-left:max(16px,calc((100vw - 720px)/2))!important;
  padding-right:max(16px,calc((100vw - 720px)/2))!important;
}

#menuList>strong{display:contents!important}
#menuList li,
#menuList li+li{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* EVERY item has exactly the same resting style. */
#menuList li>a,
.forum-menu>a{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  margin:0!important;
  padding:10px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--oryn-menu-border)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,var(--oryn-menu-card-top),var(--oryn-menu-card-bottom))!important;
  color:var(--oryn-menu-text)!important;
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif!important;
  font-size:clamp(15px,1.55vw,27px)!important;
  font-weight:800!important;
  line-height:1.12!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:0 2px 8px rgba(0,0,0,.60)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.12)!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  outline:none!important;
  transform:none!important;
  opacity:1!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease,color .16s ease!important;
}

#menuList li>a::before,
#menuList li>a::after,
.forum-menu>a::before,
.forum-menu>a::after{
  content:none!important;
  display:none!important;
}

/* No active/current/school special state: current page is visually identical at rest. */
#menuList li.active>a,
#menuList li.current>a,
#menuList li.selected>a,
#menuList li.is-active>a,
#menuList a[aria-current],
#menuList a.active,
#menuList a.current,
.forum-menu>a.active,
.forum-menu>a.current,
.forum-menu>a[aria-current],
.forum-menu>a.menu-danger{
  color:var(--oryn-menu-text)!important;
  background:linear-gradient(180deg,var(--oryn-menu-card-top),var(--oryn-menu-card-bottom))!important;
  border-color:var(--oryn-menu-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.12)!important;
  transform:none!important;
}

/* One hover/focus for Home, News, School, Forum, everything. */
#menuList li>a:hover,
#menuList li>a:focus-visible,
#menuList li.active>a:hover,
#menuList li.current>a:hover,
#menuList li.selected>a:hover,
#menuList li.is-active>a:hover,
#menuList a[aria-current]:hover,
#menuList a.active:hover,
#menuList a.current:hover,
.forum-menu>a:hover,
.forum-menu>a:focus-visible,
.forum-menu>a.active:hover,
.forum-menu>a.current:hover,
.forum-menu>a[aria-current]:hover,
.forum-menu>a.menu-danger:hover{
  color:var(--oryn-menu-hover-text)!important;
  background:linear-gradient(180deg,var(--oryn-menu-card-hover-top),var(--oryn-menu-card-hover-bottom))!important;
  border-color:var(--oryn-menu-border-hover)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 10px 24px rgba(0,0,0,.22)!important;
  transform:translateY(-1px)!important;
}

/* Same centered round menu/X button on every section, School included. */
#main-header #menuToggle,
header #menuToggle,
.forum-menu-btn{
  box-sizing:border-box!important;
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  left:50%!important;
  right:auto!important;
  width:62px!important;
  height:62px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  z-index:100004!important;
  transform:translateX(-50%)!important;
  border:1px solid rgba(255,239,213,.92)!important;
  border-radius:999px!important;
  background:var(--oryn-cream)!important;
  box-shadow:0 9px 26px rgba(0,0,0,.28)!important;
  cursor:pointer!important;
}

#menuToggle span,
.forum-menu-btn span{
  display:block!important;
  width:27px!important;
  height:3px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#15120f!important;
  transition:transform .18s ease,opacity .14s ease!important;
}

#menuToggle.active span:nth-child(1),
.forum-menu-btn.active span:nth-child(1),
body.menu-open .forum-menu-btn span:nth-child(1){transform:translateY(10px) rotate(45deg)!important}
#menuToggle.active span:nth-child(2),
.forum-menu-btn.active span:nth-child(2),
body.menu-open .forum-menu-btn span:nth-child(2){opacity:0!important}
#menuToggle.active span:nth-child(3),
.forum-menu-btn.active span:nth-child(3),
body.menu-open .forum-menu-btn span:nth-child(3){transform:translateY(-10px) rotate(-45deg)!important}

#logoLink,
#main-header .social-icons-menu,
.forum-logo,
.auth-pills,
.school-top-actions{z-index:100004!important}
body.menu-open #main-header,
body.menu-open header{transform:none!important;opacity:1!important;pointer-events:auto!important}

/* Tablet: same two columns, only dimensions scale down. */
@media (max-width:900px){
  #menuList,.forum-menu{
    padding-left:max(14px,calc((100vw - 700px)/2))!important;
    padding-right:max(14px,calc((100vw - 700px)/2))!important;
    gap:8px 11px!important;
  }
  #menuList li>a,.forum-menu>a{
    min-height:54px!important;
    padding:9px 11px!important;
    border-radius:11px!important;
    font-size:clamp(14px,2.25vw,20px)!important;
  }
  #main-header #menuToggle,header #menuToggle,.forum-menu-btn{
    width:56px!important;
    height:56px!important;
  }
}

/* Phone: still exactly two columns like the supplied reference. */
@media (max-width:600px){
  #main-header .glass-nav #menuList,
  header .glass-nav #menuList,
  .forum-menu{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(44px,auto)!important;
    align-content:center!important;
    gap:7px 8px!important;
    padding-top:max(86px,calc(env(safe-area-inset-top) + 70px))!important;
    padding-bottom:max(70px,calc(env(safe-area-inset-bottom) + 48px))!important;
  }
  #menuList,.forum-menu{
    padding-left:max(9px,env(safe-area-inset-left))!important;
    padding-right:max(9px,env(safe-area-inset-right))!important;
  }
  #menuList li>a,.forum-menu>a{
    min-height:48px!important;
    padding:8px 7px!important;
    border-radius:10px!important;
    font-size:clamp(12px,4.25vw,17px)!important;
    line-height:1.08!important;
  }
  #main-header #menuToggle,header #menuToggle,.forum-menu-btn{
    top:max(10px,env(safe-area-inset-top))!important;
    width:52px!important;
    height:52px!important;
  }
  #menuToggle span,.forum-menu-btn span{width:23px!important}

  /* Preserve the clean original mobile header: logo + centered X while menu is open. */
  body.menu-open #main-header .social-icons-menu,
  body.menu-open header .social-icons-menu,
  body.menu-open .auth-pills,
  body.menu-open .school-top-actions,
  body.menu-open .school-header-actions,
  body.menu-open .school-mobile-auth{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body.menu-open #scrollTopBtn,
  body.menu-open .scroll-top-btn,
  body.menu-open .school-scroll-button{
    z-index:100006!important;
  }
}

@media (max-width:360px){
  #menuList,.forum-menu{
    padding-left:7px!important;
    padding-right:7px!important;
    gap:6px!important;
  }
  #menuList li>a,.forum-menu>a{
    min-height:44px!important;
    padding:6px!important;
    border-radius:9px!important;
    font-size:11.5px!important;
  }
}

/* Short landscape screens remain two-column and scroll rather than clipping. */
@media (max-height:620px){
  #main-header .glass-nav #menuList,
  header .glass-nav #menuList,
  .forum-menu{
    align-content:start!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(40px,auto)!important;
    padding-top:max(74px,calc(env(safe-area-inset-top) + 62px))!important;
    gap:6px 9px!important;
  }
  #menuList li>a,.forum-menu>a{
    min-height:40px!important;
    padding:6px 8px!important;
    font-size:clamp(11.5px,1.35vw,16px)!important;
    border-radius:9px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #main-header .glass-nav #menuList,
  header .glass-nav #menuList,
  .forum-menu,
  #menuList li>a,
  .forum-menu>a{transition:none!important}
}

/* ==========================================================================
   V5.8 HARD RESET
   Forum/School have legacy selectors with higher specificity and !important.
   These selectors intentionally win so the OPEN global menu is identical
   everywhere while leaving the actual Forum/School page design untouched.
   ========================================================================== */

/* The open overlay itself — identical geometry on every implementation. */
html body #main-header nav.glass-nav ul#menuList.menu,
html body #main-header nav.glass-nav ul#menuList.menu.show,
html body header nav.glass-nav ul#menuList.menu,
html body header nav.glass-nav ul#menuList.menu.show,
html nav#forumMenu.forum-menu,
html nav#forumMenu.forum-menu.show,
html body.menu-open nav#forumMenu.forum-menu {
  box-sizing:border-box!important;
  position:fixed!important;
  inset:0!important;
  z-index:100001!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding-top:max(88px,calc(env(safe-area-inset-top) + 72px))!important;
  padding-bottom:max(76px,calc(env(safe-area-inset-bottom) + 54px))!important;
  padding-left:max(16px,calc((100vw - 720px)/2))!important;
  padding-right:max(16px,calc((100vw - 720px)/2))!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:minmax(48px,auto)!important;
  align-content:center!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:9px 14px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.035),transparent 32%),linear-gradient(180deg,rgba(14,14,15,.998),rgba(7,7,8,.998))!important;
  backdrop-filter:blur(20px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(110%)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

html body #main-header nav.glass-nav ul#menuList.menu:not(.show),
html body header nav.glass-nav ul#menuList.menu:not(.show),
html nav#forumMenu.forum-menu:not(.show) {
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

html body #main-header nav.glass-nav ul#menuList.menu.show,
html body header nav.glass-nav ul#menuList.menu.show,
html nav#forumMenu.forum-menu.show,
html body.menu-open nav#forumMenu.forum-menu {
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}

/* Every card except School gets the same base design. */
html body #main-header nav.glass-nav ul#menuList.menu > li > a,
html body header nav.glass-nav ul#menuList.menu > li > a,
html nav#forumMenu.forum-menu > a,
html nav#forumMenu.forum-menu.show > a,
html body.menu-open nav#forumMenu.forum-menu > a {
  box-sizing:border-box!important;
  position:static!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:58px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,239,213,.22)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.070),rgba(255,255,255,.030))!important;
  color:#fff!important;
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif!important;
  font-size:clamp(15px,1.55vw,27px)!important;
  font-weight:800!important;
  line-height:1.12!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:none!important;
  text-shadow:0 2px 8px rgba(0,0,0,.60)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.12)!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  transform:none!important;
  opacity:1!important;
  -webkit-tap-highlight-color:transparent!important;
}

/* Normal hover is shared by every global-menu item EXCEPT Oryn Business. */
html body #main-header nav.glass-nav ul#menuList.menu > li > a:not([href="/school/"]):not([href="/school"]):hover,
html body #main-header nav.glass-nav ul#menuList.menu > li > a:not([href="/school/"]):not([href="/school"]):focus-visible,
html body header nav.glass-nav ul#menuList.menu > li > a:not([href="/school/"]):not([href="/school"]):hover,
html body header nav.glass-nav ul#menuList.menu > li > a:not([href="/school/"]):not([href="/school"]):focus-visible,
html nav#forumMenu.forum-menu.show > a:not([href="/school/"]):not([href="/school"]):hover,
html nav#forumMenu.forum-menu.show > a:not([href="/school/"]):not([href="/school"]):focus-visible,
html body.menu-open nav#forumMenu.forum-menu > a:not([href="/school/"]):not([href="/school"]):hover,
html body.menu-open nav#forumMenu.forum-menu > a:not([href="/school/"]):not([href="/school"]):focus-visible {
  color:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.115),rgba(255,255,255,.060))!important;
  border-color:rgba(255,255,255,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.065),0 9px 22px rgba(0,0,0,.18)!important;
  transform:none!important;
}

/* Oryn Business is NOT special: same rest and same dark hover as every menu item. */
html body #main-header nav.glass-nav ul#menuList.menu a[href="/school/"],
html body #main-header nav.glass-nav ul#menuList.menu a[href="/school/"]:link,
html body #main-header nav.glass-nav ul#menuList.menu a[href="/school/"]:visited,
html body header nav.glass-nav ul#menuList.menu a[href="/school/"],
html body header nav.glass-nav ul#menuList.menu a[href="/school/"]:link,
html body header nav.glass-nav ul#menuList.menu a[href="/school/"]:visited,
html nav#forumMenu.forum-menu a[href="/school/"],
html nav#forumMenu.forum-menu a[href="/school/"]:link,
html nav#forumMenu.forum-menu a[href="/school/"]:visited {
  color:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.070),rgba(255,255,255,.030))!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.12)!important;
  transform:none!important;
  outline:none!important;
  filter:none!important;
  text-shadow:0 2px 8px rgba(0,0,0,.60)!important;
}

html body #main-header nav.glass-nav ul#menuList.menu a[href="/school/"]:hover,
html body #main-header nav.glass-nav ul#menuList.menu a[href="/school/"]:focus-visible,
html body header nav.glass-nav ul#menuList.menu a[href="/school/"]:hover,
html body header nav.glass-nav ul#menuList.menu a[href="/school/"]:focus-visible,
html nav#forumMenu.forum-menu.show a[href="/school/"]:hover,
html nav#forumMenu.forum-menu.show a[href="/school/"]:focus-visible,
html body.menu-open nav#forumMenu.forum-menu a[href="/school/"]:hover,
html body.menu-open nav#forumMenu.forum-menu a[href="/school/"]:focus-visible {
  color:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.115),rgba(255,255,255,.060))!important;
  border-color:rgba(255,255,255,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.065),0 9px 22px rgba(0,0,0,.18)!important;
  transform:none!important;
  outline:none!important;
  filter:none!important;
}

/* Same centered menu/X button even against legacy Forum selectors. */
html body #main-header #menuToggle,
html body header #menuToggle,
html body .forum-header .forum-menu-btn,
html body.menu-open .forum-header .forum-menu-btn {
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  left:50%!important;
  right:auto!important;
  width:62px!important;
  height:62px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  z-index:100004!important;
  transform:translateX(-50%)!important;
  border:1px solid rgba(255,239,213,.92)!important;
  border-radius:999px!important;
  background:#FFEFD5!important;
  box-shadow:0 9px 26px rgba(0,0,0,.28)!important;
}

/* Responsive geometry remains two-column, matching the index reference. */
@media (max-width:900px){
  html body #main-header nav.glass-nav ul#menuList.menu,
  html body header nav.glass-nav ul#menuList.menu,
  html nav#forumMenu.forum-menu,
  html nav#forumMenu.forum-menu.show,
  html body.menu-open nav#forumMenu.forum-menu {
    padding-left:max(14px,calc((100vw - 700px)/2))!important;
    padding-right:max(14px,calc((100vw - 700px)/2))!important;
    gap:8px 11px!important;
  }
  html body #main-header nav.glass-nav ul#menuList.menu > li > a,
  html body header nav.glass-nav ul#menuList.menu > li > a,
  html nav#forumMenu.forum-menu > a {
    min-height:54px!important;
    padding:9px 11px!important;
    border-radius:11px!important;
    font-size:clamp(14px,2.25vw,20px)!important;
  }
}

@media (max-width:600px){
  html body #main-header nav.glass-nav ul#menuList.menu,
  html body header nav.glass-nav ul#menuList.menu,
  html nav#forumMenu.forum-menu,
  html nav#forumMenu.forum-menu.show,
  html body.menu-open nav#forumMenu.forum-menu {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(44px,auto)!important;
    align-content:center!important;
    gap:7px 8px!important;
    padding-top:max(86px,calc(env(safe-area-inset-top) + 70px))!important;
    padding-bottom:max(70px,calc(env(safe-area-inset-bottom) + 48px))!important;
    padding-left:max(9px,env(safe-area-inset-left))!important;
    padding-right:max(9px,env(safe-area-inset-right))!important;
  }
  html body #main-header nav.glass-nav ul#menuList.menu > li > a,
  html body header nav.glass-nav ul#menuList.menu > li > a,
  html nav#forumMenu.forum-menu > a {
    min-height:48px!important;
    padding:8px 7px!important;
    border-radius:10px!important;
    font-size:clamp(12px,4.25vw,17px)!important;
    line-height:1.08!important;
  }
  html body #main-header #menuToggle,
  html body header #menuToggle,
  html body .forum-header .forum-menu-btn,
  html body.menu-open .forum-header .forum-menu-btn {
    top:max(10px,env(safe-area-inset-top))!important;
    width:52px!important;
    height:52px!important;
  }
}


/* ============================================================
   ORYN GLOBAL MENU V6.0 — UNIFORM DARK HOVER FINAL OVERRIDE
   Every global-menu item, including Oryn Business, uses exactly
   the same subtle dark hover/focus appearance. No cream/gold hover anywhere.
   ============================================================ */
:root{
  --oryn-menu-v60-rest-bg:linear-gradient(180deg,rgba(255,255,255,.070),rgba(255,255,255,.030));
  --oryn-menu-v60-rest-border:rgba(255,255,255,.18);
  --oryn-menu-v60-hover-bg:linear-gradient(180deg,rgba(255,255,255,.115),rgba(255,255,255,.065));
  --oryn-menu-v60-hover-border:rgba(255,255,255,.34);
  --oryn-menu-v60-text:#fff;
}

html body #main-header nav.glass-nav ul#menuList.menu > li > a,
html body #main-header nav.glass-nav ul#menuList.menu > li > a:link,
html body #main-header nav.glass-nav ul#menuList.menu > li > a:visited,
html body header nav.glass-nav ul#menuList.menu > li > a,
html body header nav.glass-nav ul#menuList.menu > li > a:link,
html body header nav.glass-nav ul#menuList.menu > li > a:visited,
html body nav#forumMenu.forum-menu > a,
html body nav#forumMenu.forum-menu > a:link,
html body nav#forumMenu.forum-menu > a:visited,
html body nav#forumMenu.forum-menu > a.active,
html body nav#forumMenu.forum-menu > a.current,
html body nav#forumMenu.forum-menu > a[aria-current],
html body nav#forumMenu.forum-menu > a.menu-danger {
  color:var(--oryn-menu-v60-text)!important;
  background:var(--oryn-menu-v60-rest-bg)!important;
  border-color:var(--oryn-menu-v60-rest-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.12)!important;
  transform:none!important;
  filter:none!important;
  outline:none!important;
}

html body #main-header nav.glass-nav ul#menuList.menu > li > a:hover,
html body #main-header nav.glass-nav ul#menuList.menu > li > a:focus-visible,
html body header nav.glass-nav ul#menuList.menu > li > a:hover,
html body header nav.glass-nav ul#menuList.menu > li > a:focus-visible,
html body nav#forumMenu.forum-menu > a:hover,
html body nav#forumMenu.forum-menu > a:focus-visible,
html body.menu-open nav#forumMenu.forum-menu > a:hover,
html body.menu-open nav#forumMenu.forum-menu > a:focus-visible {
  color:#fff!important;
  background:var(--oryn-menu-v60-hover-bg)!important;
  border-color:var(--oryn-menu-v60-hover-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 20px rgba(0,0,0,.16)!important;
  transform:none!important;
  filter:none!important;
  outline:none!important;
  text-shadow:0 2px 8px rgba(0,0,0,.60)!important;
}

html body #main-header nav.glass-nav ul#menuList.menu > li > a:active,
html body header nav.glass-nav ul#menuList.menu > li > a:active,
html body nav#forumMenu.forum-menu > a:active {
  color:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045))!important;
  border-color:rgba(255,255,255,.28)!important;
  transform:none!important;
}
/* Short School viewports: reserve a clear band under the fixed close button. */
@media (max-height:900px){
  html body.school-page #main-header nav.glass-nav ul#menuList.menu,
  html body.school-page #main-header nav.glass-nav ul#menuList.menu.show{
    align-content:start!important;
    padding-top:max(96px,calc(env(safe-area-inset-top) + 84px))!important;
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
    scroll-padding-top:96px!important;
  }
}

/* 100vw includes the vertical scrollbar in Chrome. Even the hidden fixed
   menu then widens the School page and creates a horizontal scrollbar. */
html body.school-page #main-header nav.glass-nav ul#menuList.menu,
html body.school-page #main-header nav.glass-nav ul#menuList.menu.show{
  left:0!important;
  right:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Oryn Business / POSIFLEX: the browser leaves substantially less than 768px
   for the page itself. Keep all 17 entries visible in a balanced 2 x 9 grid
   and reserve a separate, collision-free strip for the close button. */
@media (min-width:601px) and (max-height:760px){
  html body.school-page #main-header nav.glass-nav ul#menuList.menu,
  html body.school-page #main-header nav.glass-nav ul#menuList.menu.show{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(9,minmax(0,1fr))!important;
    grid-auto-rows:minmax(0,1fr)!important;
    align-content:stretch!important;
    gap:5px 12px!important;
    padding-top:max(68px,calc(env(safe-area-inset-top) + 62px))!important;
    padding-bottom:max(10px,env(safe-area-inset-bottom))!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
    overflow-y:hidden!important;
    scroll-padding-top:68px!important;
  }
  html body.school-page #main-header nav.glass-nav ul#menuList.menu > li{
    min-width:0!important;
    min-height:0!important;
  }
  html body.school-page #main-header nav.glass-nav ul#menuList.menu > li > a{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:4px 10px!important;
    border-radius:10px!important;
    font-size:clamp(13px,1.55vw,17px)!important;
    line-height:1.04!important;
  }
  html body.school-page #main-header #menuToggle{
    top:max(7px,env(safe-area-inset-top))!important;
    width:52px!important;
    height:52px!important;
  }
}

/* Tablet / POSIFLEX fit: use the real Safari viewport and divide the
   available height between nine rows. This keeps every possible menu item
   visible without scrolling, in portrait and landscape tablet layouts. */
@media (min-width:600px) and (max-width:1366px) and (max-height:900px){
  html body #main-header nav.glass-nav ul#menuList.menu,
  html body #main-header nav.glass-nav ul#menuList.menu.show,
  html body header nav.glass-nav ul#menuList.menu,
  html body header nav.glass-nav ul#menuList.menu.show,
  html nav#forumMenu.forum-menu,
  html nav#forumMenu.forum-menu.show,
  html body.menu-open nav#forumMenu.forum-menu{
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(9,minmax(0,1fr))!important;
    grid-auto-rows:minmax(0,1fr)!important;
    align-content:stretch!important;
    gap:5px 10px!important;
    padding-top:max(66px,calc(env(safe-area-inset-top) + 60px))!important;
    padding-bottom:max(9px,env(safe-area-inset-bottom))!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
    overflow-y:hidden!important;
  }
  html body #menuList > li,
  html body nav#forumMenu.forum-menu > a{
    min-width:0!important;
    min-height:0!important;
  }
  html body #main-header nav.glass-nav ul#menuList.menu > li > a,
  html body header nav.glass-nav ul#menuList.menu > li > a,
  html body nav#forumMenu.forum-menu > a{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:3px 9px!important;
    border-radius:9px!important;
    font-size:clamp(12px,1.7vw,16px)!important;
    line-height:1.04!important;
  }
  html body #main-header #menuToggle,
  html body header #menuToggle,
  html body .forum-header .forum-menu-btn{
    top:max(7px,env(safe-area-inset-top))!important;
    width:50px!important;
    height:50px!important;
  }
}

/* The page-level scroll helper has no purpose while the full-screen menu is open. */
html body.menu-open #scrollTopBtn,
html body.menu-open .scroll-top-btn,
html body.menu-open .school-scroll-button{
  display:none!important;
}

/* ============================================================
   ORYN GLOBAL MENU V6.1 — COMPACT / CENTERED TABLET MENU
   2026-09-21
   Tablets keep the same two-column layout, but the button grid is
   intentionally smaller and centered instead of stretching edge-to-edge.
   Phone and desktop layouts remain unchanged.
   ============================================================ */
@media (min-width:601px) and (max-width:1366px) and (max-height:1000px){
  html body #main-header nav.glass-nav ul#menuList.menu,
  html body #main-header nav.glass-nav ul#menuList.menu.show,
  html body header nav.glass-nav ul#menuList.menu,
  html body header nav.glass-nav ul#menuList.menu.show,
  html nav#forumMenu.forum-menu,
  html nav#forumMenu.forum-menu.show,
  html body.menu-open nav#forumMenu.forum-menu{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(9,44px)!important;
    grid-auto-rows:44px!important;
    align-content:center!important;
    justify-content:center!important;
    gap:6px 10px!important;
    padding-top:max(76px,calc(env(safe-area-inset-top) + 68px))!important;
    padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))!important;
    padding-left:max(20px,calc((100vw - 760px)/2))!important;
    padding-right:max(20px,calc((100vw - 760px)/2))!important;
    overflow-y:auto!important;
  }

  html body #main-header nav.glass-nav ul#menuList.menu > li,
  html body header nav.glass-nav ul#menuList.menu > li{
    min-width:0!important;
    min-height:0!important;
    height:44px!important;
  }

  html body #main-header nav.glass-nav ul#menuList.menu > li > a,
  html body header nav.glass-nav ul#menuList.menu > li > a,
  html body nav#forumMenu.forum-menu > a{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    padding:5px 10px!important;
    border-radius:9px!important;
    font-size:clamp(13px,1.6vw,16px)!important;
    line-height:1.05!important;
  }
}

/* ============================================================
   ORYN GLOBAL MENU V6.2 — SCHOOL TABLET = PUBLIC TABLET
   2026-09-21
   On Oryn Business tablets, use exactly the same compact centered grid
   proportions as the public homepage. Also make the active X perfectly
   clean: only two centered strokes, never a residual middle dot.
   ============================================================ */
@media (min-width:601px) and (max-width:1366px) and (max-height:1000px){
  html body.school-page #main-header nav.glass-nav ul#menuList.menu,
  html body.school-page #main-header nav.glass-nav ul#menuList.menu.show{
    width:auto!important;
    left:0!important;
    right:0!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(9,44px)!important;
    grid-auto-rows:44px!important;
    align-content:center!important;
    justify-content:center!important;
    align-items:stretch!important;
    gap:6px 10px!important;
    padding-top:max(76px,calc(env(safe-area-inset-top) + 68px))!important;
    padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))!important;
    padding-left:max(20px,calc((100vw - 760px)/2))!important;
    padding-right:max(20px,calc((100vw - 760px)/2))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scroll-padding-top:76px!important;
  }

  html body.school-page #main-header nav.glass-nav ul#menuList.menu > li{
    min-width:0!important;
    min-height:0!important;
    height:44px!important;
  }

  html body.school-page #main-header nav.glass-nav ul#menuList.menu > li > a{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    padding:5px 10px!important;
    border-radius:9px!important;
    font-size:clamp(13px,1.6vw,16px)!important;
    line-height:1.05!important;
  }

  /* Same tablet button geometry as the public page. */
  html body.school-page #main-header #menuToggle{
    top:max(7px,env(safe-area-inset-top))!important;
    left:50%!important;
    right:auto!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    padding:0!important;
    transform:translateX(-50%)!important;
    gap:7px!important;
    border-radius:999px!important;
  }

  html body.school-page #main-header #menuToggle:hover,
  html body.school-page #main-header #menuToggle:focus-visible,
  html body.school-page #main-header #menuToggle.active{
    transform:translateX(-50%)!important;
  }

  /* Clean X: remove the middle hamburger stroke completely instead of only
     fading it, then center the two remaining strokes on the same point. */
  html body.school-page #main-header #menuToggle.active span{
    position:absolute!important;
    top:50%!important;
    left:50%!important;
    width:25px!important;
    height:3px!important;
    margin:0!important;
    opacity:1!important;
    transform-origin:center!important;
  }
  html body.school-page #main-header #menuToggle.active span:nth-child(1){
    transform:translate(-50%,-50%) rotate(45deg)!important;
  }
  html body.school-page #main-header #menuToggle.active span:nth-child(2){
    display:none!important;
    width:0!important;
    height:0!important;
    opacity:0!important;
  }
  html body.school-page #main-header #menuToggle.active span:nth-child(3){
    transform:translate(-50%,-50%) rotate(-45deg)!important;
  }
}

/* ============================================================
   ORYN PACKAGE 11G — PUBLIC MAIN HEADER FINAL POLISH
   Applies only to the public Oryn homepage / Hírek / news pages.
   Shop / POD / Giveaway are intentionally untouched.
   ============================================================ */

:root{
  --oryn-public-header-h:72px;
  --oryn-public-side-pad:14px;
  --oryn-public-logo-box:42px;
  --oryn-public-logo-img:27px;
  --oryn-public-menu-box:44px;
}

/* Stable three-column header: logo | hamburger | right controls. */
html body #main-header,
html body header#main-header,
html body #main-header.hide,
html body header#main-header.hide{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:var(--oryn-public-header-h)!important;
  min-height:var(--oryn-public-header-h)!important;
  padding:0 var(--oryn-public-side-pad)!important;
  overflow:visible!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Logo: small, balanced, fully inside the header. */
html body #main-header #logoLink{
  position:static!important;
  grid-column:1!important;
  justify-self:start!important;
  align-self:center!important;
  width:var(--oryn-public-logo-box)!important;
  height:var(--oryn-public-logo-box)!important;
  min-width:var(--oryn-public-logo-box)!important;
  min-height:var(--oryn-public-logo-box)!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#FFEFD5!important;
  border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.26)!important;
}

html body #main-header #logoLink:hover,
html body #main-header #logoLink:active{
  transform:none!important;
}

html body #main-header #logoLink .logo-white{
  display:none!important;
}

html body #main-header #logoLink .logo-black{
  display:block!important;
  position:static!important;
  inset:auto!important;
  width:var(--oryn-public-logo-img)!important;
  height:var(--oryn-public-logo-img)!important;
  max-width:var(--oryn-public-logo-img)!important;
  max-height:var(--oryn-public-logo-img)!important;
  margin:0!important;
  transform:none!important;
  object-fit:contain!important;
}

/* Centre nav holder. */
html body #main-header nav.glass-nav{
  position:static!important;
  grid-column:2!important;
  justify-self:center!important;
  align-self:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
  z-index:2147483500!important;
}

/* Hamburger circle NEVER rotates/moves.
   Only its three inner bars animate into the X. */
html body #main-header #menuToggle,
html body header#main-header #menuToggle,
html body #main-header #menuToggle:hover,
html body #main-header #menuToggle:focus-visible,
html body #main-header #menuToggle:active,
html body #main-header #menuToggle.active,
html body.menu-open #main-header #menuToggle{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  grid-column:auto!important;
  width:var(--oryn-public-menu-box)!important;
  height:var(--oryn-public-menu-box)!important;
  min-width:var(--oryn-public-menu-box)!important;
  min-height:var(--oryn-public-menu-box)!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  transform:none!important;
  rotate:0deg!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.38)!important;
  background:#FFEFD5!important;
  box-shadow:
    0 7px 20px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.52)!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
  z-index:2147483646!important;
  overflow:hidden!important;
}

html body #main-header #menuToggle span{
  position:static!important;
  display:block!important;
  width:20px!important;
  height:2px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#15120f!important;
  opacity:1!important;
  transform:none!important;
  transform-origin:50% 50%!important;
  transition:transform .18s ease,opacity .12s ease!important;
}

/* Open state: ONLY the bars rotate. */
html body #main-header #menuToggle.active span{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:20px!important;
  height:2px!important;
  margin:0!important;
}

html body #main-header #menuToggle.active span:nth-child(1){
  transform:translate(-50%,-50%) rotate(45deg)!important;
}

html body #main-header #menuToggle.active span:nth-child(2){
  opacity:0!important;
  transform:translate(-50%,-50%) scaleX(0)!important;
}

html body #main-header #menuToggle.active span:nth-child(3){
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}

/* Fullscreen menu stays below the X button. */
html body #main-header nav.glass-nav ul#menuList.menu,
html body #main-header nav.glass-nav ul#menuList.menu.show{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  z-index:2147483000!important;
}

/* Right pill: smaller weather + smaller language/social controls. */
html body #main-header .social-icons-menu{
  position:static!important;
  grid-column:3!important;
  justify-self:end!important;
  align-self:center!important;
  width:auto!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:3px 6px 3px 4px!important;
  gap:5px!important;
  transform:none!important;
  border-radius:999px!important;
  background:rgba(255,239,213,.98)!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:
    0 6px 18px rgba(0,0,0,.23),
    inset 0 1px 0 rgba(255,255,255,.42)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  box-sizing:border-box!important;
}

/* Weather becomes compact, but remains easy to read/click. */
html body #main-header .weather-widget{
  min-width:58px!important;
  width:auto!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 8px!important;
  gap:5px!important;
  border-radius:999px!important;
  box-sizing:border-box!important;
  transform:none!important;
}

html body #main-header .weather-widget:hover{
  transform:none!important;
}

html body #main-header .weather-widget-icon{
  font-size:14px!important;
}

html body #main-header .weather-widget-temp{
  font-size:12.5px!important;
  font-weight:800!important;
}

/* Language control smaller too. */
html body #main-header .lang-toggle{
  height:30px!important;
  min-height:30px!important;
  padding:0 7px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#17130f!important;
  font-size:13px!important;
  line-height:30px!important;
  font-weight:800!important;
  transform:none!important;
  box-shadow:none!important;
}

html body #main-header .lang-toggle:hover,
html body #main-header .lang-toggle:active{
  transform:none!important;
  background:rgba(0,0,0,.05)!important;
}

/* Instagram icon smaller and vertically aligned. */
html body #main-header .social-icons-menu .icon-link{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  margin:0 2px!important;
  transform:none!important;
}

html body #main-header .social-icons-menu .icon-link:hover{
  transform:none!important;
}

html body #main-header .social-icons-menu .icon{
  width:20px!important;
  height:20px!important;
}

/* Tablet */
@media(max-width:900px){
  :root{
    --oryn-public-header-h:68px;
    --oryn-public-side-pad:10px;
    --oryn-public-logo-box:40px;
    --oryn-public-logo-img:25px;
    --oryn-public-menu-box:42px;
  }

  html body #main-header .social-icons-menu{
    height:36px!important;
    min-height:36px!important;
  }

  html body #main-header .weather-widget{
    min-width:54px!important;
    height:28px!important;
    min-height:28px!important;
    padding:0 7px!important;
  }

  html body #main-header .lang-toggle{
    height:28px!important;
    min-height:28px!important;
    line-height:28px!important;
    padding:0 6px!important;
    font-size:12.5px!important;
  }
}

/* Phone */
@media(max-width:600px){
  :root{
    --oryn-public-header-h:64px;
    --oryn-public-side-pad:7px;
    --oryn-public-logo-box:38px;
    --oryn-public-logo-img:24px;
    --oryn-public-menu-box:40px;
  }

  html body #main-header #menuToggle span,
  html body #main-header #menuToggle.active span{
    width:18px!important;
  }

  html body #main-header .social-icons-menu{
    height:34px!important;
    min-height:34px!important;
    padding:2px 5px 2px 3px!important;
    gap:3px!important;
  }

  html body #main-header .weather-widget{
    min-width:49px!important;
    height:27px!important;
    min-height:27px!important;
    padding:0 6px!important;
    gap:3px!important;
  }

  html body #main-header .weather-widget-icon{
    font-size:12.5px!important;
  }

  html body #main-header .weather-widget-temp{
    font-size:11.5px!important;
  }

  html body #main-header .lang-toggle{
    height:27px!important;
    min-height:27px!important;
    line-height:27px!important;
    padding:0 5px!important;
    font-size:12px!important;
  }

  html body #main-header .social-icons-menu .icon-link,
  html body #main-header .social-icons-menu .icon{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
  }
}

/* ============================================================
   ORYN PACKAGE 11H — PUBLIC HEADER MATCHES SHOP HEADER
   Főoldal / Hírek / cikkek vizuálisan ugyanazt a header-méretezést
   kapják, mint a Shop / POD admin.
   ============================================================ */

:root{
  --oryn-public-header-h:82px;
  --oryn-public-side-pad:16px;
  --oryn-public-logo-box:50px;
  --oryn-public-logo-img:34px;
  --oryn-public-menu-box:50px;
}

/* A header magassága és háttere egyezzen a Shop headerrel. */
html body #main-header,
html body header#main-header,
html body #main-header.hide,
html body header#main-header.hide{
  height:var(--oryn-public-header-h)!important;
  min-height:var(--oryn-public-header-h)!important;
  padding:0 var(--oryn-public-side-pad)!important;
  background:
    linear-gradient(
      180deg,
      rgba(8,8,9,.965) 0%,
      rgba(12,12,13,.93) 64%,
      rgba(15,15,16,.89) 100%
    )!important;
  border-bottom:1px solid rgba(243,238,225,.12)!important;
  box-shadow:
    0 10px 30px rgba(0,0,0,.30),
    inset 0 -1px 0 rgba(255,255,255,.025)!important;
}

/* SHOP-MATCH LOGÓ:
   sötét glass kör + fehér Oryn logó. */
html body #main-header #logoLink{
  width:var(--oryn-public-logo-box)!important;
  height:var(--oryn-public-logo-box)!important;
  min-width:var(--oryn-public-logo-box)!important;
  min-height:var(--oryn-public-logo-box)!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(243,238,225,.18)!important;
  box-shadow:
    0 7px 22px rgba(0,0,0,.30),
    inset 0 0 0 1px rgba(255,255,255,.025)!important;
  backdrop-filter:blur(16px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(125%)!important;
  transform:none!important;
}

html body #main-header #logoLink:hover,
html body #main-header #logoLink:active{
  transform:none!important;
  background:rgba(255,255,255,.105)!important;
}

/* A Shophoz hasonlóan a fehér logó látszik. */
html body #main-header #logoLink .logo-white{
  display:block!important;
  position:static!important;
  width:var(--oryn-public-logo-img)!important;
  height:var(--oryn-public-logo-img)!important;
  max-width:var(--oryn-public-logo-img)!important;
  max-height:var(--oryn-public-logo-img)!important;
  margin:0!important;
  transform:none!important;
  object-fit:contain!important;
}

html body #main-header #logoLink .logo-black{
  display:none!important;
}

/* Hamburger mérete egyezzen a Shoppal. A kör nem forog. */
html body #main-header #menuToggle,
html body header#main-header #menuToggle,
html body #main-header #menuToggle:hover,
html body #main-header #menuToggle:focus-visible,
html body #main-header #menuToggle:active,
html body #main-header #menuToggle.active,
html body.menu-open #main-header #menuToggle{
  width:var(--oryn-public-menu-box)!important;
  height:var(--oryn-public-menu-box)!important;
  min-width:var(--oryn-public-menu-box)!important;
  min-height:var(--oryn-public-menu-box)!important;
  transform:none!important;
  rotate:0deg!important;
  border:1px solid rgba(17,17,15,.08)!important;
  background:#FFEFD5!important;
  box-shadow:
    0 8px 24px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.38)!important;
}

html body #main-header #menuToggle span{
  width:22px!important;
  height:2.25px!important;
}

/* Nyitáskor továbbra is csak a belső vonalak fordulnak X-szé. */
html body #main-header #menuToggle.active span{
  width:22px!important;
  height:2.25px!important;
}

/* Jobb oldali pill ugyanakkora legyen, mint a Shopban. */
html body #main-header .social-icons-menu{
  height:46px!important;
  min-height:46px!important;
  padding:5px 9px 5px 6px!important;
  gap:8px!important;
  border-radius:999px!important;
  background:rgba(255,239,213,.98)!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:
    0 8px 24px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.36)!important;
}

/* Időjárás méret Shop-szinten. */
html body #main-header .weather-widget{
  min-width:auto!important;
  width:auto!important;
  min-height:40px!important;
  height:40px!important;
  padding:0 11px!important;
  gap:6px!important;
}

html body #main-header .weather-widget-icon{
  font-size:1.12rem!important;
}

html body #main-header .weather-widget-temp{
  font-size:.92rem!important;
  font-weight:900!important;
}

/* HU + Instagram is Shop arány. */
html body #main-header .lang-toggle{
  height:36px!important;
  min-height:36px!important;
  line-height:36px!important;
  padding:0 8px!important;
  font-size:14px!important;
}

html body #main-header .social-icons-menu .icon-link,
html body #main-header .social-icons-menu .icon{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
}

/* TABLET = Shop 11D méretek. */
@media(max-width:1024px){
  :root{
    --oryn-public-header-h:74px;
    --oryn-public-side-pad:12px;
    --oryn-public-logo-box:46px;
    --oryn-public-logo-img:31px;
    --oryn-public-menu-box:46px;
  }

  html body #main-header .social-icons-menu{
    height:42px!important;
    min-height:42px!important;
    padding:4px 7px 4px 5px!important;
    gap:5px!important;
  }

  html body #main-header .weather-widget{
    min-height:36px!important;
    height:36px!important;
    padding:0 9px!important;
  }

  html body #main-header .lang-toggle{
    height:32px!important;
    min-height:32px!important;
    line-height:32px!important;
    font-size:13px!important;
  }

  html body #main-header .social-icons-menu .icon-link,
  html body #main-header .social-icons-menu .icon{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
  }
}

/* MOBIL = Shop 11D méretek. */
@media(max-width:620px){
  :root{
    --oryn-public-header-h:68px;
    --oryn-public-side-pad:8px;
    --oryn-public-logo-box:42px;
    --oryn-public-logo-img:28px;
    --oryn-public-menu-box:42px;
  }

  html body #main-header #menuToggle span,
  html body #main-header #menuToggle.active span{
    width:19px!important;
    height:2px!important;
  }

  html body #main-header .social-icons-menu{
    height:38px!important;
    min-height:38px!important;
    padding:3px 6px 3px 4px!important;
    gap:4px!important;
  }

  html body #main-header .weather-widget{
    min-height:32px!important;
    height:32px!important;
    min-width:52px!important;
    padding:0 7px!important;
    gap:4px!important;
  }

  html body #main-header .weather-widget-icon{
    font-size:1rem!important;
  }

  html body #main-header .weather-widget-temp{
    font-size:.76rem!important;
  }

  html body #main-header .lang-toggle{
    height:30px!important;
    min-height:30px!important;
    line-height:30px!important;
    padding:0 6px!important;
    font-size:12.5px!important;
  }

  html body #main-header .social-icons-menu .icon-link,
  html body #main-header .social-icons-menu .icon{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
  }
}


/* ============================================================
   ORYN GLOBAL MENU V6.3 — VIEWPORT-HEIGHT RESPONSIVE HARDENING
   2026-10-02
   Final shared public + forum fullscreen-menu fit rules.
   Large desktop keeps the existing visual proportions. Shorter
   viewports compact progressively; very short screens scroll only
   inside the menu while the page behind remains locked.
   ============================================================ */

html body.menu-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

html body #main-header nav.glass-nav ul#menuList.menu,
html body header nav.glass-nav ul#menuList.menu,
html body nav#forumMenu.forum-menu{
  box-sizing:border-box!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
}

/* Low-height laptop / tablet / landscape: compact by VIEWPORT HEIGHT,
   independent of screen width, while preserving the two-column layout. */
@media (min-width:621px) and (max-height:840px){
  html body #main-header nav.glass-nav ul#menuList.menu,
  html body #main-header nav.glass-nav ul#menuList.menu.show,
  html body header nav.glass-nav ul#menuList.menu,
  html body header nav.glass-nav ul#menuList.menu.show,
  html body nav#forumMenu.forum-menu,
  html body nav#forumMenu.forum-menu.show,
  html body.menu-open nav#forumMenu.forum-menu{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:clamp(36px,5.8dvh,44px)!important;
    grid-auto-flow:row!important;
    align-content:center!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:clamp(4px,.7dvh,6px) 10px!important;
    padding-top:max(66px,calc(env(safe-area-inset-top) + 58px))!important;
    padding-bottom:max(10px,calc(env(safe-area-inset-bottom) + 8px))!important;
    padding-left:max(14px,calc((100vw - 760px)/2),env(safe-area-inset-left))!important;
    padding-right:max(14px,calc((100vw - 760px)/2),env(safe-area-inset-right))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scroll-padding-top:66px!important;
  }

  html body #main-header nav.glass-nav ul#menuList.menu > li,
  html body header nav.glass-nav ul#menuList.menu > li{
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
  }

  html body #main-header nav.glass-nav ul#menuList.menu > li > a,
  html body header nav.glass-nav ul#menuList.menu > li > a,
  html body nav#forumMenu.forum-menu > a{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:4px 9px!important;
    border-radius:9px!important;
    font-size:clamp(12.5px,2.15dvh,16px)!important;
    line-height:1.04!important;
  }

  html body #main-header #menuToggle,
  html body header #menuToggle,
  html body .forum-header .forum-menu-btn{
    top:max(7px,env(safe-area-inset-top))!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }
}

/* Very short landscape/window: reserve the X strip and let ONLY the menu
   content scroll if every row cannot physically fit. */
@media (min-width:621px) and (max-height:560px){
  html body #main-header nav.glass-nav ul#menuList.menu,
  html body #main-header nav.glass-nav ul#menuList.menu.show,
  html body header nav.glass-nav ul#menuList.menu,
  html body header nav.glass-nav ul#menuList.menu.show,
  html body nav#forumMenu.forum-menu,
  html body nav#forumMenu.forum-menu.show,
  html body.menu-open nav#forumMenu.forum-menu{
    grid-auto-rows:clamp(32px,6.1dvh,36px)!important;
    align-content:start!important;
    gap:4px 8px!important;
    padding-top:max(61px,calc(env(safe-area-inset-top) + 55px))!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    scroll-padding-top:61px!important;
  }

  html body #main-header nav.glass-nav ul#menuList.menu > li > a,
  html body header nav.glass-nav ul#menuList.menu > li > a,
  html body nav#forumMenu.forum-menu > a{
    padding:3px 8px!important;
    border-radius:8px!important;
    font-size:clamp(11.5px,2.7dvh,14px)!important;
    line-height:1.02!important;
  }

  html body #main-header #menuToggle,
  html body header #menuToggle,
  html body .forum-header .forum-menu-btn{
    top:max(5px,env(safe-area-inset-top))!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
}

/* Short phones: still two columns, but compact enough that scrolling is
   fallback rather than the default. Normal 390x844-class phones are left
   on the regular mobile design because this rule only starts below 700px. */
@media (max-width:620px) and (max-height:700px){
  html body #main-header nav.glass-nav ul#menuList.menu,
  html body #main-header nav.glass-nav ul#menuList.menu.show,
  html body header nav.glass-nav ul#menuList.menu,
  html body header nav.glass-nav ul#menuList.menu.show,
  html body nav#forumMenu.forum-menu,
  html body nav#forumMenu.forum-menu.show,
  html body.menu-open nav#forumMenu.forum-menu{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:clamp(36px,6.4dvh,40px)!important;
    align-content:center!important;
    gap:5px 7px!important;
    padding-top:max(64px,calc(env(safe-area-inset-top) + 57px))!important;
    padding-bottom:max(10px,calc(env(safe-area-inset-bottom) + 7px))!important;
    padding-left:max(9px,env(safe-area-inset-left))!important;
    padding-right:max(9px,env(safe-area-inset-right))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scroll-padding-top:64px!important;
  }

  html body #main-header nav.glass-nav ul#menuList.menu > li,
  html body header nav.glass-nav ul#menuList.menu > li{
    min-height:0!important;
    height:auto!important;
  }

  html body #main-header nav.glass-nav ul#menuList.menu > li > a,
  html body header nav.glass-nav ul#menuList.menu > li > a,
  html body nav#forumMenu.forum-menu > a{
    height:100%!important;
    min-height:0!important;
    padding:3px 6px!important;
    border-radius:8px!important;
    font-size:clamp(11px,3.55vw,14px)!important;
    line-height:1.03!important;
  }

  html body #main-header #menuToggle,
  html body header #menuToggle,
  html body .forum-header .forum-menu-btn{
    top:max(6px,env(safe-area-inset-top))!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
}

@media (max-width:620px) and (max-height:480px){
  html body #main-header nav.glass-nav ul#menuList.menu,
  html body #main-header nav.glass-nav ul#menuList.menu.show,
  html body header nav.glass-nav ul#menuList.menu,
  html body header nav.glass-nav ul#menuList.menu.show,
  html body nav#forumMenu.forum-menu,
  html body nav#forumMenu.forum-menu.show,
  html body.menu-open nav#forumMenu.forum-menu{
    grid-auto-rows:34px!important;
    align-content:start!important;
    gap:4px 6px!important;
    padding-top:max(59px,calc(env(safe-area-inset-top) + 53px))!important;
    padding-bottom:max(7px,env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
  }
}
