.tsr-topic-cloud{
  --tsr-wine:#751624;
  --tsr-wine-dark:#63111d;
  --tsr-line:rgba(117,22,36,.10);
  --tsr-soft:rgba(255,255,255,.78);
  --tsr-shadow:0 10px 24px rgba(0,0,0,.05), 0 2px 8px rgba(0,0,0,.03);
  --tsr-shadow-hover:0 16px 30px rgba(0,0,0,.08), 0 6px 14px rgba(0,0,0,.05);
  text-align:center;
}

.tsr-topic-cloud-intro{
  max-width:780px;
  margin:0 auto 18px;
  color:#555;
  line-height:1.68;
}

.tsr-topic-cloud-intro p:last-child{
  margin-bottom:0;
}

.tsr-taxonomy-cloud{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-bottom:20px;
}

.tsr-taxonomy-pill{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid var(--tsr-line);
  background:var(--tsr-soft);
  color:var(--tsr-wine-dark);
  box-shadow:var(--tsr-shadow);
  cursor:pointer;
  overflow:hidden;
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease,
    background .24s ease,
    color .24s ease;
}

.tsr-taxonomy-pill::before{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:70%;
  height:100%;
  background:linear-gradient(
    100deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.12) 32%,
    rgba(255,255,255,.35) 50%,
    rgba(255,255,255,.12) 68%,
    rgba(255,255,255,0) 100%
  );
  transform:skewX(-22deg);
  transition:left .7s ease;
  pointer-events:none;
}

.tsr-taxonomy-pill:hover{
  transform:translateY(-2px);
  box-shadow:var(--tsr-shadow-hover);
  border-color:rgba(117,22,36,.18);
}

.tsr-taxonomy-pill:hover::before{
  left:150%;
}

.tsr-taxonomy-pill.active{
  background:linear-gradient(180deg, #8a1a2b 0%, #6f1220 100%);
  color:#fff;
  border-color:transparent;
  box-shadow:
    0 14px 26px rgba(117,22,36,.20),
    0 4px 10px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.tsr-taxonomy-pill.active::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.18) 50%, rgba(255,255,255,0) 100%);
  pointer-events:none;
  animation:tsrShine 2.8s ease-in-out infinite;
}

.tsr-taxonomy-pill__icon{
  font-size:.88rem;
  line-height:1;
  opacity:.95;
}

.tsr-taxonomy-pill__label{
  line-height:1;
  font-weight:600;
  letter-spacing:-.01em;
}

.tsr-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  min-height:22px;
  padding:0 7px;
  border-radius:999px;
  font-size:.76rem;
  line-height:1;
  background:rgba(117,22,36,.08);
  color:inherit;
}

.tsr-taxonomy-pill.active .tsr-count{
  background:rgba(255,255,255,.15);
}

.tsr-taxonomy-pill.is-weight-1{ font-size:.92rem; }
.tsr-taxonomy-pill.is-weight-2{ font-size:.97rem; }
.tsr-taxonomy-pill.is-weight-3{ font-size:1.02rem; }
.tsr-taxonomy-pill.is-weight-4{ font-size:1.08rem; }

.tsr-terms-cloud{
  min-height:24px;
}

.tsr-terms-group{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transform:translateY(8px);
  transition:
    grid-template-rows .34s ease,
    opacity .28s ease,
    transform .28s ease;
  pointer-events:none;
}

.tsr-terms-group__inner{
  overflow:hidden;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  padding-top:4px;
}

.tsr-terms-group.active{
  grid-template-rows:1fr;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.tsr-term-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 15px;
  border-radius:999px;
  border:1px solid rgba(117,22,36,.10);
  background:rgba(255,255,255,.90);
  color:#4b4b4b;
  text-decoration:none;
  line-height:1;
  box-shadow:0 8px 16px rgba(0,0,0,.04);
  transition:
    transform .22s ease,
    background .22s ease,
    color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.tsr-term-pill:hover{
  transform:translateY(-2px);
  background:rgba(117,22,36,.06);
  color:var(--tsr-wine);
  border-color:rgba(117,22,36,.18);
  box-shadow:0 12px 20px rgba(0,0,0,.06);
}
a.tsr-term-pill {
    color: #8E1C2D;
}
.tsr-topic-cloud-empty{
  display:inline-block;
  color:#777;
  padding:8px 0 2px;
}

.tsr-topic-cloud-preview{
  padding:14px 16px;
  border:1px dashed rgba(117,22,36,.18);
  border-radius:14px;
  color:#555;
  background:rgba(255,255,255,.7);
}

@keyframes tsrShine{
  0%, 100%{ opacity:.18; }
  50%{ opacity:.45; }
}

@media (max-width:640px){
  .tsr-taxonomy-cloud,
  .tsr-terms-group__inner{
    gap:10px;
  }

  .tsr-taxonomy-pill{
    min-height:40px;
    padding:9px 14px;
  }

  .tsr-term-pill{
    min-height:38px;
    padding:8px 13px;
  }
}