:root{
  --fsmTop: 0px;
  --fsmZ: 20000;
  --fsmBg: var(--fsmBgVar, #fff);
  --fsmAccent: var(--fsmAccentVar, #b08d57);
  --fsmMax: var(--fsmMaxVar, 1290px);
}
#fsm-sentinel{height:1px;}

.fsm{ background:var(--fsmBg); border-bottom:1px solid rgba(0,0,0,.06); }
.fsm.is-fixed{ position:fixed; left:0; right:0; top:var(--fsmTop); z-index:var(--fsmZ);
  box-shadow:0 6px 18px rgba(0,0,0,.08); animation: spFadeInDown .5s; }

.fsm__inner{max-width:var(--fsmMax); margin:0 auto; padding:10px 12px; position:relative;}
.fsm__track{display:flex; gap:10px; overflow:auto; -webkit-overflow-scrolling:touch; scroll-behavior:smooth; scrollbar-width:none; margin:2px 22px;}
.fsm__track::-webkit-scrollbar{display:none;}

.fsm__btn{ flex:0 0 auto; white-space:nowrap; padding:10px 14px; line-height:1;
  border-radius:999px; border:1px dashed rgba(0,0,0,.2); background:#f7f5f0; color:#2a2825; cursor:pointer; user-select:none; transition:.2s; }
.fsm__btn[aria-current="true"]{ border-style:solid; border-color:var(--fsmAccent); background:var(--fsmAccent); color: #fff; }

.fsm__ind-wrap{position:relative; height:0;}
.fsm__ind{ position:absolute; height:38px; margin-top:-44px; border-radius:999px; pointer-events:none;
  border:2px solid var(--fsmAccent); transform:translateX(var(--ix,0px)); width:var(--iw,0px);
  transition:transform .28s ease, width .28s ease; }

.fsm__arrow{ position:absolute; top:50%; transform:translateY(-50%); width:22px; height:28px; padding: 0;
  display:grid; place-items:center; border-radius:10px; background:rgba(0,0,0,.06); border:1px solid rgba(0,0,0,.12);
  cursor:pointer; user-select:none; }
.fsm__arrow:hover{ background:rgba(0,0,0,.1) }
.fsm__arrow--l{ left:8px } .fsm__arrow--r{ right:8px }
.fsm__arrow svg{ width:18px; height:18px; fill:#333 }
.fsm__arrow[disabled]{ opacity:.35; pointer-events:none; }

body.fsm-padding{ padding-top: var(--fsmPadTop, 0px); }
.sppb-section, section[id], [id^="section-"]{ scroll-margin-top: calc(var(--fsmTop) + 12px); }

/* защитимся от перехвата кликов декоративными слоями SPPB */
.sppb-row-overlay,.sppb-column-overlay,.sppb-section-overlay,.sppb-shape-top,.sppb-shape-bottom,
.sppb-section::before,.sppb-section::after{ pointer-events:none!important; }
.sppb-section{ overflow:visible!important; }

@media (min-width: 992px){
  .fsm__btn{ padding:12px 16px; font-weight:500; }
  .fsm__inner{ padding:12px 16px; }
}
@media (max-width: 767px){
  .fsm__btn{ padding:10px 14px; font-weight:500; }
  .fsm__inner{ padding:10px 14px; }
}
