/* Optional public navigation. All rules are scoped; no body/Admin styles. */
.cms-mobile-navigation { display: var(--cms-mobile-navigation-display, var(--cms-mobile-navigation-default-display, none)); }
@media (max-width: 860px) {
  .cms-mobile-navigation { --cms-mobile-navigation-default-display: block; }
}
  .cms-mobile-navigation-spacer {
    block-size: calc(var(--cms-mobile-navigation-height, 68px) + max(12px, env(safe-area-inset-bottom, 0px)) + 12px);
  }
  .cms-mobile-navigation-dock {
    box-sizing: border-box;
    display: flex;
    position: fixed;
    z-index: var(--cms-mobile-navigation-z-index, 30);
    inset-block-end: max(12px, env(safe-area-inset-bottom, 0px));
    left: max(12px, env(safe-area-inset-left, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    margin-inline: auto;
    inline-size: min(var(--cms-mobile-navigation-width, 500px), calc(100% - max(12px, env(safe-area-inset-left, 0px)) - max(12px, env(safe-area-inset-right, 0px))));
    block-size: var(--cms-mobile-navigation-height, 68px);
    padding: 6px;
    border: 1px solid var(--cms-mobile-navigation-border-color, var(--color-lavender, #E8E2FF));
    border-radius: var(--cms-mobile-navigation-radius, 20px);
    background: var(--cms-mobile-navigation-background, var(--color-primary, #FFFFFF));
    box-shadow: var(--cms-mobile-navigation-shadow, var(--cms-control-shadow, 0 8px 34px #0002));
    color: var(--cms-mobile-navigation-color, var(--color-dark, #1E1E24));
    font-family: var(--cms-font-family, inherit);
  }
  .cms-mobile-navigation-link {
    box-sizing: border-box;
    flex: 1 1 0;
    min-inline-size: 0;
    min-block-size: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0 2px;
    border-radius: var(--cms-mobile-navigation-item-radius, 14px);
    color: inherit;
    text-align: center;
    text-decoration: none;
    font-size: var(--cms-mobile-navigation-font-size, 10px);
    font-weight: var(--cms-mobile-navigation-font-weight, 500);
    line-height: 1.2;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  .cms-mobile-navigation-link[aria-current="page"] {
    background: var(--cms-mobile-navigation-active-background, var(--color-secondary, #F5F2FF));
    color: var(--cms-mobile-navigation-active-color, var(--color-accent, #2C0E82));
  }
  .cms-mobile-navigation-link:focus-visible {
    outline: var(--cms-focus-width, 2px) solid var(--cms-mobile-navigation-active-color, var(--color-accent, currentColor));
    outline-offset: var(--cms-focus-offset, 2px);
  }
  .cms-mobile-navigation-icon { display: flex; align-items: center; justify-content: center; inline-size: 22px; block-size: 22px; flex: 0 0 auto; }
  .cms-mobile-navigation-icon > svg { inline-size: 100%; block-size: 100%; }
  .cms-mobile-navigation-label { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; min-inline-size: 0; max-inline-size: 100%; overflow: hidden; overflow-wrap: anywhere; }
