/* FIX PUBLIC NAVBAR PROFESSIONAL - 2026-07-06
   Tujuan: navbar publik tidak terpotong, rapi di desktop/tablet/HP, dan menu panjang tidak memaksa header pecah berantakan. */
html body.public-body{
  overflow-x:hidden!important;
}
html body.public-body .app-shell.public-shell{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
}
html body.public-body .main.public-main,
html body.public-body .main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
html body.public-body .public-topbar{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:99999!important;
  width:100%!important;
  height:auto!important;
  min-height:86px!important;
  overflow:visible!important;
  background:rgba(255,255,255,.985)!important;
  border-bottom:1px solid rgba(193,216,242,.92)!important;
  box-shadow:0 12px 34px rgba(8,33,63,.08)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
html body.public-body .public-topbar-inner{
  width:min(1440px,calc(100% - 44px))!important;
  max-width:1440px!important;
  min-height:86px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:12px 0!important;
  display:grid!important;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr)!important;
  align-items:center!important;
  gap:18px!important;
  overflow:visible!important;
}
html body.public-body .public-brand{
  min-width:0!important;
  width:auto!important;
  max-width:360px!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
}
html body.public-body .public-brand img{
  flex:0 0 50px!important;
  width:50px!important;
  height:50px!important;
  object-fit:cover!important;
}
html body.public-body .public-brand span{
  display:block!important;
  min-width:0!important;
}
html body.public-body .public-brand b{
  display:block!important;
  max-width:290px!important;
  font-size:20px!important;
  line-height:1.05!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  letter-spacing:-.03em!important;
}
html body.public-body .public-brand small{
  display:block!important;
  margin-top:4px!important;
  font-size:11.5px!important;
  line-height:1.22!important;
  white-space:normal!important;
  overflow:visible!important;
}
html body.public-body .public-nav-links{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  max-height:none!important;
  overflow:visible!important;
  line-height:1.2!important;
}
html body.public-body .public-nav-links a{
  flex:0 0 auto!important;
  min-height:36px!important;
  height:auto!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  font-size:12.5px!important;
  line-height:1.1!important;
  font-weight:950!important;
  color:#102b4f!important;
  background:transparent!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid transparent!important;
}
html body.public-body .public-nav-links a:hover,
html body.public-body .public-nav-links a.active{
  background:#eef7ff!important;
  color:#0b63ce!important;
  border-color:#cfe7ff!important;
}
html body.public-body .public-nav-links a[href*="subscribe_school"]{
  background:linear-gradient(135deg,#0f7cff,#04a9df)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 24px rgba(15,124,255,.24)!important;
}
html body.public-body .public-menu-toggle{
  display:none!important;
}
@media(max-width:1280px){
  html body.public-body .public-topbar-inner{
    grid-template-columns:minmax(230px,320px) minmax(0,1fr)!important;
    width:min(1180px,calc(100% - 30px))!important;
    gap:12px!important;
  }
  html body.public-body .public-brand b{font-size:18px!important;max-width:250px!important}
  html body.public-body .public-brand small{font-size:10.5px!important}
  html body.public-body .public-nav-links a{font-size:11.8px!important;padding:7px 8px!important;min-height:33px!important}
}
@media(max-width:1040px){
  html body.public-body .public-topbar{min-height:78px!important}
  html body.public-body .public-topbar-inner{
    display:flex!important;
    min-height:78px!important;
    height:auto!important;
    padding:10px 0!important;
    justify-content:space-between!important;
  }
  html body.public-body .public-nav-links{display:none!important}
  html body.public-body .public-menu-toggle{display:grid!important;place-items:center!important;flex:0 0 46px!important}
  html body.public-body .public-brand{max-width:calc(100% - 64px)!important}
}
@media(max-width:760px){
  html body.public-body .public-topbar{min-height:72px!important}
  html body.public-body .public-topbar-inner{
    width:calc(100% - 22px)!important;
    min-height:72px!important;
    padding:9px 0!important;
  }
  html body.public-body .public-brand img{width:44px!important;height:44px!important;flex-basis:44px!important;border-radius:14px!important}
  html body.public-body .public-brand b{font-size:16px!important;max-width:230px!important}
  html body.public-body .public-brand small{font-size:10px!important;line-height:1.18!important}
  html body.public-body .public-menu-toggle{width:44px!important;height:44px!important;flex-basis:44px!important;border-radius:15px!important}
  html body.public-body .public-drawer{z-index:100001!important}
  html body.public-body .public-drawer-backdrop{z-index:100000!important}
}
@media(max-width:420px){
  html body.public-body .public-brand b{font-size:14.5px!important;max-width:190px!important}
  html body.public-body .public-brand small{display:none!important}
}
