:root{
  /* trwczech palette */
  --scrollBarFonColor: rgba(59, 19, 71, .22);
  --textColor: #0D140F;
  --borderColor: rgba(59, 19, 71, .18);

  /* акценты под фиолетовый + золото */
  --accent: #3B1347;           /* основной фиолетовый */
  --accentGold: #FFD78C;       /* мягкое золото */
  --accentGold2: #FFEEB8;      /* светлое золото */
  --accentSoft: rgba(244, 209, 255, .90);

  --maxWidthSwiper: 1780px;
}

#toc .swiper{
  padding: 20px !important;
  padding-top: 0 !important;
}

.toc .swiper-slide{ width: fit-content; }

.toc .sectionHead {
  white-space: nowrap;
  text-align: center;
}

.toc{ background-color: transparent; }

/* pills */
.toc a{
  text-decoration: none;
  font-weight: 800;
  font-size: 18px;
  line-height: 27px; /* px-only */
  white-space: nowrap;

  color: rgba(13,20,15,.84);
  transition: color 0.3s ease-in-out, background 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  -webkit-transition: color 0.3s ease-in-out, background 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  -moz-transition: color 0.3s ease-in-out, background 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  -ms-transition: color 0.3s ease-in-out, background 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  -o-transition: color 0.3s ease-in-out, background 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

  border: 1px solid rgba(59, 19, 71, .18);
  padding: 10px 20px;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;

  background:
    radial-gradient(180px 120px at 18% 30%, rgba(255,255,255,.72), rgba(255,255,255,0) 60%),
    rgba(255,255,255,.68);

  box-shadow: 0 10px 22px rgba(13,20,15,.08);
}

/* hover/active/focus — gold glow */
.toc a:active,
.toc a:hover,
.toc a:focus{
  color: var(--accent);
  background:
    radial-gradient(260px 140px at 18% 35%, rgba(255,255,255,.70), rgba(255,255,255,0) 60%),
    linear-gradient(90deg, rgba(255,215,140,.55), rgba(255,238,184,.45));
  border-color: rgba(59, 19, 71, .28);
  box-shadow:
    0 14px 30px rgba(13,20,15,.10),
    0 0 0 3px rgba(255,215,140,.18);
}

/* layout */
.toc .swiper-wrapper{
  padding-top: 10px;
  padding-bottom: 34px;
  justify-content: center;
}

/* scrollbar */
.toc-swiper .swiper-scrollbar{
  background: rgba(59, 19, 71, .14);
  height: 4px;
  border-radius: 2px;
}

.toc-swiper .swiper-scrollbar-drag{
  background: linear-gradient(90deg, rgba(255,215,140,.92), rgba(59,19,71,.78));
  border-radius: 2px;
  width: 20%;
  box-shadow: 0 10px 22px rgba(13,20,15,.10);
}

.toc.wrapper{
  margin: 0 auto;
  padding: 10px;
  padding-right: 0 !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal{
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}

.toc-swiper{
  max-width: var(--maxWidthSwiper);
  padding-left: 20px;
}

/* mobile */
@media screen and (max-width: 750px){
  .swiper-horizontal > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-horizontal{
    width: 90% !important;
    margin: 0 auto;
  }

  .toc .swiper-wrapper{
    padding-top: 10px;
    padding-bottom: 34px;
    justify-content: left;
  }

  .toc h2{
    white-space: nowrap;
    text-align: left;
  }

  .toc a{
    font-size: 16px;
    line-height: 24px;
    padding: 10px 16px;
    border-radius: 18px;
  }
  .toc .sectionHead {
  white-space: nowrap;
  text-align: left;
}
}
