/* One rail contract for public subnavigation; no page-wide overflow clipping. */
.fs-scroll-rail { display: flex; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.fs-scroll-rail::-webkit-scrollbar { display: none; }
.fs-scroll-rail > * { flex: 0 0 auto; }
.public-subnav { --subnav-gutter: max(var(--fs-gutter),calc((100% - var(--fs-container-site))/2)); position: sticky; top: var(--scroll-header-offset,0px); z-index: 20; min-width: 0; width: 100%; max-width: 100%; padding: var(--fs-space-4) 0; background: transparent; transition: top .2s ease; }
.public-subnav > .public-subnav__rail { width: 100%; max-width: none; margin: 0; gap: var(--fs-space-3); padding: .375rem var(--subnav-gutter); scroll-padding-inline: var(--subnav-gutter); touch-action: pan-x pan-y; }
.public-subnav .fs-button { min-height: 44px; max-inline-size: calc(100vw - 2 * var(--fs-gutter)); white-space: normal; overflow-wrap: anywhere; text-align: center; text-decoration: none; }
.public-subnav .fs-button[aria-current="location"] { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.public-subnav .fs-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.public-subnav[data-overflow-end] .public-subnav__rail { mask-image: linear-gradient(to right,#000 calc(100% - 12px),transparent); }
.public-subnav[data-overflow-start] .public-subnav__rail { mask-image: linear-gradient(to right,transparent,#000 12px); }
.public-subnav[data-overflow-start][data-overflow-end] .public-subnav__rail { mask-image: linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent); }

@media(prefers-reduced-motion:reduce){ .public-subnav { transition: none; } }

/* Transparent wrapper; only glass controls receive input. */
.public-subnav { pointer-events:none; }
.public-subnav .public-subnav__rail { pointer-events:none; }
.public-subnav .fs-button--glass { pointer-events:auto; }
.public-subnav.public-subnav .fs-button { padding:.625rem 1rem;line-height:1.4; }
