/* One horizontal navigation component; theme tokens may be customized per audience. */
:root {
  --sm-menu-accent: var(--tblr-primary, #206bc4);
  --sm-menu-text: var(--tblr-body-color, #182433);
  --sm-menu-surface: var(--tblr-bg-surface-secondary, #eef3f9);
  --sm-menu-border: var(--tblr-border-color, #dce1e7);
  --sm-menu-radius: .25rem;
}
:root:where([data-ui-theme="administration"]) { --sm-menu-radius: 0; }
:root:where([data-ui-theme="client"]) { --sm-menu-radius: .375rem; }
:root:where([data-ui-theme="public"]) { --sm-menu-radius: .5rem; }
:root:where([data-ui-theme="captive"]) { --sm-menu-radius: .5rem; }
.sm-horizontal-menu.sm-horizontal-menu {
  display: flex; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start;
  gap: 0 !important; width: auto; max-width: 100%; min-width: 0;
  overflow-x: auto; scrollbar-width: thin; overscroll-behavior-inline: contain;
  margin: 0 0 .75rem; padding: 0; list-style: none;
  border: 0; border-bottom: 1px solid var(--sm-menu-border); border-radius: 0;
}
.sm-horizontal-menu[hidden] { display: none; }
.sm-horizontal-menu > :is(a, button).sm-horizontal-menu-item {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: auto; max-width: none; min-height: var(--sm-menu-min-height, 36px);
  margin: 0; padding: var(--sm-menu-padding-y, .5rem) var(--sm-menu-padding-x, .875rem);
  border: 0; border-bottom: 2px solid transparent;
  border-radius: var(--sm-menu-radius) var(--sm-menu-radius) 0 0;
  background: transparent; color: var(--sm-menu-text); box-shadow: none;
  font: inherit; font-size: .8125rem; font-weight: 500; line-height: 1.4;
  text-decoration: none; white-space: nowrap; cursor: pointer;
}
.sm-horizontal-menu > .sm-horizontal-menu-item:is(:hover, [aria-selected="true"], [aria-current="page"], .is-active) {
  color: var(--sm-menu-accent); background: var(--sm-menu-surface);
  border-bottom-color: var(--sm-menu-accent); box-shadow: none;
}
.sm-horizontal-menu > .sm-horizontal-menu-item:focus-visible {
  outline: 2px solid var(--sm-menu-accent); outline-offset: -3px;
}
.sm-horizontal-menu > .sm-horizontal-menu-item:disabled { opacity: var(--sm-menu-divider-opacity, .5); cursor: default; }
.sm-horizontal-menu > span { align-self: center; padding: .5rem; white-space: nowrap; }
@media (max-width: 991.98px) {
  .sm-horizontal-menu > :is(a, button).sm-horizontal-menu-item { min-height: var(--sm-menu-mobile-min-height, 44px); }
}
/* Compact Platform menus: half the item padding, with decorative pipe dividers. */
html[data-ui-theme="administration"] .sm-horizontal-menu > :is(a, button).sm-horizontal-menu-item {
  position: relative;
  padding: var(--sm-menu-padding-y, .25rem) var(--sm-menu-padding-x, .4375rem);
  min-height: var(--sm-menu-min-height, 0px);
}
html[data-ui-theme="administration"] .sm-horizontal-menu > .sm-horizontal-menu-item + .sm-horizontal-menu-item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 1em;
  border-inline-start: var(--sm-menu-divider-width, 1px) solid var(--sm-menu-text);
  opacity: var(--sm-menu-divider-opacity, .5);
  pointer-events: none;
}
