/* Core widget */
.wc-tp{
  box-sizing:border-box;
  width:100%;
  background:#0f0f0f;
  color:#fff;
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  padding:14px 12px;
  margin:10px 0 14px;
  position:relative;
  z-index:1;
}

/* Title */
.wc-tp__title{
  font-family:var(--wctr-title-font, plaguedoctor, sans-serif);
  font-size:1.25rem;
  line-height:1.2;
  text-align:center;
  color:#16a34a;
  letter-spacing:.5px;
  margin:0 0 10px 0;
}

/* Message */
.wc-tp__topmsg{
  font-weight:700;
  margin-bottom:10px;
  text-align:center;
  font-size:0.95rem;
}

/* Amounts / labels */
.wc-tp__amounts, .wc-tp__labels{
  position:relative;
  margin:10px 0;
  font-weight:700;
  font-size:0.92rem;
}
.wc-tp__amounts{ height:1.4em; }
.wc-tp__labels { height:2.8em; line-height:1.15; }

.wc-tp__amt, .wc-tp__lab{
  position:absolute;
  transform:translateX(-50%);
  text-align:center;
  padding:0 6px;
}
.wc-tp__amt.is-first, .wc-tp__lab.is-first{
  left:0 !important; transform:none !important; text-align:left;
}
.wc-tp__amt.is-last, .wc-tp__lab.is-last{
  transform:translateX(-100%) !important; text-align:right;
}

/* Bar */
.wc-tp__track{
  position:relative;
  height:8px;
  background:#2b2b2b;
  border-radius:999px;
  overflow:hidden;
  margin:4px 0;
}
.wc-tp__fill{
  position:absolute; left:0; top:0;
  height:100%; width:0;
  background:#16a34a;
  border-radius:999px;
  transition:width .35s ease;
}
.wc-tp__cursor{
  position:absolute; top:50%;
  transform:translate(-50%,-50%);
  width:2px; height:24px;
  background:#16a34a;
  border-radius:2px;
  pointer-events:none;
}
.wc-tp__tick{
  position:absolute; top:50%;
  transform:translate(-50%,-50%);
  width:2px; height:16px;
  background:#555;
  border-radius:2px;
  pointer-events:none;
}

/* Glow quand complet */
.wc-tp.is-complete .wc-tp__fill{ box-shadow:0 0 14px rgba(22,163,74,.85); }
.wc-tp.is-complete{ animation:wctrGlow 1.6s ease-in-out infinite alternate; }
@keyframes wctrGlow{ from{ box-shadow:0 0 0 rgba(22,163,74,0); } to{ box-shadow:0 0 22px rgba(22,163,74,.25); } }

/* Small */
@media (max-width:420px){
  .wc-tp__title{ font-size:1.05rem; }
  .wc-tp__amounts{ font-size:0.86rem; }
  .wc-tp__labels { font-size:0.86rem; height:3.1em; }
}
