/* =====================================================
   ANCHOR MENU – PT CLINIC (FINAL, STICKY + ACTIVE)
===================================================== */

:root{
  --pt-sticky-top: 0px;        /* ustawiane w JS */
  --pt-anchor-offset: 120px;   /* ustawiane w JS */
}

/* Sticky wrapper */
.pt-anchor-menu{
  position: sticky;
  top: var(--pt-sticky-top);
  z-index: 60;

  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

/* sticky parent — bez overflow */
.pt-anchor-inner{
  position: relative;
}

/* viewport (mask) */
.pt-anchor-scroll{
  position: relative;
  overflow: hidden;
}

/* =====================================================
   LIST (scroll container)
===================================================== */

.pt-anchor-menu__list{
  display: flex;
  align-items: center;
  gap: 28px;

  padding: 14px 76px 20px;
  margin: 0;
  list-style: none;

  overflow-x: auto;
  overflow-y: hidden;

  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;

  scrollbar-width: none;
}
.pt-anchor-menu__list::-webkit-scrollbar{ display:none; }

/* =====================================================
   LINKS
===================================================== */

.pt-anchor-menu__link{
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  color: #1f2f44;
  text-decoration: none;

  position: relative;
padding: 5px 20px 10px 20px;
  border-radius: 999px;

  transition: background .18s ease, color .18s ease;
}



.pt-anchor-menu__link:hover{
  background: rgba(31,47,68,.06);
}

.pt-anchor-menu__link.is-active{
  color: #000;
  background: rgba(31,47,68,.08);
}

.pt-anchor-menu__link.is-active::after{
  opacity: 1;
  transform: scaleX(1);
}

/* =====================================================
   ARROWS
===================================================== */

.pt-anchor-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  width: 34px;
  height: 34px;

  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;

  font-size: 18px;
  line-height: 1;
  color: #1f2f44;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  z-index: 12;

  transition: opacity .18s ease, transform .18s ease;
}

.pt-anchor-arrow:hover{
  transform: translateY(-50%) scale(1.05);
}

.pt-anchor-arrow.is-left{ left: 10px; }
.pt-anchor-arrow.is-right{ right: 10px; }

.pt-anchor-arrow.is-hidden{
  opacity: 0;
  pointer-events: none;
}

/* =====================================================
   FADES
===================================================== */

.pt-anchor-scroll::before,
.pt-anchor-scroll::after{
  content:"";
  position:absolute;
  top:0;
  height:100%;
  width:72px;
  pointer-events:none;
  z-index: 6;
}

.pt-anchor-scroll::before{
  left:0;
  background: linear-gradient(to right, #fff 0%, rgba(255,255,255,.92) 55%, rgba(255,255,255,0) 100%);
}

.pt-anchor-scroll::after{
  right:0;
  background: linear-gradient(to left, #fff 0%, rgba(255,255,255,.92) 55%, rgba(255,255,255,0) 100%);
}

/* =====================================================
   MOBILE
===================================================== */

@media (max-width:1023px){
  .pt-anchor-menu__list{
    gap: 14px;
    padding: 12px 34px;
  }
  .pt-anchor-menu__link{
font-size: 13px;
    padding: 10px 25px;
    display: block;
    max-width: 300px;
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .pt-anchor-scroll::before,
  .pt-anchor-scroll::after{
    width: 56px;
  }
}
