/* Header / menu size controls - loaded after theme CSS so panel values win. */
:root{
  --header-menu-padding-x:16px;
  --header-menu-padding-y:12px;
  --header-menu-font-size:12px;
  --header-menu-height:52px;
  --header-menu-gap:16px;
  --header-mobile-menu-padding-x:18px;
  --header-mobile-menu-padding-y:13px;
  --header-mobile-menu-font-size:13px;
}
body .modern-header-nav,
body .public-page-menu-header{
  min-height:var(--header-menu-height)!important;
  gap:var(--header-menu-gap)!important;
  align-items:center!important;
}
body .modern-header-nav>a,
body .public-page-menu-header>a{
  padding:var(--header-menu-padding-y) var(--header-menu-padding-x)!important;
  font-size:var(--header-menu-font-size)!important;
  line-height:1.2!important;
}
body :is(.limra-category-nav,.veloura-category-nav) > :is(.limra-shell,.veloura-shell){
  min-height:var(--header-menu-height)!important;
  gap:var(--header-menu-gap)!important;
  align-items:center!important;
}
body :is(.limra-category-nav,.veloura-category-nav) a{
  padding:var(--header-menu-padding-y) var(--header-menu-padding-x)!important;
  font-size:var(--header-menu-font-size)!important;
  line-height:1.2!important;
}
body .vortex-category-nav :is(.vortex-shell,.vortex-nav-inner){
  min-height:var(--header-menu-height)!important;
  gap:var(--header-menu-gap)!important;
  align-items:center!important;
}
body .vortex-category-nav :is(a,button),
body .vortex-nav-links a{
  padding:var(--header-menu-padding-y) var(--header-menu-padding-x)!important;
  font-size:var(--header-menu-font-size)!important;
  line-height:1.2!important;
}
body .vortex-nav-links{gap:var(--header-menu-gap)!important;}
body .roadforge-category-nav .roadforge-nav-inner{
  min-height:var(--header-menu-height)!important;
  gap:var(--header-menu-gap)!important;
  align-items:center!important;
}
body .roadforge-nav-links{gap:var(--header-menu-gap)!important;}
body .roadforge-category-nav :is(.roadforge-nav-links a,.roadforge-garage-button){
  padding:var(--header-menu-padding-y) var(--header-menu-padding-x)!important;
  font-size:var(--header-menu-font-size)!important;
  line-height:1.2!important;
}
body .roadforge-nav-support{font-size:var(--header-menu-font-size)!important;}
body .code-theme-desktop-menu{
  min-height:var(--header-menu-height)!important;
  gap:var(--header-menu-gap)!important;
  align-items:center!important;
}
body .code-theme-desktop-menu :is(a,button){
  padding:var(--header-menu-padding-y) var(--header-menu-padding-x)!important;
  font-size:var(--header-menu-font-size)!important;
  line-height:1.2!important;
}
body :is(.mobile-header-links,.limra-mobile-menu nav,.veloura-mobile-menu nav,.vortex-mobile-menu nav,.roadforge-mobile-menu nav,.code-theme-mobile-menu nav) > :is(a,button){
  padding:var(--header-mobile-menu-padding-y) var(--header-mobile-menu-padding-x)!important;
  font-size:var(--header-mobile-menu-font-size)!important;
  line-height:1.25!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  body :is(.limra-category-nav,.veloura-category-nav,.vortex-category-nav,.roadforge-category-nav) a{
    font-size:var(--header-menu-font-size)!important;
  }
}

/* V1.1.0 - Menu background/surface follows the configured menu size. */
:root{
  --header-menu-surface-min-height:max(
    var(--header-menu-height),
    calc(var(--header-menu-font-size) + var(--header-menu-padding-y) + var(--header-menu-padding-y) + 8px)
  );
}

/* Built-in header: grow the white header shell together with the menu. */
body .modern-site-header,
body .topbar{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
body .modern-site-header .topbar-inner{
  height:auto!important;
  min-height:calc(var(--header-menu-surface-min-height) + 20px)!important;
  box-sizing:border-box!important;
}
body .modern-header-nav,
body .public-page-menu-header{
  height:auto!important;
  min-height:var(--header-menu-surface-min-height)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

/* Theme category/menu bars had fixed heights (32/48px). Remove those fixed
   heights so their white/background strip grows with panel padding/height. */
body :is(
  .limra-category-nav,
  .veloura-category-nav,
  .vortex-category-nav,
  .roadforge-category-nav
){
  height:auto!important;
  min-height:var(--header-menu-surface-min-height)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
body :is(
  .limra-category-nav .limra-shell,
  .veloura-category-nav .veloura-shell,
  .vortex-category-nav .vortex-shell,
  .vortex-category-nav .vortex-nav-inner,
  .roadforge-category-nav .roadforge-shell,
  .roadforge-category-nav .roadforge-nav-inner
){
  height:auto!important;
  min-height:var(--header-menu-surface-min-height)!important;
  box-sizing:border-box!important;
}

/* Developer/code theme menu surface. */
body .code-theme-header-inner{
  height:auto!important;
  min-height:calc(var(--header-menu-surface-min-height) + 16px)!important;
  box-sizing:border-box!important;
}
body .code-theme-desktop-menu{
  height:auto!important;
  min-height:var(--header-menu-surface-min-height)!important;
  box-sizing:border-box!important;
}
