/* Fala Sportu — Premium Navigation v1.0.0. Only scoped classes; Elementor Free. */
.fsnav {
  --fsnav-shell-bg: #20103d;
  --fsnav-item-bg: #30204f;
  --fsnav-hover-bg: #4a286e;
  --fsnav-active-bg: #e71992;
  --fsnav-feature-border: #ff5aba;
  --fsnav-text: #fff;
  --fsnav-text-hover: #fff;
  --fsnav-text-active: #fff;
  --fsnav-subtitle: #dbd1ed;
  --fsnav-subtitle-hover: #fff;
  --fsnav-subtitle-active: #fff;
  --fsnav-icon: #ff49ab;
  --fsnav-icon-hover: #fff;
  --fsnav-icon-active: #fff;
  --fsnav-grad-a: #ff168e;
  --fsnav-grad-b: #8433d5;
  --fsnav-grad-angle: 115deg;
  --fsnav-duration: 160ms;
  --fsnav-lift: 2px;
  --fsnav-icon-size: 26px;
  --fsnav-icon-gap: 10px;
  --fsnav-gap: 8px;
  --fsnav-cols: 4;
  --fsnav-visible: 4.2;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  max-width: 100%;
  font-family: inherit;
  isolation: isolate;
}
.fsnav *, .fsnav *::before, .fsnav *::after { box-sizing: border-box; }
.fsnav__shell {
  background: var(--fsnav-shell-bg);
  border-radius: 18px;
  padding: 10px;
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 12px 34px rgba(21,9,49,.17);
}
.fsnav__track {
  display: grid;
  grid-template-columns: repeat(var(--fsnav-cols), minmax(0, 1fr));
  gap: var(--fsnav-gap);
  position: relative;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  isolation: isolate;
}
.fsnav__item {
  --fsnav-current-icon: var(--fsnav-custom-icon, var(--fsnav-icon));
  color: var(--fsnav-custom-text, var(--fsnav-text));
  background-color: var(--fsnav-custom-bg, var(--fsnav-item-bg));
  text-decoration: none !important;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: var(--fsnav-icon-gap);
  border: 1px solid var(--fsnav-item-border, rgba(255,255,255,.12));
  border-radius: 12px;
  padding: 13px 15px;
  min-height: 68px;
  min-width: 0;
  max-width: 100%;
  position: relative;
  z-index: 1;
  overflow-wrap: anywhere;
  overflow: hidden;
  cursor: pointer;
  line-height: 1.28;
  transition: background-color var(--fsnav-duration) ease, color var(--fsnav-duration) ease,
     box-shadow var(--fsnav-duration) ease, border-color var(--fsnav-duration) ease,
     transform var(--fsnav-duration) ease;
  -webkit-tap-highlight-color: transparent;
}
.fsnav__item:visited { color: var(--fsnav-custom-text, var(--fsnav-text)); }
.fsnav__item:hover {
  background-color: var(--fsnav-hover-bg);
  color: var(--fsnav-text-hover);
  border-color: var(--fsnav-hover-border, rgba(255,255,255,.28));
  transform: translateY(calc(-1 * var(--fsnav-lift)));
}
.fsnav__item:focus-visible {
  outline: 2px solid var(--fsnav-focus-ring,#fff) !important;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--fsnav-focus-ring, #ff72c2) 45%, transparent);
}
.fsnav__item.is-active,
.fsnav__item.is-active:visited {
  color: var(--fsnav-text-active);
  background-color: var(--fsnav-active-bg);
  border-color: var(--fsnav-active-border, rgba(255,255,255,.26));
}
.fsnav__item.is-active:hover { transform: none; }
.fsnav__item--featured:not(.is-active)::after {
  content: '';
  position: absolute;
  inset: 2px;
  border: 1.5px solid var(--fsnav-feature-border);
  border-radius: inherit;
  pointer-events: none;
  opacity: .95;
}
.fsnav__graphic { display: inline-flex; flex: 0 0 auto; justify-content: center; align-items: center; color: var(--fsnav-current-icon); font-size: var(--fsnav-icon-size); width: max-content; max-width: 100%; }
.fsnav__graphic > i { display: inline-block; line-height: 1; color: inherit !important; font-size: inherit !important; }
.fsnav__graphic > svg { display: block; width: 1em; height: 1em; fill: currentColor !important; color: inherit !important; }
.fsnav__graphic > svg path, .fsnav__graphic > svg circle, .fsnav__graphic > svg rect,
.fsnav__graphic > svg polygon, .fsnav__graphic > svg ellipse { fill: currentColor !important; }
.fsnav__image { display: block; width: var(--fsnav-image-width, 27px); height: var(--fsnav-image-height, 27px); max-width: 100%; object-fit: contain; }
.fsnav__item:hover .fsnav__graphic { --fsnav-current-icon: var(--fsnav-icon-hover); }
.fsnav__item.is-active .fsnav__graphic { --fsnav-current-icon: var(--fsnav-icon-active); }
.fsnav__copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; max-width: 100%; }
.fsnav__title { color: inherit; font-weight: 700; font-size: 13px; letter-spacing: .02em; text-transform: uppercase; line-height: 1.3; }
.fsnav__title-mobile { display: none; }
.fsnav__subtitle { color: var(--fsnav-subtitle); font-size: 11px; line-height: 1.3; font-weight: 400; }
.fsnav__item:hover .fsnav__subtitle { color: var(--fsnav-subtitle-hover); }
.fsnav__item.is-active .fsnav__subtitle { color: var(--fsnav-subtitle-active); }
.fsnav--no-subtitles .fsnav__subtitle { display: none; }
.fsnav--align-left .fsnav__item { justify-content: flex-start; text-align: left; }
.fsnav--stack-desktop .fsnav__item { flex-direction: column; }
.fsnav__glider {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: 12px;
  opacity: 0;
  background: linear-gradient(var(--fsnav-grad-angle), var(--fsnav-grad-a), var(--fsnav-grad-b));
  transition: transform var(--fsnav-duration) linear, width var(--fsnav-duration) linear,
    height var(--fsnav-duration) linear, opacity var(--fsnav-duration) ease;
  will-change: transform;
}
.fsnav--glider-glow .fsnav__glider { box-shadow: 0 5px 18px rgba(224, 34, 159, .26); }
.fsnav[data-effect="gradient"] .fsnav__item.is-active { background: transparent; }
.fsnav[data-effect="gradient"] .fsnav__item.is-active:hover { background: transparent; }
.fsnav[data-effect="gradient"] .fsnav__item.is-active:visited { color: var(--fsnav-text-active); }
.fsnav[data-effect="gradient"] .fsnav__item--featured:not(.is-active)::after { z-index: 2; }
/* Scrolling is nonintrusive on touch; no body horizontal overflow. */
.fsnav--desktop-scroll .fsnav__track {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.fsnav--desktop-scroll .fsnav__track::-webkit-scrollbar { display: none; }
.fsnav--desktop-scroll .fsnav__item { flex: 0 0 calc((100% - (var(--fsnav-visible) - 1) * var(--fsnav-gap)) / var(--fsnav-visible)); scroll-snap-align: center; }
.fsnav__empty { padding: 18px; border: 1px dashed #cebbd8; border-radius: 10px; color: #1b1237; }
/* The cloned fixed nav uses copied Elementor wrapper classes so style controls apply. */
.fsnav-sticky-portal {
  position: fixed !important;
  z-index: 9994;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
  max-width: 100vw;
  box-sizing: border-box;
}
.fsnav-sticky-portal > .elementor-element { width: 100%; max-width: 100%; }
.fsnav-sticky-portal .fsnav { pointer-events: auto; }
.fsnav--sticky-clone .fsnav__shell { box-shadow: 0 13px 32px rgba(20, 10, 40, .27); }
@media (max-width: 1024px) {
  .fsnav { --fsnav-cols: 3; --fsnav-visible: 3.3; }
  .fsnav--tablet-scroll .fsnav__track { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
  .fsnav--tablet-scroll .fsnav__track::-webkit-scrollbar { display: none; }
  .fsnav--tablet-scroll .fsnav__item { flex: 0 0 calc((100% - (var(--fsnav-visible) - 1) * var(--fsnav-gap)) / var(--fsnav-visible)); scroll-snap-align: center; }
  .fsnav--tablet-grid .fsnav__track { display: grid; overflow: visible; grid-template-columns: repeat(var(--fsnav-cols), minmax(0, 1fr)); }
  .fsnav--tablet-grid .fsnav__item { flex: unset; }
}
@media (max-width: 767px) {
  .fsnav { --fsnav-cols: 2; --fsnav-visible: 2.5; }
  .fsnav__shell { padding: 7px; border-radius: 14px; }
  .fsnav__item { min-height: 64px; flex-direction: column; gap: 5px; padding: 9px 7px; }
  .fsnav--inline-mobile .fsnav__item { flex-direction: row; }
  .fsnav__title-desktop { display: none; }
  .fsnav__title-mobile { display: inline; }
  .fsnav__title { font-size: 11px; letter-spacing: 0; text-transform: none; }
  .fsnav__subtitle { display: none; }
  .fsnav--mobile-subtitles:not(.fsnav--no-subtitles) .fsnav__subtitle { display: block; }
  .fsnav--mobile-scroll .fsnav__track { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
  .fsnav--mobile-scroll .fsnav__track::-webkit-scrollbar { display: none; }
  .fsnav--mobile-scroll .fsnav__item { flex: 0 0 calc((100% - (var(--fsnav-visible) - 1) * var(--fsnav-gap)) / var(--fsnav-visible)); scroll-snap-align: center; }
  .fsnav--mobile-grid .fsnav__track { display: grid; overflow: visible; grid-template-columns: repeat(var(--fsnav-cols), minmax(0, 1fr)); }
  .fsnav--mobile-grid .fsnav__item { flex: unset; }
}
@media (prefers-reduced-motion: reduce) {
  .fsnav *, .fsnav *::before, .fsnav *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .fsnav__item:hover { transform: none !important; }
}

/* v1.1 — four selectable phone experiences, smooth sticky styling and full width. */
.fsnav[data-width="viewport"] {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.fsnav--sticky-clone[data-width="viewport"] { width:100%; max-width:100%; margin:0; }
.fsnav__compact-trigger, .fsnav__more-trigger, .fsnav__dock, .fsnav__drawer { display:none; }
.fsnav__compact-trigger, .fsnav__more-trigger, .fsnav__dock-more, .fsnav__drawer-close,
.fsnav__drawer-link, .fsnav__dock-link { -webkit-tap-highlight-color:transparent; }
.fsnav__compact-trigger:focus-visible, .fsnav__more-trigger:focus-visible,
.fsnav__dock-more:focus-visible, .fsnav__drawer-close:focus-visible,
.fsnav__dock-link:focus-visible, .fsnav__drawer-link:focus-visible { outline: 2px solid var(--fsnav-focus-ring,#ff72c2); outline-offset: -3px; }
.fsnav__drawer[hidden] { display:none !important; }
.fsnav__drawer {
  background:var(--fsnav-mobile-panel-bg, #fff);
  color:var(--fsnav-mobile-panel-text, #20103d);
  border-radius:var(--fsnav-panel-radius, 18px);
  box-shadow:0 17px 50px var(--fsnav-mobile-panel-shadow,rgba(21, 10, 42, .26));
  padding:14px;
  z-index:80;
}
.fsnav__drawer-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; font-size:15px; }
.fsnav__drawer-close { background:var(--fsnav-mobile-close-bg,#f2eef6); color:var(--fsnav-mobile-close-text,#20103d); border:0; border-radius:10px; font-size:24px; line-height:1; width:36px; height:36px; cursor:pointer; }
.fsnav__drawer-list { display:grid; gap:6px; overflow:auto; max-height:min(60vh,490px); overscroll-behavior:contain; }
.fsnav__drawer-link { display:flex; align-items:center; gap:12px; padding:12px 10px; text-decoration:none !important;
  border-radius:10px; color:var(--fsnav-mobile-panel-text,#20103d) !important; background:var(--fsnav-mobile-row-bg,#f7f4fa); font-size:13px; font-weight:600; }
.fsnav__drawer-link.is-active, .fsnav__drawer-link:hover { background:var(--fsnav-mobile-panel-active-bg,#fce9f5); }
.fsnav__drawer-link > span:nth-child(2){flex:1;}
.fsnav__drawer-link > span:last-child {color:var(--fsnav-mobile-trigger-icon,#ff49ab);font-size:18px;}
.fsnav__drawer-icon {display:flex; align-items:center; justify-content:center; color:var(--fsnav-mobile-trigger-icon,#ff49ab);font-size:21px;width:27px;height:27px;}
.fsnav__drawer-icon > svg, .fsnav__drawer-icon > i, .fsnav__drawer-icon > img {width:22px;height:22px;object-fit:contain;color:inherit;fill:currentColor;}
.fsnav__compact-trigger {appearance:none; border:0; cursor:pointer; width:100%; gap:11px; align-items:center;
  padding:9px 12px; border-radius:12px; min-height:var(--fsnav-trigger-min-height,54px);
  background:var(--fsnav-mobile-trigger-bg,#20103d); color:var(--fsnav-mobile-trigger-text,#fff); text-align:left; }
.fsnav__trigger-icon { color:var(--fsnav-mobile-trigger-icon,#ff49ab); font-size:19px; }
.fsnav__trigger-copy { display:flex; flex-direction:column; gap:2px; flex:1; min-width:0; }
.fsnav__trigger-eyebrow { font-size:9px; letter-spacing:.095em; opacity:.72; font-weight:650; }
.fsnav__trigger-title { font-size:13px; font-weight:750; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.fsnav__trigger-chevron { font-size:22px; line-height:1; color:var(--fsnav-mobile-trigger-icon,#ff49ab); }
.fsnav__more-trigger { appearance:none; border:0; border-radius:10px; color:var(--fsnav-mobile-more-text,var(--fsnav-text,#fff)); background:var(--fsnav-mobile-more-bg,var(--fsnav-item-bg,#30204f));
  cursor:pointer; flex:0 0 22%; padding:5px 3px; text-align:center; flex-direction:column; align-items:center; justify-content:center;
  gap:3px; font-size:10px; font-weight:650; min-width:0; }
.fsnav__more-trigger span:first-child { color:var(--fsnav-icon,#ff49ab);font-size:21px;line-height:1; }
.fsnav__dock { background:var(--fsnav-mobile-dock-bg,#20103d); color:var(--fsnav-mobile-dock-text,#fff); border-radius:17px; padding:7px;
  gap:5px; box-shadow:0 12px 30px var(--fsnav-mobile-dock-shadow,rgba(17,10,40,.28)); align-items:stretch; }
.fsnav__dock-link, .fsnav__dock-more { min-width:0; flex:1; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:5px; text-align:center; padding:8px 3px; border-radius:12px; background:transparent;
  color:var(--fsnav-mobile-dock-text,#fff) !important; font-size:10px; text-decoration:none !important; border:0;cursor:pointer; }
.fsnav__dock-more { appearance:none; }
.fsnav__dock-link.is-active, .fsnav__dock-more[aria-expanded="true"] { background:var(--fsnav-mobile-dock-active,#e71992); }
.fsnav__dock-icon { display:flex; justify-content:center; align-items:center; height:23px; font-size:21px; color:var(--fsnav-icon,#ff49ab); }
.fsnav__dock-icon > svg, .fsnav__dock-icon > img {width:22px;height:22px;object-fit:contain;fill:currentColor;}
.fsnav__dock-link.is-active .fsnav__dock-icon { color:var(--fsnav-mobile-dock-active-icon,#fff); }
.fsnav__dock-title { font-size:10px;line-height:1.14;overflow-wrap:anywhere;max-width:100%; }
.fsnav__dock-more > span:first-child {font-size:22px;color:var(--fsnav-icon,#ff49ab);line-height:1;}
.fsnav--sticky-clone .fsnav__shell {
  background:var(--fsnav-sticky-shell-bg,var(--fsnav-shell-bg));
  border-radius:var(--fsnav-sticky-shell-radius,18px);
  padding:var(--fsnav-sticky-pad,7px);
  box-shadow:0 9px var(--fsnav-sticky-shadow-blur,22px) var(--fsnav-sticky-shadow-color,rgba(20,10,40,.25));
}
.fsnav--sticky-clone .fsnav__item {
  background-color:var(--fsnav-sticky-item-bg,var(--fsnav-item-bg));
  color:var(--fsnav-sticky-text,var(--fsnav-text));
  border-color:var(--fsnav-sticky-border,rgba(255,255,255,.12));
  padding:var(--fsnav-sticky-item-pad,8px 12px);
  min-height:var(--fsnav-sticky-item-height,52px);
  border-radius:var(--fsnav-sticky-item-radius,10px);
}
.fsnav--sticky-clone .fsnav__item:hover { background-color:var(--fsnav-sticky-hover-bg,var(--fsnav-hover-bg)); }
.fsnav--sticky-clone .fsnav__item.is-active { background-color:var(--fsnav-sticky-active-bg,var(--fsnav-active-bg)); color:var(--fsnav-sticky-text-active,var(--fsnav-text-active)); }
.fsnav--sticky-clone .fsnav__graphic { --fsnav-current-icon:var(--fsnav-sticky-icon,var(--fsnav-icon));font-size:var(--fsnav-sticky-icon-size,var(--fsnav-icon-size)); }
.fsnav--sticky-clone .fsnav__item.is-active .fsnav__graphic { --fsnav-current-icon:var(--fsnav-sticky-icon-active,var(--fsnav-icon-active)); }
.fsnav--sticky-clone .fsnav__title { font-size:var(--fsnav-sticky-title-size,12px); }
.fsnav--sticky-clone .fsnav__subtitle { color:var(--fsnav-sticky-subtitle,var(--fsnav-subtitle));font-size:var(--fsnav-sticky-subtitle-size,10px); }
.fsnav--sticky-clone[data-effect="gradient"] .fsnav__item.is-active {background:transparent;}
.fsnav-sticky-portal {
  visibility:hidden; opacity:0; transform:translate3d(0,-5px,0);
  transition:opacity var(--fsnav-sticky-fade,160ms) ease, transform var(--fsnav-sticky-fade,160ms) ease,visibility 0s linear var(--fsnav-sticky-fade,160ms);
  pointer-events:none; max-width:100vw;
}
.fsnav-sticky-portal.is-visible {visibility:visible; opacity:1; transform:translate3d(0,0,0);
  transition:opacity var(--fsnav-sticky-fade,160ms) ease,transform var(--fsnav-sticky-fade,160ms) ease,visibility 0s;pointer-events:auto;}
.fsnav-sticky-portal:not(.is-visible) .fsnav { pointer-events:none; }
.fsnav-sticky-portal.is-floating-dock {top:auto !important; bottom:var(--fsnav-dock-bottom,12px); left:12px !important;
  width:calc(100vw - 24px) !important;max-width:calc(100vw - 24px);}
.fsnav-sticky-portal.is-floating-dock .fsnav {width:100%;max-width:100%;margin:0;}
.fsnav--sticky-clone .fsnav__dock {min-height:var(--fsnav-dock-min-height,56px);}
@media(max-width:767px) {
  .fsnav--variant-B .fsnav__shell {padding:0; background:transparent;box-shadow:none;}
  .fsnav--variant-B .fsnav__track,.fsnav--variant-B .fsnav__more-trigger { display:none; }
  .fsnav--variant-B .fsnav__compact-trigger { display:flex; }
  .fsnav--variant-C:not(.fsnav--sticky-clone) .fsnav__shell {display:flex;align-items:stretch;gap:5px;}
  .fsnav--variant-C:not(.fsnav--sticky-clone) .fsnav__track {display:flex; flex:1 1 0; overflow:hidden; min-width:0;gap:5px;}
  .fsnav--variant-C:not(.fsnav--sticky-clone) .fsnav__item {flex:1 1 0;min-width:0;padding:7px 3px;}
  .fsnav--variant-C:not(.fsnav--sticky-clone) .fsnav__item:nth-of-type(n+4) {display:none;}
  .fsnav--variant-C:not(.fsnav--sticky-clone) .fsnav__more-trigger {display:flex;}
  .fsnav--variant-C.fsnav--sticky-clone .fsnav__track,.fsnav--variant-C.fsnav--sticky-clone .fsnav__more-trigger {display:none;}
  .fsnav--variant-C.fsnav--sticky-clone .fsnav__shell {padding:0; background:transparent;box-shadow:none;}
  .fsnav--variant-C.fsnav--sticky-clone .fsnav__compact-trigger {display:flex;}
  .fsnav--variant-D.fsnav--js-ready:not(.fsnav--sticky-clone) .fsnav__shell {display:none;}
  .fsnav--variant-D.fsnav--js-ready:not(.fsnav--sticky-clone) .fsnav__dock {display:none;}
  .fsnav--variant-D.fsnav--sticky-clone .fsnav__shell {display:none;}
  .fsnav--variant-D.fsnav--sticky-clone .fsnav__dock {display:flex;}
  .fsnav--variant-D:not(.fsnav--js-ready) .fsnav__shell {display:block;}
  .fsnav--variant-B .fsnav__drawer,.fsnav--variant-C .fsnav__drawer { position:absolute;left:0;right:0;top:calc(100% + 7px); }
  .fsnav--variant-D .fsnav__drawer {position:absolute;left:0;right:0;bottom:calc(100% + 8px);}
  .fsnav-sticky-portal .fsnav__drawer {max-height:70vh;}
  .fsnav--sticky-clone.fsnav--variant-B .fsnav__compact-trigger,
  .fsnav--sticky-clone.fsnav--variant-C .fsnav__compact-trigger {background:var(--fsnav-sticky-shell-bg,var(--fsnav-mobile-trigger-bg,#20103d));}
  .fsnav-sticky-portal.is-floating-dock .fsnav--variant-D .fsnav__drawer {position:absolute;bottom:calc(100% + 8px);}
  .fsnav--variant-B .fsnav__drawer, .fsnav--variant-C .fsnav__drawer,.fsnav--variant-D .fsnav__drawer {display:block;}
  .fsnav--variant-D.fsnav--js-ready:not(.fsnav--sticky-clone) {height:0;}
  .fsnav--variant-D:not(.fsnav--js-ready) .fsnav__dock { display:none; }
}
@media (prefers-reduced-motion:reduce) { .fsnav-sticky-portal {transition:none !important;transform:none !important;} }
/* Ensure separate sticky controls win over Elementor-scoped normal-state controls. */
.fsnav--sticky-clone .fsnav__shell { padding:var(--fsnav-sticky-pad,7px) !important; border-radius:var(--fsnav-sticky-shell-radius,18px) !important; }
.fsnav--sticky-clone .fsnav__item { padding:var(--fsnav-sticky-item-pad,8px 12px) !important; min-height:var(--fsnav-sticky-item-height,52px) !important; border-radius:var(--fsnav-sticky-item-radius,10px) !important; }
.fsnav--sticky-clone .fsnav__title {font-size:var(--fsnav-sticky-title-size,12px) !important;}
.fsnav--sticky-clone .fsnav__subtitle {font-size:var(--fsnav-sticky-subtitle-size,10px) !important;}
.fsnav--dock-inline .fsnav__shell {display:none;}
@media(max-width:767px){
 .fsnav--dock-inline.fsnav--variant-D.fsnav--js-ready:not(.fsnav--sticky-clone) {height:auto;}
 .fsnav--dock-inline.fsnav--variant-D.fsnav--js-ready:not(.fsnav--sticky-clone) .fsnav__dock {display:flex;min-height:var(--fsnav-dock-min-height,56px);}
}
/* No-JS anchors remain usable in all mobile variants. */
@media(max-width:767px){
 .fsnav--variant-B:not(.fsnav--js-ready) .fsnav__compact-trigger {display:none;}
 .fsnav--variant-B:not(.fsnav--js-ready) .fsnav__track {display:flex;overflow-x:auto;scrollbar-width:none;}
 .fsnav--variant-B:not(.fsnav--js-ready) .fsnav__item {flex:0 0 42%;}
 .fsnav--variant-C:not(.fsnav--js-ready) .fsnav__item:nth-of-type(n+4) {display:flex;}
 .fsnav--variant-C:not(.fsnav--js-ready) .fsnav__track {overflow-x:auto;}
 .fsnav--variant-C:not(.fsnav--js-ready) .fsnav__item {flex:0 0 38%;}
 .fsnav--variant-C:not(.fsnav--js-ready) .fsnav__more-trigger {display:none;}
}
.fsnav-sticky-portal.is-floating-dock {bottom:calc(var(--fsnav-dock-bottom,12px) + env(safe-area-inset-bottom,0px));}


/* v1.2 — editable palettes for every mobile mode and sticky copy.
   These are custom properties set by Elementor controls on the widget root. */
.fsnav__trigger-eyebrow { color: var(--fsnav-mobile-trigger-eyebrow, var(--fsnav-mobile-trigger-text, #fff)); opacity:1; }
.fsnav__compact-trigger:hover { background: var(--fsnav-mobile-trigger-hover-bg, var(--fsnav-mobile-trigger-bg,#20103d)); }
.fsnav__more-trigger { background:var(--fsnav-mobile-more-bg,var(--fsnav-item-bg,#30204f)); color:var(--fsnav-mobile-more-text,var(--fsnav-text,#fff)); }
.fsnav__more-trigger > span:first-child { color:var(--fsnav-mobile-more-icon,var(--fsnav-icon,#ff49ab)); }
.fsnav__more-trigger:hover { background:var(--fsnav-mobile-more-hover-bg,var(--fsnav-hover-bg,#4a286e)); color:var(--fsnav-mobile-more-hover-text,var(--fsnav-text-hover,#fff)); }
.fsnav__drawer { background:var(--fsnav-mobile-panel-bg,#fff); color:var(--fsnav-mobile-panel-text,#20103d); }
.fsnav__drawer-head, .fsnav__drawer-head strong { color:inherit; }
.fsnav__drawer-link { background:var(--fsnav-mobile-row-bg,#f7f4fa); color:var(--fsnav-mobile-panel-text,#20103d) !important; }
.fsnav__drawer-link:is(:hover,.is-active) { background:var(--fsnav-mobile-panel-active-bg,#fce9f5); color:var(--fsnav-mobile-row-active-text,var(--fsnav-mobile-panel-text,#20103d)) !important; }
.fsnav__drawer-link .fsnav__drawer-icon,
.fsnav__drawer-link > span:last-child { color:var(--fsnav-mobile-panel-icon,var(--fsnav-mobile-trigger-icon,#ff49ab)); }
.fsnav__drawer-link:is(:hover,.is-active) .fsnav__drawer-icon,
.fsnav__drawer-link:is(:hover,.is-active) > span:last-child { color:var(--fsnav-mobile-panel-active-icon,var(--fsnav-mobile-panel-icon,#ff49ab)); }
.fsnav__drawer-close { background:var(--fsnav-mobile-close-bg,#f2eef6); color:var(--fsnav-mobile-close-text,#20103d); }
.fsnav__dock { background:var(--fsnav-mobile-dock-bg,#20103d); color:var(--fsnav-mobile-dock-text,#fff); }
.fsnav__dock-link, .fsnav__dock-more { color:var(--fsnav-mobile-dock-text,#fff) !important; }
.fsnav__dock-icon, .fsnav__dock-more > span:first-child { color:var(--fsnav-mobile-dock-icon,var(--fsnav-icon,#ff49ab)); }
.fsnav__dock-link:hover, .fsnav__dock-more:hover { background:var(--fsnav-mobile-dock-hover-bg,var(--fsnav-hover-bg,#4a286e)); }
.fsnav__dock-link:is(.is-active,:hover) .fsnav__dock-icon { color:var(--fsnav-mobile-dock-active-icon,#fff); }
.fsnav__dock-link.is-active, .fsnav__dock-more[aria-expanded="true"] { background:var(--fsnav-mobile-dock-active,#e71992); color:var(--fsnav-mobile-dock-active-text,#fff) !important; }
.fsnav__dock-link.is-active .fsnav__dock-title, .fsnav__dock-more[aria-expanded="true"] .fsnav__dock-title { color:var(--fsnav-mobile-dock-active-text,#fff); }
.fsnav__dock-more { color:var(--fsnav-mobile-dock-more-text,var(--fsnav-mobile-dock-text,#fff)) !important; }
.fsnav__dock-more > span:first-child { color:var(--fsnav-mobile-dock-more-icon,var(--fsnav-mobile-dock-icon,#ff49ab)); }
.fsnav__drawer-icon > svg [fill]:not([fill="none"]), .fsnav__dock-icon > svg [fill]:not([fill="none"]) { fill:currentColor !important; }
.fsnav__drawer-icon > svg [stroke]:not([stroke="none"]), .fsnav__dock-icon > svg [stroke]:not([stroke="none"]), .fsnav__graphic > svg [stroke]:not([stroke="none"]) { stroke:currentColor !important; }
.fsnav__drawer-icon > i, .fsnav__dock-icon > i { color:inherit !important; }
.fsnav__item:hover .fsnav__graphic { --fsnav-current-icon:var(--fsnav-icon-hover); }
.fsnav__item.is-active .fsnav__graphic { --fsnav-current-icon:var(--fsnav-icon-active); }

/* Sticky colors override regular colors consistently, including B/C triggers and D dock. */
.fsnav--sticky-clone .fsnav__item:hover { background:var(--fsnav-sticky-hover-bg,var(--fsnav-hover-bg)); color:var(--fsnav-sticky-text-hover,var(--fsnav-text-hover)); }
.fsnav--sticky-clone .fsnav__item.is-active, .fsnav--sticky-clone .fsnav__item.is-active:visited { background:var(--fsnav-sticky-active-bg,var(--fsnav-active-bg)); color:var(--fsnav-sticky-text-active,var(--fsnav-text-active)); }
.fsnav--sticky-clone[data-effect="gradient"] .fsnav__item.is-active { background:transparent; }
.fsnav--sticky-clone .fsnav__item:hover .fsnav__graphic { --fsnav-current-icon:var(--fsnav-sticky-icon-hover,var(--fsnav-icon-hover)); }
.fsnav--sticky-clone .fsnav__item.is-active .fsnav__graphic { --fsnav-current-icon:var(--fsnav-sticky-icon-active,var(--fsnav-icon-active)); }
.fsnav--sticky-clone .fsnav__compact-trigger { background:var(--fsnav-sticky-trigger-bg,var(--fsnav-mobile-trigger-bg,#20103d)); color:var(--fsnav-sticky-trigger-text,var(--fsnav-mobile-trigger-text,#fff)); }
.fsnav--sticky-clone .fsnav__trigger-title { color:inherit; }
.fsnav--sticky-clone .fsnav__trigger-eyebrow { color:var(--fsnav-sticky-trigger-text,var(--fsnav-mobile-trigger-eyebrow,#dbd1ed)); }
.fsnav--sticky-clone .fsnav__trigger-icon, .fsnav--sticky-clone .fsnav__trigger-chevron { color:var(--fsnav-sticky-trigger-icon,var(--fsnav-mobile-trigger-icon,#ff49ab)); }
.fsnav--sticky-clone .fsnav__more-trigger { background:var(--fsnav-sticky-more-bg,var(--fsnav-mobile-more-bg,#30204f)); color:var(--fsnav-sticky-more-text,var(--fsnav-mobile-more-text,#fff)); }
.fsnav--sticky-clone .fsnav__drawer { background:var(--fsnav-sticky-panel-bg,var(--fsnav-mobile-panel-bg,#fff)); color:var(--fsnav-sticky-panel-text,var(--fsnav-mobile-panel-text,#20103d)); }
.fsnav--sticky-clone .fsnav__drawer-link { background:var(--fsnav-sticky-row-bg,var(--fsnav-mobile-row-bg,#f7f4fa)); color:var(--fsnav-sticky-panel-text,var(--fsnav-mobile-panel-text,#20103d)) !important; }
.fsnav--sticky-clone .fsnav__drawer-link:is(.is-active,:hover) { background:var(--fsnav-sticky-row-active-bg,var(--fsnav-mobile-panel-active-bg,#fce9f5)); color:var(--fsnav-sticky-row-active-text,var(--fsnav-mobile-row-active-text,#20103d)) !important; }
.fsnav--sticky-clone .fsnav__drawer-icon, .fsnav--sticky-clone .fsnav__drawer-link > span:last-child { color:var(--fsnav-sticky-panel-icon,var(--fsnav-mobile-panel-icon,#ff49ab)); }
.fsnav--sticky-clone .fsnav__dock { background:var(--fsnav-sticky-dock-bg,var(--fsnav-mobile-dock-bg,#20103d)); color:var(--fsnav-sticky-dock-text,var(--fsnav-mobile-dock-text,#fff)); }
.fsnav--sticky-clone .fsnav__dock-link, .fsnav--sticky-clone .fsnav__dock-more { color:var(--fsnav-sticky-dock-text,var(--fsnav-mobile-dock-text,#fff)) !important; }
.fsnav--sticky-clone .fsnav__dock-icon, .fsnav--sticky-clone .fsnav__dock-more > span:first-child { color:var(--fsnav-sticky-dock-icon,var(--fsnav-mobile-dock-icon,#ff49ab)); }
.fsnav--sticky-clone .fsnav__dock-link.is-active, .fsnav--sticky-clone .fsnav__dock-more[aria-expanded="true"] { background:var(--fsnav-sticky-dock-active-bg,var(--fsnav-mobile-dock-active,#e71992)); color:var(--fsnav-sticky-dock-active-text,var(--fsnav-mobile-dock-active-text,#fff)) !important; }
.fsnav--sticky-clone .fsnav__dock-link.is-active .fsnav__dock-icon { color:var(--fsnav-sticky-dock-active-icon,var(--fsnav-mobile-dock-active-icon,#fff)); }
/* Elementor can place B/C triggers into transparent wrappers on mobile; keep the chosen trigger color visible. */
@media (max-width:767px) {
  .fsnav--variant-B .fsnav__compact-trigger,
  .fsnav--variant-C.fsnav--sticky-clone .fsnav__compact-trigger { background:var(--fsnav-mobile-trigger-bg,#20103d); }
  .fsnav--sticky-clone.fsnav--variant-B .fsnav__compact-trigger,
  .fsnav--sticky-clone.fsnav--variant-C .fsnav__compact-trigger { background:var(--fsnav-sticky-trigger-bg,var(--fsnav-mobile-trigger-bg,#20103d)); }
}

/* v1.3 — E: three chosen shortcuts + More at the original position;
   after leaving the original strip, a separate floating bottom Dock fades in.
   The original strip never moves, preventing jumps in the page layout. */
@media (max-width: 767px) {
  .fsnav--variant-E:not(.fsnav--sticky-clone) .fsnav__shell {
    display:flex;
    align-items:stretch;
    gap:var(--fsnav-gap, 8px);
  }
  .fsnav--variant-E:not(.fsnav--sticky-clone) .fsnav__track {
    display:flex;
    flex:1 1 0;
    overflow:hidden;
    min-width:0;
    gap:var(--fsnav-gap, 8px);
    scroll-snap-type:none;
  }
  .fsnav--variant-E:not(.fsnav--sticky-clone) .fsnav__item { display:none; }
  .fsnav--variant-E:not(.fsnav--sticky-clone) .fsnav__item.fsnav__item--e-shortcut {
    display:flex;
    flex:1 1 0;
    width:auto;
    min-width:0;
    padding:7px 3px;
  }
  .fsnav--variant-E:not(.fsnav--sticky-clone) .fsnav__more-trigger {
    display:flex;
    flex:0 0 24%;
    min-width:0;
  }
  .fsnav--variant-E:not(.fsnav--sticky-clone) .fsnav__dock { display:none; }
  .fsnav--variant-E.fsnav--sticky-clone .fsnav__shell {display:none;}
  .fsnav--variant-E.fsnav--sticky-clone .fsnav__dock {display:flex;}
  .fsnav--variant-E .fsnav__drawer {position:absolute;left:0;right:0;top:calc(100% + 7px);display:block;}
  .fsnav--variant-E.fsnav--sticky-clone .fsnav__drawer {bottom:calc(100% + 8px);top:auto;}
  .fsnav--variant-E .fsnav__more-trigger.is-other-active,
  .fsnav--variant-E .fsnav__dock-more.is-other-active,
  .fsnav--variant-E .fsnav__more-trigger[aria-expanded="true"] {
    background:var(--fsnav-mobile-more-hover-bg,var(--fsnav-mobile-dock-active,var(--fsnav-active-bg)));
    color:var(--fsnav-mobile-more-hover-text,var(--fsnav-text-active)) !important;
  }
  .fsnav--variant-E.fsnav--sticky-clone .fsnav__dock-more.is-other-active {
    background:var(--fsnav-sticky-dock-active-bg,var(--fsnav-mobile-dock-active,var(--fsnav-active-bg)));
    color:var(--fsnav-sticky-dock-active-text,var(--fsnav-mobile-dock-active-text,#fff)) !important;
  }
  .fsnav--variant-E .fsnav__more-glyph,
  .fsnav--variant-E .fsnav__dock-more .fsnav__more-glyph {
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .fsnav--variant-E .fsnav__more-glyph svg,
  .fsnav--variant-E .fsnav__more-glyph i { width:1em;height:1em;fill:currentColor; color:inherit; }
  .fsnav--variant-E .fsnav__more-glyph svg [stroke]:not([stroke="none"]) {stroke:currentColor;}
  .fsnav--variant-E .fsnav__more-glyph svg [fill]:not([fill="none"]) {fill:currentColor;}
  .fsnav--variant-E:not(.fsnav--js-ready) .fsnav__item {display:flex;flex:0 0 37%;}
  .fsnav--variant-E:not(.fsnav--js-ready) .fsnav__more-trigger {display:none;}
  .fsnav--variant-E:not(.fsnav--js-ready) .fsnav__track {overflow-x:auto;}
  .fsnav--variant-E:not(.fsnav--js-ready) .fsnav__glider {display:none;}
}

/* v1.4: E controls, stable one-line labels and a drawer outside Elementor stacking contexts. */
@media (max-width:767px) {
  /* One visual line on every phone. Keep accessible names intact in the markup. */
  .fsnav--variant-E .fsnav__item .fsnav__copy,
  .fsnav--variant-E .fsnav__item .fsnav__title,
  .fsnav--variant-E .fsnav__item .fsnav__title-mobile {
    min-width:0;
    max-width:100%;
    width:100%;
  }
  .fsnav--variant-E .fsnav__title-mobile,
  .fsnav--variant-E .fsnav__dock-title,
  .fsnav--variant-E .fsnav__more-trigger > span:last-child,
  .fsnav--variant-E .fsnav__dock-more > span:last-child {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    overflow-wrap:normal;
    word-break:normal;
    text-overflow:ellipsis;
    max-width:100%;
    line-height:1.4;
  }
  .fsnav--variant-E .fsnav__title {display:block;line-height:1.4;}
  .fsnav--variant-E .fsnav__more-trigger,
  .fsnav--variant-E .fsnav__dock-more,
  .fsnav--variant-E .fsnav__dock-link,
  .fsnav--variant-E .fsnav__item {
    transform:none !important;
    translate:none !important;
  }
  .fsnav--variant-E .fsnav__more-trigger:hover,
  .fsnav--variant-E .fsnav__more-trigger:focus-visible,
  .fsnav--variant-E .fsnav__dock-more:hover,
  .fsnav--variant-E .fsnav__dock-more:focus-visible,
  .fsnav--variant-E .fsnav__drawer-link:hover,
  .fsnav--variant-E .fsnav__drawer-link:focus-visible {
    transform:none !important;
    translate:none !important;
    margin-top:0;
  }
  .fsnav--variant-E:not(.fsnav--sticky-clone) .fsnav__more-trigger { flex:0 0 clamp(60px,22%,85px); }
  .fsnav--variant-E.fsnav--e-scroll:not(.fsnav--sticky-clone) .fsnav__track {
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    touch-action:pan-x;
  }
  .fsnav--variant-E.fsnav--e-scroll:not(.fsnav--sticky-clone) .fsnav__track::-webkit-scrollbar {display:none;}
  .fsnav--variant-E.fsnav--e-scroll:not(.fsnav--sticky-clone) .fsnav__item.fsnav__item--e-shortcut {
    flex:0 0 var(--fsnav-e-tile-width,88px);
    scroll-snap-align:start;
  }
  /* No Elementor/theme hover vertical shift on panel items. */
  .fsnav__drawer-link:is(:hover,:focus-visible) {transform:none !important;translate:none !important;}
}

/* The open panel is teleported to body to escape Elementor overflow, transforms,
   z-index hierarchies and stacking contexts. Fixed backdrop also protects reading. */
.fsnav.fsnav-drawer-portal {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  isolation:isolate;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  margin:0 !important;
  padding:14px 12px max(16px, env(safe-area-inset-bottom)) !important;
  box-sizing:border-box;
  display:flex !important;
  align-items:flex-end;
  justify-content:center;
  background:transparent;
  pointer-events:auto;
  overflow:visible !important;
}
.fsnav-drawer-portal .fsnav__drawer-backdrop {
  position:absolute;
  inset:0;
  background:rgba(20,11,37,.48);
  z-index:0;
}
.fsnav-drawer-portal .fsnav__drawer,
.fsnav-drawer-portal.fsnav--sticky-clone .fsnav__drawer {
  display:block !important;
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  top:auto !important;
  bottom:auto !important;
  right:auto !important;
  width:min(100%,440px) !important;
  max-width:440px !important;
  max-height:min(78dvh,720px);
  margin:0 !important;
  padding:14px;
  overflow:hidden;
  z-index:1;
  box-shadow:0 18px 70px rgba(20,10,40,.3);
}
.fsnav-drawer-portal .fsnav__drawer[hidden] {display:none !important;}
.fsnav-drawer-portal .fsnav__drawer-list {
  max-height:min(62dvh,575px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.fsnav-drawer-portal .fsnav__drawer-link { transform:none !important; translate:none !important; }
.fsnav-drawer-portal .fsnav__drawer-link > span:nth-child(2) { min-width:0; overflow-wrap:break-word; }
@media (min-width:768px) {
  .fsnav.fsnav-drawer-portal {display:none !important;}
}

/* v1.4.1 — interface arrows and mobile glyphs are vector icons, never Unicode emoji. */
.fsnav .fsnav__ui-icon,
.fsnav-sticky-portal .fsnav__ui-icon {
  display:block !important;
  width:1em !important;
  height:1em !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  flex-shrink:0;
  max-width:none;
  pointer-events:none;
}
.fsnav .fsnav__ui-icon path,
.fsnav-sticky-portal .fsnav__ui-icon path { fill:none !important; stroke:currentColor !important; }
.fsnav__trigger-icon, .fsnav__trigger-chevron { display:inline-flex;align-items:center;justify-content:center; }
.fsnav__drawer-arrow { display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1; }
.fsnav__drawer-arrow .fsnav__ui-icon { width:19px !important;height:19px !important; }
.fsnav__drawer-close { display:inline-flex;align-items:center;justify-content:center; }
.fsnav__drawer-close .fsnav__ui-icon { width:20px !important;height:20px !important; }
.fsnav__more-glyph { display:inline-flex;align-items:center;justify-content:center; }
.fsnav__more-glyph .fsnav__ui-icon { width:21px !important;height:21px !important; }


/* v1.4.2 — Variant D / all mobile drawers: separate active-row style
   from keyboard focus. WordPress themes can impose a dotted anchor
   outline; never let it masquerade as the selected-row decoration. */
.fsnav .fsnav__drawer-link:focus,
.fsnav.fsnav-drawer-portal .fsnav__drawer-link:focus,
.fsnav-sticky-portal .fsnav__drawer-link:focus {
  outline: 0 !important;
  outline-style: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}
/* Accessible, tidy focus indication when navigating with a keyboard. */
.fsnav .fsnav__drawer-link:focus-visible,
.fsnav.fsnav-drawer-portal .fsnav__drawer-link:focus-visible,
.fsnav-sticky-portal .fsnav__drawer-link:focus-visible {
  outline: 0 !important;
  box-shadow: inset 0 0 0 2px var(--fsnav-focus-ring, #ed3ba3) !important;
  border-radius: 10px !important;
}
.fsnav .fsnav__drawer-close:focus,
.fsnav.fsnav-drawer-portal .fsnav__drawer-close:focus {
  outline: 0 !important;
  box-shadow: none !important;
}
.fsnav .fsnav__drawer-close:focus-visible,
.fsnav.fsnav-drawer-portal .fsnav__drawer-close:focus-visible {
  outline: 2px solid var(--fsnav-focus-ring, #ed3ba3) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}
